Changeset View
Changeset View
Standalone View
Standalone View
head/sys/powerpc/booke/pmap.c
Show First 20 Lines • Show All 2,272 Lines • ▼ Show 20 Lines | mmu_booke_enter_locked(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_page_t m, | ||||
if (su) { | if (su) { | ||||
KASSERT(((va >= virtual_avail) && | KASSERT(((va >= virtual_avail) && | ||||
(va <= VM_MAX_KERNEL_ADDRESS)), | (va <= VM_MAX_KERNEL_ADDRESS)), | ||||
("mmu_booke_enter_locked: kernel pmap, non kernel va")); | ("mmu_booke_enter_locked: kernel pmap, non kernel va")); | ||||
} else { | } else { | ||||
KASSERT((va <= VM_MAXUSER_ADDRESS), | KASSERT((va <= VM_MAXUSER_ADDRESS), | ||||
("mmu_booke_enter_locked: user pmap, non user va")); | ("mmu_booke_enter_locked: user pmap, non user va")); | ||||
} | } | ||||
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_LOCK_ASSERT(pmap, MA_OWNED); | PMAP_LOCK_ASSERT(pmap, MA_OWNED); | ||||
/* | /* | ||||
* If there is an existing mapping, and the physical address has not | * If there is an existing mapping, and the physical address has not | ||||
* changed, must be protection or wiring change. | * changed, must be protection or wiring change. | ||||
*/ | */ | ||||
if (((pte = pte_find(mmu, pmap, va)) != NULL) && | if (((pte = pte_find(mmu, pmap, va)) != NULL) && | ||||
▲ Show 20 Lines • Show All 2,086 Lines • Show Last 20 Lines |