Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_phys.c
Show First 20 Lines • Show All 1,587 Lines • ▼ Show 20 Lines | vm_phys_avail_split(vm_paddr_t pa, int i) | ||||
phys_avail[i + 1] = pa; | phys_avail[i + 1] = pa; | ||||
phys_avail[i + 2] = pa; | phys_avail[i + 2] = pa; | ||||
vm_phys_avail_check(i); | vm_phys_avail_check(i); | ||||
vm_phys_avail_check(i+2); | vm_phys_avail_check(i+2); | ||||
return (0); | return (0); | ||||
} | } | ||||
/* | |||||
* Check if a given physical address can be included as part of a crash dump. | |||||
*/ | |||||
bool | |||||
vm_phys_is_dumpable(vm_paddr_t pa) | |||||
{ | |||||
vm_page_t m; | |||||
int i; | |||||
if ((m = vm_phys_paddr_to_vm_page(pa)) != NULL) | |||||
return ((m->flags & PG_NODUMP) == 0); | |||||
for (i = 0; dump_avail[i] != 0 || dump_avail[i + 1] != 0; i += 2) { | |||||
if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) | |||||
return (true); | |||||
} | |||||
return (false); | |||||
} | |||||
void | void | ||||
vm_phys_early_add_seg(vm_paddr_t start, vm_paddr_t end) | vm_phys_early_add_seg(vm_paddr_t start, vm_paddr_t end) | ||||
{ | { | ||||
struct vm_phys_seg *seg; | struct vm_phys_seg *seg; | ||||
if (vm_phys_early_nsegs == -1) | if (vm_phys_early_nsegs == -1) | ||||
panic("%s: called after initialization", __func__); | panic("%s: called after initialization", __func__); | ||||
if (vm_phys_early_nsegs == nitems(vm_phys_early_segs)) | if (vm_phys_early_nsegs == nitems(vm_phys_early_segs)) | ||||
▲ Show 20 Lines • Show All 166 Lines • Show Last 20 Lines |