Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_dumpset.h
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
vm_page_dump_add(struct bitset *bitset, vm_paddr_t pa) | vm_page_dump_add(struct bitset *bitset, vm_paddr_t pa) | ||||
{ | { | ||||
vm_pindex_t adj; | vm_pindex_t adj; | ||||
int i; | int i; | ||||
adj = 0; | adj = 0; | ||||
for (i = 0; dump_avail[i + 1] != 0; i += 2) { | for (i = 0; dump_avail[i + 1] != 0; i += 2) { | ||||
if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) { | if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) { | ||||
BIT_SET_ATOMIC(vm_page_dump_pages, | __BIT_SET_ATOMIC(vm_page_dump_pages, | ||||
markj: I think this file doesn't need to use the prefix. | |||||
(pa >> PAGE_SHIFT) - (dump_avail[i] >> PAGE_SHIFT) + | (pa >> PAGE_SHIFT) - (dump_avail[i] >> PAGE_SHIFT) + | ||||
adj, bitset); | adj, bitset); | ||||
return; | return; | ||||
} | } | ||||
adj += howmany(dump_avail[i + 1], PAGE_SIZE) - | adj += howmany(dump_avail[i + 1], PAGE_SIZE) - | ||||
dump_avail[i] / PAGE_SIZE; | dump_avail[i] / PAGE_SIZE; | ||||
} | } | ||||
} | } | ||||
static inline void | static inline void | ||||
vm_page_dump_drop(struct bitset *bitset, vm_paddr_t pa) | vm_page_dump_drop(struct bitset *bitset, vm_paddr_t pa) | ||||
{ | { | ||||
vm_pindex_t adj; | vm_pindex_t adj; | ||||
int i; | int i; | ||||
adj = 0; | adj = 0; | ||||
for (i = 0; dump_avail[i + 1] != 0; i += 2) { | for (i = 0; dump_avail[i + 1] != 0; i += 2) { | ||||
if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) { | if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) { | ||||
BIT_CLR_ATOMIC(vm_page_dump_pages, | __BIT_CLR_ATOMIC(vm_page_dump_pages, | ||||
(pa >> PAGE_SHIFT) - (dump_avail[i] >> PAGE_SHIFT) + | (pa >> PAGE_SHIFT) - (dump_avail[i] >> PAGE_SHIFT) + | ||||
adj, bitset); | adj, bitset); | ||||
return; | return; | ||||
} | } | ||||
adj += howmany(dump_avail[i + 1], PAGE_SIZE) - | adj += howmany(dump_avail[i + 1], PAGE_SIZE) - | ||||
dump_avail[i] / PAGE_SIZE; | dump_avail[i] / PAGE_SIZE; | ||||
} | } | ||||
} | } | ||||
Show All 10 Lines | if (bit < tot) | ||||
return ((vm_paddr_t)bit * PAGE_SIZE + | return ((vm_paddr_t)bit * PAGE_SIZE + | ||||
(dump_avail[i] & ~PAGE_MASK)); | (dump_avail[i] & ~PAGE_MASK)); | ||||
bit -= tot; | bit -= tot; | ||||
} | } | ||||
return ((vm_paddr_t)NULL); | return ((vm_paddr_t)NULL); | ||||
} | } | ||||
#define VM_PAGE_DUMP_FOREACH(bitset, pa) \ | #define VM_PAGE_DUMP_FOREACH(bitset, pa) \ | ||||
for (vm_pindex_t __b = BIT_FFS(vm_page_dump_pages, bitset); \ | for (vm_pindex_t __b = __BIT_FFS(vm_page_dump_pages, bitset); \ | ||||
(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, bitset, __b)) | __b = __BIT_FFS_AT(vm_page_dump_pages, bitset, __b)) | ||||
#endif /* _SYS_DUMPSET_H_ */ | #endif /* _SYS_DUMPSET_H_ */ |
I think this file doesn't need to use the prefix.