Changeset View
Changeset View
Standalone View
Standalone View
head/sys/sparc64/sparc64/pmap.c
Show First 20 Lines • Show All 1,494 Lines • ▼ Show 20 Lines | pmap_enter_locked(pmap_t pm, vm_offset_t va, vm_page_t m, vm_prot_t prot, | ||||
struct tte *tp; | struct tte *tp; | ||||
vm_paddr_t pa; | vm_paddr_t pa; | ||||
vm_page_t real; | vm_page_t real; | ||||
u_long data; | u_long data; | ||||
boolean_t wired; | boolean_t wired; | ||||
rw_assert(&tte_list_global_lock, RA_WLOCKED); | rw_assert(&tte_list_global_lock, RA_WLOCKED); | ||||
PMAP_LOCK_ASSERT(pm, MA_OWNED); | PMAP_LOCK_ASSERT(pm, MA_OWNED); | ||||
if ((m->oflags & VPO_UNMANAGED) == 0 && !vm_page_xbusied(m)) | if ((m->oflags & VPO_UNMANAGED) == 0) | ||||
VM_OBJECT_ASSERT_LOCKED(m->object); | VM_PAGE_OBJECT_BUSY_ASSERT(m); | ||||
PMAP_STATS_INC(pmap_nenter); | PMAP_STATS_INC(pmap_nenter); | ||||
pa = VM_PAGE_TO_PHYS(m); | pa = VM_PAGE_TO_PHYS(m); | ||||
wired = (flags & PMAP_ENTER_WIRED) != 0; | wired = (flags & PMAP_ENTER_WIRED) != 0; | ||||
/* | /* | ||||
* If this is a fake page from the device_pager, but it covers actual | * If this is a fake page from the device_pager, but it covers actual | ||||
* physical memory, convert to the real backing page. | * physical memory, convert to the real backing page. | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 808 Lines • Show Last 20 Lines |