From 38a08e45f19447717726de4d41bd161f966d29da Mon Sep 17 00:00:00 2001 From: Mitchell Horne Date: Thu, 29 Aug 2024 12:25:52 -0300 Subject: [PATCH] arm64: fix L1 pindex calculation in pmap_growkernel() Use the pmap_l1_pindex() macro which accounts for the NUL2E offset. While here, use pmap_l2_pindex() macro further down (no change). Prompted by pull request and commit 2e33abc35460, making the change for the riscv pmap. --- sys/arm64/arm64/pmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 58795e25c82e..224ecbdc4577 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -2962,7 +2962,7 @@ pmap_growkernel(vm_offset_t addr) VM_ALLOC_NOFREE | VM_ALLOC_WIRED | VM_ALLOC_ZERO); if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); - nkpg->pindex = kernel_vm_end >> L1_SHIFT; + nkpg->pindex = pmap_l1_pindex(kernel_vm_end); /* See the dmb() in _pmap_alloc_l3(). */ dmb(ishst); pmap_store(l1, VM_PAGE_TO_PTE(nkpg) | L1_TABLE); @@ -2982,7 +2982,7 @@ pmap_growkernel(vm_offset_t addr) VM_ALLOC_NOFREE | VM_ALLOC_WIRED | VM_ALLOC_ZERO); if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); - nkpg->pindex = kernel_vm_end >> L2_SHIFT; + nkpg->pindex = pmap_l2_pindex(kernel_vm_end); /* See the dmb() in _pmap_alloc_l3(). */ dmb(ishst); pmap_store(l2, VM_PAGE_TO_PTE(nkpg) | L2_TABLE);