Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_pager.h
Show First 20 Lines • Show All 170 Lines • ▼ Show 20 Lines | vm_pager_page_unswapped(vm_page_t m) | ||||
VM_OBJECT_ASSERT_LOCKED(m->object); | VM_OBJECT_ASSERT_LOCKED(m->object); | ||||
if (pagertab[m->object->type]->pgo_pageunswapped) | if (pagertab[m->object->type]->pgo_pageunswapped) | ||||
(*pagertab[m->object->type]->pgo_pageunswapped)(m); | (*pagertab[m->object->type]->pgo_pageunswapped)(m); | ||||
} | } | ||||
struct cdev_pager_ops { | struct cdev_pager_ops { | ||||
int (*cdev_pg_fault)(vm_object_t vm_obj, vm_ooffset_t offset, | int (*cdev_pg_fault)(vm_object_t vm_obj, vm_ooffset_t offset, | ||||
int prot, vm_page_t *mres); | int prot, vm_page_t *mres, int count, int *rahead); | ||||
int (*cdev_pg_ctor)(void *handle, vm_ooffset_t size, vm_prot_t prot, | int (*cdev_pg_ctor)(void *handle, vm_ooffset_t size, vm_prot_t prot, | ||||
vm_ooffset_t foff, struct ucred *cred, u_short *color); | vm_ooffset_t foff, struct ucred *cred, u_short *color); | ||||
void (*cdev_pg_dtor)(void *handle); | void (*cdev_pg_dtor)(void *handle); | ||||
}; | }; | ||||
vm_object_t cdev_pager_allocate(void *handle, enum obj_type tp, | vm_object_t cdev_pager_allocate(void *handle, enum obj_type tp, | ||||
struct cdev_pager_ops *ops, vm_ooffset_t size, vm_prot_t prot, | struct cdev_pager_ops *ops, vm_ooffset_t size, vm_prot_t prot, | ||||
vm_ooffset_t foff, struct ucred *cred); | vm_ooffset_t foff, struct ucred *cred); | ||||
vm_object_t cdev_pager_lookup(void *handle); | vm_object_t cdev_pager_lookup(void *handle); | ||||
void cdev_pager_free_page(vm_object_t object, vm_page_t m); | void cdev_pager_free_page(vm_object_t object, vm_page_t m); | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#endif /* _VM_PAGER_ */ | #endif /* _VM_PAGER_ */ |