Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/device_pager.c
Show First 20 Lines • Show All 232 Lines • ▼ Show 20 Lines | cdev_pager_free_page(vm_object_t object, vm_page_t m) | ||||
VM_OBJECT_ASSERT_WLOCKED(object); | VM_OBJECT_ASSERT_WLOCKED(object); | ||||
if (object->type == OBJT_MGTDEVICE) { | if (object->type == OBJT_MGTDEVICE) { | ||||
KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("unmanaged %p", m)); | KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("unmanaged %p", m)); | ||||
pmap_remove_all(m); | pmap_remove_all(m); | ||||
vm_page_lock(m); | vm_page_lock(m); | ||||
(void)vm_page_remove(m); | (void)vm_page_remove(m); | ||||
vm_page_unlock(m); | vm_page_unlock(m); | ||||
vm_page_xunbusy(m); | |||||
} else if (object->type == OBJT_DEVICE) | } else if (object->type == OBJT_DEVICE) | ||||
dev_pager_free_page(object, m); | dev_pager_free_page(object, m); | ||||
} | } | ||||
static void | static void | ||||
dev_pager_free_page(vm_object_t object, vm_page_t m) | dev_pager_free_page(vm_object_t object, vm_page_t m) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 223 Lines • Show Last 20 Lines |