Ver Fonte

fix(set_root_page_table): satp::set should take pfn

greatbridf há 7 meses atrás
pai
commit
070dcd8779
1 ficheiros alterados com 1 adições e 3 exclusões
  1. 1 3
      arch/src/riscv64/mod.rs

+ 1 - 3
arch/src/riscv64/mod.rs

@@ -34,9 +34,7 @@ pub fn get_root_page_table_pfn() -> PFN {
 
 #[inline(always)]
 pub fn set_root_page_table_pfn(pfn: PFN) {
-    let ppn = PAddr::from(pfn).addr();
-
-    unsafe { satp::set(satp::Mode::Sv39, 0, ppn) };
+    unsafe { satp::set(satp::Mode::Sv48, 0, usize::from(pfn)) };
     sfence_vma_all();
 }