From 6d621dc4efb7fc8912f90c51aa15855e360d23bc Mon Sep 17 00:00:00 2001 From: Yuke Peng Date: Thu, 20 Jul 2023 23:34:18 -0700 Subject: [PATCH] Fix vaddr to paddr error --- framework/jinux-frame/src/vm/page_table.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/jinux-frame/src/vm/page_table.rs b/framework/jinux-frame/src/vm/page_table.rs index e35ba804b..1eabd8d2b 100644 --- a/framework/jinux-frame/src/vm/page_table.rs +++ b/framework/jinux-frame/src/vm/page_table.rs @@ -266,5 +266,6 @@ pub fn vaddr_to_paddr(vaddr: Vaddr) -> Option { }; let page_directory_base = page_directory_base.start_address().as_u64() as usize; let last_entry = page_table.page_walk(vaddr, false)?; - Some(last_entry.paddr()) + // FIXME: Support huge page + Some(last_entry.paddr() + (vaddr & (PAGE_SIZE - 1))) }