diff options
| author | Ian Moffett <ian@osmora.org> | 2025-11-22 10:25:58 -0500 |
|---|---|---|
| committer | Ian Moffett <ian@osmora.org> | 2025-11-22 10:25:58 -0500 |
| commit | 2b7e409043f82021e1cbadd2c590e937a6e351f8 (patch) | |
| tree | 9900db57c1c1e3874f666e227a5877fcdee7cf83 /sys/arch/amd64 | |
| parent | cd6f82b0e0c5793eae359b1f53f976b7f6f7f87a (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.c | 7 |
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; |
