Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_page.h
Show First 20 Lines • Show All 320 Lines • ▼ Show 20 Lines | |||||
#define PGA_WRITEABLE 0x01 /* page may be mapped writeable */ | #define PGA_WRITEABLE 0x01 /* page may be mapped writeable */ | ||||
#define PGA_REFERENCED 0x02 /* page has been referenced */ | #define PGA_REFERENCED 0x02 /* page has been referenced */ | ||||
#define PGA_EXECUTABLE 0x04 /* page may be mapped executable */ | #define PGA_EXECUTABLE 0x04 /* page may be mapped executable */ | ||||
/* | /* | ||||
* Page flags. If changed at any other time than page allocation or | * Page flags. If changed at any other time than page allocation or | ||||
* freeing, the modification must be protected by the vm_page lock. | * freeing, the modification must be protected by the vm_page lock. | ||||
*/ | */ | ||||
#define PG_CACHED 0x0001 /* page is cached */ | |||||
#define PG_FICTITIOUS 0x0004 /* physical page doesn't exist */ | #define PG_FICTITIOUS 0x0004 /* physical page doesn't exist */ | ||||
#define PG_ZERO 0x0008 /* page is zeroed */ | #define PG_ZERO 0x0008 /* page is zeroed */ | ||||
#define PG_MARKER 0x0010 /* special queue marker page */ | #define PG_MARKER 0x0010 /* special queue marker page */ | ||||
#define PG_NODUMP 0x0080 /* don't include this page in a dump */ | #define PG_NODUMP 0x0080 /* don't include this page in a dump */ | ||||
#define PG_UNHOLDFREE 0x0100 /* delayed free of a held page */ | #define PG_UNHOLDFREE 0x0100 /* delayed free of a held page */ | ||||
/* | /* | ||||
* Misc constants. | * Misc constants. | ||||
▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
#define VM_ALLOC_NORMAL 0 | #define VM_ALLOC_NORMAL 0 | ||||
#define VM_ALLOC_INTERRUPT 1 | #define VM_ALLOC_INTERRUPT 1 | ||||
#define VM_ALLOC_SYSTEM 2 | #define VM_ALLOC_SYSTEM 2 | ||||
#define VM_ALLOC_CLASS_MASK 3 | #define VM_ALLOC_CLASS_MASK 3 | ||||
#define VM_ALLOC_WIRED 0x0020 /* (acfg) Allocate non pageable page */ | #define VM_ALLOC_WIRED 0x0020 /* (acfg) Allocate non pageable page */ | ||||
#define VM_ALLOC_ZERO 0x0040 /* (acfg) Try to obtain a zeroed page */ | #define VM_ALLOC_ZERO 0x0040 /* (acfg) Try to obtain a zeroed page */ | ||||
#define VM_ALLOC_NOOBJ 0x0100 /* (acg) No associated object */ | #define VM_ALLOC_NOOBJ 0x0100 /* (acg) No associated object */ | ||||
#define VM_ALLOC_NOBUSY 0x0200 /* (acg) Do not busy the page */ | #define VM_ALLOC_NOBUSY 0x0200 /* (acg) Do not busy the page */ | ||||
#define VM_ALLOC_IFCACHED 0x0400 /* (ag) Fail if page is not cached */ | |||||
#define VM_ALLOC_IFNOTCACHED 0x0800 /* (ag) Fail if page is cached */ | |||||
#define VM_ALLOC_IGN_SBUSY 0x1000 /* (g) Ignore shared busy flag */ | #define VM_ALLOC_IGN_SBUSY 0x1000 /* (g) Ignore shared busy flag */ | ||||
#define VM_ALLOC_NODUMP 0x2000 /* (ag) don't include in dump */ | #define VM_ALLOC_NODUMP 0x2000 /* (ag) don't include in dump */ | ||||
#define VM_ALLOC_SBUSY 0x4000 /* (acg) Shared busy the page */ | #define VM_ALLOC_SBUSY 0x4000 /* (acg) Shared busy the page */ | ||||
#define VM_ALLOC_NOWAIT 0x8000 /* (g) Do not sleep, return NULL */ | #define VM_ALLOC_NOWAIT 0x8000 /* (g) Do not sleep, return NULL */ | ||||
#define VM_ALLOC_COUNT_SHIFT 16 | #define VM_ALLOC_COUNT_SHIFT 16 | ||||
#define VM_ALLOC_COUNT(count) ((count) << VM_ALLOC_COUNT_SHIFT) | #define VM_ALLOC_COUNT(count) ((count) << VM_ALLOC_COUNT_SHIFT) | ||||
#ifdef M_NOWAIT | #ifdef M_NOWAIT | ||||
Show All 26 Lines | |||||
void vm_page_activate (vm_page_t); | void vm_page_activate (vm_page_t); | ||||
void vm_page_advise(vm_page_t m, int advice); | void vm_page_advise(vm_page_t m, int advice); | ||||
vm_page_t vm_page_alloc (vm_object_t, vm_pindex_t, int); | vm_page_t vm_page_alloc (vm_object_t, vm_pindex_t, int); | ||||
vm_page_t vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req, | vm_page_t vm_page_alloc_contig(vm_object_t object, vm_pindex_t pindex, int req, | ||||
u_long npages, vm_paddr_t low, vm_paddr_t high, u_long alignment, | u_long npages, vm_paddr_t low, vm_paddr_t high, u_long alignment, | ||||
vm_paddr_t boundary, vm_memattr_t memattr); | vm_paddr_t boundary, vm_memattr_t memattr); | ||||
vm_page_t vm_page_alloc_freelist(int, int); | vm_page_t vm_page_alloc_freelist(int, int); | ||||
vm_page_t vm_page_grab (vm_object_t, vm_pindex_t, int); | vm_page_t vm_page_grab (vm_object_t, vm_pindex_t, int); | ||||
void vm_page_cache_free(vm_object_t, vm_pindex_t, vm_pindex_t); | |||||
void vm_page_cache_transfer(vm_object_t, vm_pindex_t, vm_object_t); | |||||
int vm_page_try_to_free (vm_page_t); | int vm_page_try_to_free (vm_page_t); | ||||
void vm_page_deactivate (vm_page_t); | void vm_page_deactivate (vm_page_t); | ||||
void vm_page_deactivate_noreuse(vm_page_t); | void vm_page_deactivate_noreuse(vm_page_t); | ||||
void vm_page_dequeue(vm_page_t m); | void vm_page_dequeue(vm_page_t m); | ||||
void vm_page_dequeue_locked(vm_page_t m); | void vm_page_dequeue_locked(vm_page_t m); | ||||
vm_page_t vm_page_find_least(vm_object_t, vm_pindex_t); | vm_page_t vm_page_find_least(vm_object_t, vm_pindex_t); | ||||
vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr); | vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr); | ||||
void vm_page_initfake(vm_page_t m, vm_paddr_t paddr, vm_memattr_t memattr); | void vm_page_initfake(vm_page_t m, vm_paddr_t paddr, vm_memattr_t memattr); | ||||
int vm_page_insert (vm_page_t, vm_object_t, vm_pindex_t); | int vm_page_insert (vm_page_t, vm_object_t, vm_pindex_t); | ||||
boolean_t vm_page_is_cached(vm_object_t object, vm_pindex_t pindex); | |||||
void vm_page_launder(vm_page_t m); | void vm_page_launder(vm_page_t m); | ||||
vm_page_t vm_page_lookup (vm_object_t, vm_pindex_t); | vm_page_t vm_page_lookup (vm_object_t, vm_pindex_t); | ||||
vm_page_t vm_page_next(vm_page_t m); | vm_page_t vm_page_next(vm_page_t m); | ||||
int vm_page_pa_tryrelock(pmap_t, vm_paddr_t, vm_paddr_t *); | int vm_page_pa_tryrelock(pmap_t, vm_paddr_t, vm_paddr_t *); | ||||
struct vm_pagequeue *vm_page_pagequeue(vm_page_t m); | struct vm_pagequeue *vm_page_pagequeue(vm_page_t m); | ||||
vm_page_t vm_page_prev(vm_page_t m); | vm_page_t vm_page_prev(vm_page_t m); | ||||
boolean_t vm_page_ps_is_valid(vm_page_t m); | boolean_t vm_page_ps_is_valid(vm_page_t m); | ||||
void vm_page_putfake(vm_page_t m); | void vm_page_putfake(vm_page_t m); | ||||
▲ Show 20 Lines • Show All 248 Lines • Show Last 20 Lines |