freebsd-skq/lib/libkvm
Mark Johnston b957b18594 Always use 64-bit physical addresses for dump_avail[] in minidumps
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
2020-12-03 17:12:31 +00:00
..
tests Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
kvm_aarch64.h Chase r350037. 2019-07-16 16:02:20 +00:00
kvm_amd64.c Use __SCCSID for SCCS IDs in libkvm sources. 2018-05-22 15:52:22 +00:00
kvm_amd64.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kvm_arm.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
kvm_arm.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kvm_cptime.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
kvm_getcptime.3
kvm_geterr.3
kvm_getloadavg.3
kvm_getloadavg.c Use __SCCSID for SCCS IDs in libkvm sources. 2018-05-22 15:52:22 +00:00
kvm_getpcpu.3
kvm_getprocs.3
kvm_getswapinfo.3 Fix copy/paste mistake in kvm_getswapinfo(3) 2020-06-25 20:04:35 +00:00
kvm_getswapinfo.c Remove swblk_t. 2020-02-17 15:11:07 +00:00
kvm_i386.c Use __SCCSID for SCCS IDs in libkvm sources. 2018-05-22 15:52:22 +00:00
kvm_i386.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kvm_kerndisp.3 Implement kvm_kerndisp 2020-02-06 13:21:59 +00:00
kvm_minidump_aarch64.c Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_minidump_amd64.c Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_minidump_arm.c Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_minidump_i386.c Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_minidump_mips.c Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_minidump_powerpc64_hpt.c [PPC64] Initial libkvm minidump implementation 2019-12-09 13:59:36 +00:00
kvm_minidump_powerpc64.c Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_minidump_riscv.c Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_mips.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kvm_native.3 Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kvm_nlist.3
kvm_open.3
kvm_pcpu.c libkvm: catch up with pre-subtracated per-cpu addresses 2020-10-06 02:57:37 +00:00
kvm_powerpc64.c [PowerPC64LE] libkvm powerpc64le support. 2020-09-23 02:11:24 +00:00
kvm_powerpc64.h [PPC64] Initial libkvm minidump implementation 2019-12-09 13:59:36 +00:00
kvm_powerpc.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
kvm_private.c Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_private.h Always use 64-bit physical addresses for dump_avail[] in minidumps 2020-12-03 17:12:31 +00:00
kvm_proc.c Split out cwd/root/jail, cmask state from filedesc table 2020-11-17 21:14:13 +00:00
kvm_read.3
kvm_riscv.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
kvm_vnet.c Partially revert VNET change and expand VNET structure. 2020-02-17 11:08:50 +00:00
kvm.3 Implement kvm_kerndisp 2020-02-06 13:21:59 +00:00
kvm.c Partially revert VNET change and expand VNET structure. 2020-02-17 11:08:50 +00:00
kvm.h Implement kvm_kerndisp 2020-02-06 13:21:59 +00:00
Makefile Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
Makefile.depend Update Makefile.depend files 2019-12-11 17:37:53 +00:00