Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/amd64/pmap.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 3,029 Lines • ▼ Show 20 Lines | if (pde & PG_PS) { | ||||
((pte & PG_RW) || (prot & VM_PROT_WRITE) == 0)) { | ((pte & PG_RW) || (prot & VM_PROT_WRITE) == 0)) { | ||||
if (vm_page_pa_tryrelock(pmap, pte & PG_FRAME, | if (vm_page_pa_tryrelock(pmap, pte & PG_FRAME, | ||||
&pa)) | &pa)) | ||||
goto retry; | goto retry; | ||||
m = PHYS_TO_VM_PAGE(pa); | m = PHYS_TO_VM_PAGE(pa); | ||||
} | } | ||||
} | } | ||||
if (m != NULL) | if (m != NULL) | ||||
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); | ||||
} | } | ||||
vm_paddr_t | vm_paddr_t | ||||
pmap_kextract(vm_offset_t va) | pmap_kextract(vm_offset_t va) | ||||
▲ Show 20 Lines • Show All 6,903 Lines • Show Last 20 Lines |