summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-11-22 10:25:58 -0500
committerIan Moffett <ian@osmora.org>2025-11-22 10:25:58 -0500
commit2b7e409043f82021e1cbadd2c590e937a6e351f8 (patch)
tree9900db57c1c1e3874f666e227a5877fcdee7cf83 /sys/arch/amd64
parentcd6f82b0e0c5793eae359b1f53f976b7f6f7f87a (diff)
kern/amd64: mmu: Fix pagemap level order
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/cpu/mmu.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arch/amd64/cpu/mmu.c b/sys/arch/amd64/cpu/mmu.c
index 2be4b12..910f0e0 100644
--- a/sys/arch/amd64/cpu/mmu.c
+++ b/sys/arch/amd64/cpu/mmu.c
@@ -54,10 +54,10 @@
#define PTE_NX BIT(63) /* Execute-disable */
typedef enum {
- PMAP_PML1,
- PMAP_PML2,
+ PMAP_PML4,
PMAP_PML3,
- PMAP_PML4
+ PMAP_PML2,
+ PMAP_PML1,
} pagelevel_t;
/*
@@ -164,6 +164,7 @@ pmap_get_level(struct mmu_vas *vas, uintptr_t va, bool en_alloc, pagelevel_t lvl
pmap[index] = phys | (PTE_P | PTE_RW | PTE_US);
pmap = (uintptr_t *)tmp;
+ --curlvl;
}
return pmap;