Changeset View
Changeset View
Standalone View
Standalone View
head/sys/i386/include/pmap_base.h
Show All 28 Lines | |||||
* SUCH DAMAGE. | * SUCH DAMAGE. | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _MACHINE_PMAP_BASE_H_ | #ifndef _MACHINE_PMAP_BASE_H_ | ||||
#define _MACHINE_PMAP_BASE_H_ | #define _MACHINE_PMAP_BASE_H_ | ||||
/* Internal flags for pmap_mapdev_attr(). */ | |||||
#define MAPDEV_SETATTR 0x0000001 /* Modify existing attrs. */ | |||||
struct pmap_methods { | struct pmap_methods { | ||||
void (*pm_ksetrw)(vm_offset_t); | void (*pm_ksetrw)(vm_offset_t); | ||||
void (*pm_remap_lower)(bool); | void (*pm_remap_lower)(bool); | ||||
void (*pm_remap_lowptdi)(bool); | void (*pm_remap_lowptdi)(bool); | ||||
void (*pm_align_superpage)(vm_object_t object, vm_ooffset_t offset, | void (*pm_align_superpage)(vm_object_t object, vm_ooffset_t offset, | ||||
vm_offset_t *addr, vm_size_t size); | vm_offset_t *addr, vm_size_t size); | ||||
vm_offset_t (*pm_quick_enter_page)(vm_page_t m); | vm_offset_t (*pm_quick_enter_page)(vm_page_t m); | ||||
void (*pm_quick_remove_page)(vm_offset_t addr); | void (*pm_quick_remove_page)(vm_offset_t addr); | ||||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | struct pmap_methods { | ||||
int (*pm_page_wired_mappings)(vm_page_t); | int (*pm_page_wired_mappings)(vm_page_t); | ||||
boolean_t (*pm_page_is_mapped)(vm_page_t); | boolean_t (*pm_page_is_mapped)(vm_page_t); | ||||
void (*pm_remove_pages)(pmap_t); | void (*pm_remove_pages)(pmap_t); | ||||
boolean_t (*pm_is_modified)(vm_page_t); | boolean_t (*pm_is_modified)(vm_page_t); | ||||
boolean_t (*pm_is_prefaultable)(pmap_t, vm_offset_t); | boolean_t (*pm_is_prefaultable)(pmap_t, vm_offset_t); | ||||
boolean_t (*pm_is_referenced)(vm_page_t); | boolean_t (*pm_is_referenced)(vm_page_t); | ||||
void (*pm_remove_write)(vm_page_t); | void (*pm_remove_write)(vm_page_t); | ||||
int (*pm_ts_referenced)(vm_page_t); | int (*pm_ts_referenced)(vm_page_t); | ||||
void *(*pm_mapdev_attr)(vm_paddr_t, vm_size_t, int); | void *(*pm_mapdev_attr)(vm_paddr_t, vm_size_t, int, int); | ||||
void (*pm_unmapdev)(vm_offset_t, vm_size_t); | void (*pm_unmapdev)(vm_offset_t, vm_size_t); | ||||
void (*pm_page_set_memattr)(vm_page_t, vm_memattr_t); | void (*pm_page_set_memattr)(vm_page_t, vm_memattr_t); | ||||
vm_paddr_t (*pm_extract)(pmap_t, vm_offset_t); | vm_paddr_t (*pm_extract)(pmap_t, vm_offset_t); | ||||
vm_page_t (*pm_extract_and_hold)(pmap_t, vm_offset_t, vm_prot_t); | vm_page_t (*pm_extract_and_hold)(pmap_t, vm_offset_t, vm_prot_t); | ||||
vm_offset_t (*pm_map)(vm_offset_t *, vm_paddr_t, vm_paddr_t, int); | vm_offset_t (*pm_map)(vm_offset_t *, vm_paddr_t, vm_paddr_t, int); | ||||
void (*pm_qenter)(vm_offset_t sva, vm_page_t *, int); | void (*pm_qenter)(vm_offset_t sva, vm_page_t *, int); | ||||
void (*pm_qremove)(vm_offset_t, int); | void (*pm_qremove)(vm_offset_t, int); | ||||
void (*pm_release)(pmap_t); | void (*pm_release)(pmap_t); | ||||
Show All 20 Lines |