Changeset View
Changeset View
Standalone View
Standalone View
sys/vm/vm_page.c
Show First 20 Lines • Show All 629 Lines • ▼ Show 20 Lines | #ifdef WITNESS | ||||
new_end -= witness_size; | new_end -= witness_size; | ||||
mapped = pmap_map(&vaddr, new_end, new_end + witness_size, | mapped = pmap_map(&vaddr, new_end, new_end + witness_size, | ||||
VM_PROT_READ | VM_PROT_WRITE); | VM_PROT_READ | VM_PROT_WRITE); | ||||
bzero((void *)mapped, witness_size); | bzero((void *)mapped, witness_size); | ||||
witness_startup((void *)mapped); | witness_startup((void *)mapped); | ||||
#endif | #endif | ||||
#if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ | #if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ | ||||
defined(__i386__) || defined(__mips__) || defined(__riscv) | defined(__i386__) || defined(__mips__) || defined(__riscv) || \ | ||||
defined(__powerpc64__) | |||||
/* | /* | ||||
* Allocate a bitmap to indicate that a random physical page | * Allocate a bitmap to indicate that a random physical page | ||||
* needs to be included in a minidump. | * needs to be included in a minidump. | ||||
* | * | ||||
* The amd64 port needs this to indicate which direct map pages | * The amd64 port needs this to indicate which direct map pages | ||||
* need to be dumped, via calls to dump_add_page()/dump_drop_page(). | * need to be dumped, via calls to dump_add_page()/dump_drop_page(). | ||||
* | * | ||||
* However, i386 still needs this workspace internally within the | * However, i386 still needs this workspace internally within the | ||||
Show All 9 Lines | #if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ | ||||
new_end -= vm_page_dump_size; | new_end -= vm_page_dump_size; | ||||
vm_page_dump = (void *)(uintptr_t)pmap_map(&vaddr, new_end, | vm_page_dump = (void *)(uintptr_t)pmap_map(&vaddr, new_end, | ||||
new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE); | new_end + vm_page_dump_size, VM_PROT_READ | VM_PROT_WRITE); | ||||
bzero((void *)vm_page_dump, vm_page_dump_size); | bzero((void *)vm_page_dump, vm_page_dump_size); | ||||
#else | #else | ||||
(void)last_pa; | (void)last_pa; | ||||
#endif | #endif | ||||
#if defined(__aarch64__) || defined(__amd64__) || defined(__mips__) || \ | #if defined(__aarch64__) || defined(__amd64__) || defined(__mips__) || \ | ||||
defined(__riscv) | defined(__riscv) || defined(__powerpc64__) | ||||
/* | /* | ||||
* Include the UMA bootstrap pages, witness pages and vm_page_dump | * Include the UMA bootstrap pages, witness pages and vm_page_dump | ||||
* in a crash dump. When pmap_map() uses the direct map, they are | * in a crash dump. When pmap_map() uses the direct map, they are | ||||
* not automatically included. | * not automatically included. | ||||
*/ | */ | ||||
for (pa = new_end; pa < end; pa += PAGE_SIZE) | for (pa = new_end; pa < end; pa += PAGE_SIZE) | ||||
dump_add_page(pa); | dump_add_page(pa); | ||||
#endif | #endif | ||||
▲ Show 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | |||||
#if VM_NRESERVLEVEL > 0 | #if VM_NRESERVLEVEL > 0 | ||||
/* | /* | ||||
* Allocate physical memory for the reservation management system's | * Allocate physical memory for the reservation management system's | ||||
* data structures, and map it. | * data structures, and map it. | ||||
*/ | */ | ||||
new_end = vm_reserv_startup(&vaddr, new_end); | new_end = vm_reserv_startup(&vaddr, new_end); | ||||
#endif | #endif | ||||
#if defined(__aarch64__) || defined(__amd64__) || defined(__mips__) || \ | #if defined(__aarch64__) || defined(__amd64__) || defined(__mips__) || \ | ||||
defined(__riscv) | defined(__riscv) || defined(__powerpc64__) | ||||
/* | /* | ||||
* Include vm_page_array and vm_reserv_array in a crash dump. | * Include vm_page_array and vm_reserv_array in a crash dump. | ||||
*/ | */ | ||||
for (pa = new_end; pa < end; pa += PAGE_SIZE) | for (pa = new_end; pa < end; pa += PAGE_SIZE) | ||||
dump_add_page(pa); | dump_add_page(pa); | ||||
#endif | #endif | ||||
phys_avail[biggestone + 1] = new_end; | phys_avail[biggestone + 1] = new_end; | ||||
▲ Show 20 Lines • Show All 4,082 Lines • Show Last 20 Lines |