b957b18594
As of r365978, minidumps include a copy of dump_avail[]. This is an array of vm_paddr_t ranges. libkvm walks the array assuming that sizeof(vm_paddr_t) is equal to the platform "word size", but that's not correct on some platforms. For instance, i386 uses a 64-bit vm_paddr_t. Fix the problem by always dumping 64-bit addresses. On platforms where vm_paddr_t is 32 bits wide, namely arm and mips (sometimes), translate dump_avail[] to an array of uint64_t ranges. With this change, libkvm no longer needs to maintain a notion of the target word size, so get rid of it. This is a no-op on platforms where sizeof(vm_paddr_t) == 8. Reviewed by: alc, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27082 |
||
---|---|---|
.. | ||
tests | ||
kvm_aarch64.h | ||
kvm_amd64.c | ||
kvm_amd64.h | ||
kvm_arm.c | ||
kvm_arm.h | ||
kvm_cptime.c | ||
kvm_getcptime.3 | ||
kvm_geterr.3 | ||
kvm_getloadavg.3 | ||
kvm_getloadavg.c | ||
kvm_getpcpu.3 | ||
kvm_getprocs.3 | ||
kvm_getswapinfo.3 | ||
kvm_getswapinfo.c | ||
kvm_i386.c | ||
kvm_i386.h | ||
kvm_kerndisp.3 | ||
kvm_minidump_aarch64.c | ||
kvm_minidump_amd64.c | ||
kvm_minidump_arm.c | ||
kvm_minidump_i386.c | ||
kvm_minidump_mips.c | ||
kvm_minidump_powerpc64_hpt.c | ||
kvm_minidump_powerpc64.c | ||
kvm_minidump_riscv.c | ||
kvm_mips.h | ||
kvm_native.3 | ||
kvm_nlist.3 | ||
kvm_open.3 | ||
kvm_pcpu.c | ||
kvm_powerpc64.c | ||
kvm_powerpc64.h | ||
kvm_powerpc.c | ||
kvm_private.c | ||
kvm_private.h | ||
kvm_proc.c | ||
kvm_read.3 | ||
kvm_riscv.h | ||
kvm_vnet.c | ||
kvm.3 | ||
kvm.c | ||
kvm.h | ||
Makefile | ||
Makefile.depend |