:: commit 030242d69aa3fff4aafc14eec4ddea33a0f00cda

xvanc <xvancm@gmail.com> — 2023-08-02 20:05

parents: b64335f62a

vmm/riscv: fix bug in `vmm_max_paging_mode()`

diff --git a/common/mm/vmm.c b/common/mm/vmm.c
index e02efddc..b46dba2e 100644
--- a/common/mm/vmm.c
+++ b/common/mm/vmm.c
@@ -312,7 +312,7 @@ int vmm_max_paging_mode(void)
         pt_entry_t entry = PT_FLAG_ACCESSED | PT_FLAG_DIRTY | PT_FLAG_RWX | PT_FLAG_VALID;
         for (int i = 0; i < 256; i++) {
             table[i] = entry;
-            entry += page_sizes[lvl];
+            entry += page_sizes[lvl] >> 2;
         }
 
         uint64_t satp = ((uint64_t)(6 + lvl) << 60) | ((uint64_t)table >> 12);
tab: 248 wrap: offon