PTE_A
#define PTE_HARDWIRED (PTE_A | PTE_D)
return (pte & PTE_A) != 0;
return pte & ~PTE_A;
pte |= PTE_A | PTE_D;
pte |= PTE_A;
(pte & PTE_A) ? 'A' : '.',
if ((npte & (PTE_R | PTE_A)) == PTE_R) {
npte |= PTE_A;
npte |= PTE_A | PTE_D;
npte |= PTE_A | PTE_D;
if ((npte & (PTE_X | PTE_A)) == PTE_X) {
npte |= PTE_A;
if ((opte & (PTE_P | PTE_A)) == (PTE_P | PTE_A)) {
if ((opte & (PTE_P | PTE_A)) == (PTE_P | PTE_A) && !localonly) {
L4_BASE[L4e_idx+i] = pa | pteflags | PTE_A;
L3_BASE[L3e_idx+i] = pa | pteflags | PTE_A;
L2_BASE[L2e_idx+i] = pa | pteflags | PTE_A;
L4_BASE[L4e_idx+i] = pa | pteflags | PTE_A;
L3_BASE[L3e_idx+i] = pa | pteflags | PTE_A;
L2_BASE[L2e_idx+i] = pa | holepteflags | PTE_A |
L2_BASE[L2e_idx+i] = pa | pteflags | PTE_A |
const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx | PTE_D | PTE_A;
const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx | PTE_A;
const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx | PTE_A | PTE_D;
const pd_entry_t pteflags = PTE_P | pmap_pg_nx | PTE_A | PTE_D;
opte |= PTE_A;
if ((opte & PTE_A) != 0) {
KASSERT((opte & (PTE_D | PTE_A)) != PTE_D);
KASSERT((opte & (PTE_A | PTE_P)) != PTE_A);
need_shootdown = (opte & PTE_A) != 0 &&
npte &= ~(PTE_A | PTE_D);
KASSERT((npte & (PTE_D | PTE_A)) != PTE_D);
KASSERT((npte & (PTE_A | PTE_P)) != PTE_A);
npte |= PTE_A;
npte |= opte & (PTE_A | PTE_D);
if ((~opte & (PTE_P | PTE_A)) == 0 &&
if (pte & PTE_A)
pte |= PTE_A;