L3_PAGE
_Static_assert(L3_PAGE == AARCH64_L3_PAGE, "L3_PAGE mismatch");
ATTR_S1_nG | L3_PAGE;
if ((l3e & ATTR_DESCR_MASK) != L3_PAGE)
pmap_sh_attr | L3_PAGE;
ATTR_AF | pmap_sh_attr | L3_PAGE;
ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | contig | L3_PAGE);
KASSERT((tpte & ATTR_DESCR_MASK) == L3_PAGE,
KASSERT((lvl == 3 && (tpte & ATTR_DESCR_MASK) == L3_PAGE) ||
L3_PAGE);
ATTR_KERN_GP | ATTR_S1_IDX(m->md.pv_memattr) | L3_PAGE;
((newl2 & ATTR_DESCR_MASK) != L3_PAGE)) { /* ... or is invalid */
(firstl3c & ATTR_DESCR_MASK) != L3_PAGE) { /* ...or is invalid. */
L3_PAGE);
new_l3 &= ~L3_PAGE;
new_l3 &= ~L3_PAGE;
rv = pmap_enter_l2(pmap, va, (new_l3 & ~L3_PAGE) | L2_BLOCK,
ATTR_CONTIGUOUS | L3_PAGE;
ATTR_S1_IDX(m->md.pv_memattr) | ATTR_S1_AP(ATTR_S1_AP_RO) | L3_PAGE;
L3_PAGE,
if ((pmap_load(l3) & ATTR_DESCR_MASK) != L3_PAGE)
value |= ATTR_AF | L3_PAGE;
if (desc == L3_PAGE && level == 3)
(ATTR_SW_MANAGED | L3_PAGE))
return ((l3 & ATTR_DESCR_MASK) == L3_PAGE);
newl3 = ATTR_CONTIGUOUS | (oldl2 & ~ATTR_DESCR_MASK) | L3_PAGE;
pmap_store(l3, VM_PAGE_TO_PTE(m) | PMAP_SAN_PTE_BITS | L3_PAGE);
if ((pte & ATTR_DESCR_MASK) == L3_PAGE)
l3e = ATTR_AF | ATTR_SH(ATTR_SH_IS) | L3_PAGE;