PTE_PROT
PTE_PROT(TLB_GATE_PROT));
if ((pte & PTE_PROT(TLB_DIRTY)) == 0)
if (wired && !(pte & PTE_PROT(TLB_WIRED)))
else if (!wired && (pte & PTE_PROT(TLB_WIRED)))
pte = PTE_PROT(TLB_REFTRAP);
pte |= PTE_PROT(pmap_prot(pmap, prot));
pte = pa | PTE_PROT(pmap_prot(pmap, prot)) |
(pte & PTE_PROT(TLB_UNCACHEABLE|TLB_DIRTY|TLB_REFTRAP));
if ((pte & PTE_PROT(TLB_EXECUTE)) != 0 &&
pte |= PTE_PROT(TLB_UNCACHEABLE);
pte |= PTE_PROT(TLB_WIRED);
if (pte & PTE_PROT(TLB_WIRED))
pteprot = PTE_PROT(pmap_prot(pmap, prot));
if ((pte & PTE_PROT(TLB_AR_MASK)) == pteprot)
pte &= ~PTE_PROT(TLB_AR_MASK);
if (pte & PTE_PROT(TLB_WIRED))
if (pte & PTE_PROT(TLB_WIRED)) {
pte &= ~PTE_PROT(TLB_WIRED);
pte = pa | PTE_PROT(TLB_WIRED | TLB_REFTRAP |
pte |= PTE_PROT(TLB_UNCACHEABLE);
if (pte & PTE_PROT(TLB_EXECUTE)) {
((pte | ppte) & PTE_PROT(TLB_WRITE)) != 0;
if (ppte & PTE_PROT(TLB_WIRED))
(pte & PTE_PROT(TLB_WRITE))) {
#define pmap_clear_modify(pg) pmap_changebit(pg, 0, PTE_PROT(TLB_DIRTY))
pmap_changebit(pg, PTE_PROT(TLB_REFTRAP), 0)
#define pmap_is_modified(pg) pmap_testbit(pg, PTE_PROT(TLB_DIRTY))
#define pmap_is_referenced(pg) pmap_testbit(pg, PTE_PROT(TLB_REFTRAP))
pmap_changebit(pg, 0, PTE_PROT(TLB_WRITE));
#define PVF_MOD PTE_PROT(TLB_DIRTY) /* pg/mp is modified */
#define PVF_REF PTE_PROT(TLB_REFTRAP) /* pg/mp (inv) is referenced */
#define PVF_WRITE PTE_PROT(TLB_WRITE) /* pg/mp is writable */
#define PVF_EXEC PTE_PROT(TLB_EXECUTE) /* pg/mp is executable */
#define PVF_UNCACHEABLE PTE_PROT(TLB_UNCACHEABLE) /* pg/mp is uncacheable */