Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_page.h
Show First 20 Lines • Show All 583 Lines • ▼ Show 20 Lines | |||||
* machine-independent layer. | * machine-independent layer. | ||||
*/ | */ | ||||
#define PS_ALL_DIRTY 0x1 | #define PS_ALL_DIRTY 0x1 | ||||
#define PS_ALL_VALID 0x2 | #define PS_ALL_VALID 0x2 | ||||
#define PS_NONE_BUSY 0x4 | #define PS_NONE_BUSY 0x4 | ||||
extern struct bitset *vm_page_dump; | extern struct bitset *vm_page_dump; | ||||
extern long vm_page_dump_pages; | extern long vm_page_dump_pages; | ||||
extern vm_paddr_t dump_avail[]; | #ifdef PHYS_AVAIL_COUNT | ||||
extern vm_paddr_t dump_avail[PHYS_AVAIL_COUNT]; | |||||
markj: Are there many files that include vm_page.h without vm_param.h? It would be nicer to avoid the… | |||||
static inline void | static inline void | ||||
dump_add_page(vm_paddr_t pa) | dump_add_page(vm_paddr_t pa) | ||||
{ | { | ||||
vm_pindex_t adj; | vm_pindex_t adj; | ||||
int i; | int i; | ||||
adj = 0; | adj = 0; | ||||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | vm_page_dump_index_to_pa(int bit) | ||||
} | } | ||||
return ((vm_paddr_t)NULL); | return ((vm_paddr_t)NULL); | ||||
} | } | ||||
#define VM_PAGE_DUMP_FOREACH(pa) \ | #define VM_PAGE_DUMP_FOREACH(pa) \ | ||||
for (vm_pindex_t __b = BIT_FFS(vm_page_dump_pages, vm_page_dump); \ | for (vm_pindex_t __b = BIT_FFS(vm_page_dump_pages, vm_page_dump); \ | ||||
(pa) = vm_page_dump_index_to_pa(__b - 1), __b != 0; \ | (pa) = vm_page_dump_index_to_pa(__b - 1), __b != 0; \ | ||||
__b = BIT_FFS_AT(vm_page_dump_pages, vm_page_dump, __b)) | __b = BIT_FFS_AT(vm_page_dump_pages, vm_page_dump, __b)) | ||||
#endif | |||||
bool vm_page_busy_acquire(vm_page_t m, int allocflags); | bool vm_page_busy_acquire(vm_page_t m, int allocflags); | ||||
void vm_page_busy_downgrade(vm_page_t m); | void vm_page_busy_downgrade(vm_page_t m); | ||||
int vm_page_busy_tryupgrade(vm_page_t m); | int vm_page_busy_tryupgrade(vm_page_t m); | ||||
void vm_page_busy_sleep(vm_page_t m, const char *msg, bool nonshared); | void vm_page_busy_sleep(vm_page_t m, const char *msg, bool nonshared); | ||||
void vm_page_busy_sleep_unlocked(vm_object_t obj, vm_page_t m, | void vm_page_busy_sleep_unlocked(vm_object_t obj, vm_page_t m, | ||||
vm_pindex_t pindex, const char *wmesg, bool nonshared); | vm_pindex_t pindex, const char *wmesg, bool nonshared); | ||||
void vm_page_free(vm_page_t m); | void vm_page_free(vm_page_t m); | ||||
▲ Show 20 Lines • Show All 404 Lines • Show Last 20 Lines |
Are there many files that include vm_page.h without vm_param.h? It would be nicer to avoid the ifdef if possible.