Changeset View
Changeset View
Standalone View
Standalone View
sys/powerpc/booke/pmap.c
Show First 20 Lines • Show All 2,945 Lines • ▼ Show 20 Lines | if (pmap == kernel_pmap) | ||||
pte_wbit = PTE_SW; | pte_wbit = PTE_SW; | ||||
else | else | ||||
pte_wbit = PTE_UW; | pte_wbit = PTE_UW; | ||||
if ((*pte & pte_wbit) || ((prot & VM_PROT_WRITE) == 0)) { | if ((*pte & pte_wbit) || ((prot & VM_PROT_WRITE) == 0)) { | ||||
if (vm_page_pa_tryrelock(pmap, PTE_PA(pte), &pa)) | if (vm_page_pa_tryrelock(pmap, PTE_PA(pte), &pa)) | ||||
goto retry; | goto retry; | ||||
m = PHYS_TO_VM_PAGE(PTE_PA(pte)); | m = PHYS_TO_VM_PAGE(PTE_PA(pte)); | ||||
vm_page_hold(m); | vm_page_wire(m); | ||||
} | } | ||||
} | } | ||||
PA_UNLOCK_COND(pa); | PA_UNLOCK_COND(pa); | ||||
PMAP_UNLOCK(pmap); | PMAP_UNLOCK(pmap); | ||||
return (m); | return (m); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,562 Lines • Show Last 20 Lines |