PTE_A
_Static_assert(PTE_A == RISCV_PTE_A, "PTE_A mismatch");
#define PTE_KERN (PTE_V | PTE_R | PTE_W | PTE_A | PTE_D)
if ((oldl2 & PTE_A) != 0)
if (old_l3 & PTE_A)
if ((l3e & PTE_A) != 0)
bits = PTE_A;
KASSERT((oldl1 & PTE_A) != 0,
if ((oldl2 & PTE_A) == 0 || (mpte = pmap_remove_pt_page(pmap, va)) ==
if ((oldl2 & PTE_A) == 0 || (mpte = vm_page_alloc_noobj(
KASSERT((oldl2 & PTE_A) != 0,
all_l3e_PTE_A = firstl3e & PTE_A;
firstl3e &= ~PTE_A | all_l3e_PTE_A;
new_l3 = PTE_V | PTE_R | PTE_A;
if ((orig_l3 & PTE_A) != 0)
mask |= PTE_A;
if ((l2e & PTE_A) != 0) {
pmap_clear_bits(l2, PTE_A);
if ((l3e & PTE_A) != 0) {
pmap_clear_bits(l3, PTE_A);
if ((tpte & PTE_A) != 0)