Prechádzať zdrojové kódy

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

greatbridf 7 mesiacov pred
rodič
commit
070dcd8779
1 zmenil súbory, kde vykonal 1 pridanie a 3 odobranie
  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();
 }