Index: sys/arm64/arm64/pmap.c =================================================================== --- sys/arm64/arm64/pmap.c +++ sys/arm64/arm64/pmap.c @@ -557,14 +557,17 @@ static __inline pt_entry_t * pmap_pte(pmap_t pmap, vm_offset_t va, int *level) { - pd_entry_t *l1, *l2, desc; + pd_entry_t *l0, *l1, *l2, desc; pt_entry_t *l3; - l1 = pmap_l1(pmap, va); - if (l1 == NULL) { + l0 = pmap_l0(pmap, va); + desc = pmap_load(l0) & ATTR_DESCR_MASK; + if (desc != L0_TABLE) { *level = 0; return (NULL); } + + l1 = pmap_l0_to_l1(l0, va); desc = pmap_load(l1) & ATTR_DESCR_MASK; if (desc == L1_BLOCK) { *level = 1;