version 1.85, 1997/07/06 12:22:39 |
version 1.86, 1997/07/06 12:29:54 |
Line 1986 pv_changepte4_4c(pv0, bis, bic) |
|
Line 1986 pv_changepte4_4c(pv0, bis, bic) |
|
tpte = getpte4(va); |
tpte = getpte4(va); |
} |
} |
if (tpte & PG_V) |
if (tpte & PG_V) |
flags |= (tpte >> PG_M_SHIFT) & (PV_MOD|PV_REF); |
flags |= MR4_4C(tpte); |
tpte = (tpte | bis) & ~bic; |
tpte = (tpte | bis) & ~bic; |
setpte4(va, tpte); |
setpte4(va, tpte); |
if (pte != NULL) /* update software copy */ |
if (pte != NULL) /* update software copy */ |
Line 2054 pv_syncflags4_4c(pv0) |
|
Line 2054 pv_syncflags4_4c(pv0) |
|
tpte = getpte4(va); |
tpte = getpte4(va); |
} |
} |
if (tpte & (PG_M|PG_U) && tpte & PG_V) { |
if (tpte & (PG_M|PG_U) && tpte & PG_V) { |
flags |= (tpte >> PG_M_SHIFT) & |
flags |= MR4_4C(tpte); |
(PV_MOD|PV_REF); |
|
tpte &= ~(PG_M|PG_U); |
tpte &= ~(PG_M|PG_U); |
setpte4(va, tpte); |
setpte4(va, tpte); |
} |
} |
Line 2100 pv_unlink4_4c(pv, pm, va) |
|
Line 2099 pv_unlink4_4c(pv, pm, va) |
|
pv->pv_pmap = npv->pv_pmap; |
pv->pv_pmap = npv->pv_pmap; |
pv->pv_va = npv->pv_va; |
pv->pv_va = npv->pv_va; |
FREE(npv, M_VMPVENT); |
FREE(npv, M_VMPVENT); |
} else |
} else { |
pv->pv_pmap = NULL; |
pv->pv_pmap = NULL; |
|
pv->pv_flags &= ~PV_NC; |
|
return; |
|
} |
} else { |
} else { |
register struct pvlist *prev; |
register struct pvlist *prev; |
|
|
Line 2373 pv_unlink4m(pv, pm, va) |
|
Line 2375 pv_unlink4m(pv, pm, va) |
|
pv->pv_pmap = npv->pv_pmap; |
pv->pv_pmap = npv->pv_pmap; |
pv->pv_va = npv->pv_va; |
pv->pv_va = npv->pv_va; |
FREE(npv, M_VMPVENT); |
FREE(npv, M_VMPVENT); |
} else |
} else { |
pv->pv_pmap = NULL; |
pv->pv_pmap = NULL; |
|
pv->pv_flags |= PV_C4M; |
|
return; |
|
} |
} else { |
} else { |
register struct pvlist *prev; |
register struct pvlist *prev; |
|
|
Line 4727 pmap_page_protect4m(pa, prot) |
|
Line 4732 pmap_page_protect4m(pa, prot) |
|
free(rp->rg_segmap, M_VMPMAP); |
free(rp->rg_segmap, M_VMPMAP); |
rp->rg_segmap = NULL; |
rp->rg_segmap = NULL; |
free(rp->rg_seg_ptps, M_VMPMAP); |
free(rp->rg_seg_ptps, M_VMPMAP); |
setpgt4m(&pm->pm_reg_ptps[vr], |
setpgt4m(&pm->pm_reg_ptps[vr], SRMMU_TEINVALID); |
SRMMU_TEINVALID); |
|
} |
} |
} |
} |
|
|