PTE_D
#define PTE_HARDWIRED (PTE_A | PTE_D)
return (pte & PTE_D) != 0;
return pte & ~PTE_D;
pte |= PTE_A | PTE_D;
(pte & PTE_D) ? 'D' : '.',
if ((npte & (PTE_W | PTE_D)) == PTE_W) {
npte |= PTE_A | PTE_D;
if ((npte & PTE_D) == 0) {
npte |= PTE_A | PTE_D;
pte = L2_BASE[pl2_i(va)] & ~PTE_D;
pte = L1_BASE[pl1_i(va)] & ~PTE_D;
npte &= ~(PTE_W|PTE_D);
const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx | PTE_D | PTE_A;
pmap_pte_set(dstpte, pmap_pa2pte(dstpa) | pteflags | PTE_D);
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;
KASSERT((opte & (PTE_D | PTE_A)) != PTE_D);
!(clearbits == PTE_W && (opte & PTE_D) == 0);
npte &= ~(PTE_A | PTE_D);
KASSERT((npte & (PTE_D | PTE_A)) != PTE_D);
if ((opte & PTE_D) != 0) {
npte |= PTE_D;
npte |= opte & (PTE_A | PTE_D);
if (pte & PTE_D)
pte |= PTE_D;
if (!is_flag(pde, PTE_W) && is_flag(pde, PTE_D)) {