opnsense-src/sys/powerpc/include
Mitchell Horne 1adebe3cd6 minidump: Parameterize minidumpsys()
The minidump code is written assuming that certain global state will not
change, and rightly so, since it executes from a kernel debugger
context. In order to support taking minidumps of a live system, we
should allow copies of relevant global state that is likely to change to
be passed as parameters to the minidumpsys() function.

This patch does the work of parameterizing this function, by adding a
struct minidumpstate argument. For now, this struct allows for copies of
the kernel message buffer, and the bitset that tracks which pages should
be dumped (vm_page_dump). Follow-up changes will actually make use of
these arguments.

Notably, dump_avail[] does not need a snapshot, since it is not expected
to change after system initialization.

The existing minidumpsys() definitions are renamed, and a thin MI
wrapper is added to kern_dump.c, which handles the construction of
the state struct. Thus, calling minidumpsys() remains as simple as
before.

Reviewed by:	kib, markj, jhb
Sponsored by:	Juniper Networks, Inc.
Sponsored by:	Klara, Inc.
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D31989
2021-11-19 15:05:52 -04:00
..
_align.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
_bus.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
_inttypes.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
_limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_stdint.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_types.h Reduce code duplication in machine/_types.h 2021-06-14 16:30:16 +01:00
altivec.h powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
asm.h Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
atomic.h [PowerPC] Fix ISA_206 subword atomics 2021-03-30 20:23:04 -05:00
bat.h powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
bus.h Add missing assignment forgotten in r365899 2020-09-20 15:11:52 +00:00
bus_dma.h Rename struct device to struct _device 2021-04-12 09:32:30 -04:00
clock.h
counter.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
cpu.h powerpc/powermac: Constrain 'cpu_sleep()' for AIM to mpc745x 2021-03-31 13:34:06 -05:00
cpufunc.h powerpc: change mfpvr return type to uint32_t 2021-07-28 14:08:19 -03:00
db_machdep.h [PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities. 2020-05-07 19:32:49 +00:00
dbdma.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
dump.h minidump: De-duplicate the progress bar 2021-09-29 16:42:21 -03:00
efi.h Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
elf.h [PowerPC64LE] Adjust ELF definitions for LE. 2020-09-13 17:36:43 +00:00
endian.h Consolidate machine/endian.h definitions 2021-03-26 19:00:22 -03:00
exec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
float.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
floatingpoint.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
fpu.h [POWERPC] Floating-Point Exception trap support 2020-11-06 13:34:30 +00:00
frame.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
gdb_machdep.h gdb: report specific stop reason for watchpoints 2021-03-30 11:36:41 -03:00
hid.h On POWER9 clear the HID0_RADIX before enabling the page tables 2018-05-26 04:33:19 +00:00
ieee.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ieeefp.h Fix floating point exception definitions for powerpcspe 2018-07-24 22:04:56 +00:00
ifunc.h [PowerPC] Define powerpc IFUNC kernel/userspace ABI. 2019-12-24 20:13:29 +00:00
in_cksum.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
intr_machdep.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
kdb.h Introduce kdb-level watchpoint functions 2021-03-29 12:05:43 -03:00
limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
machdep.h powerpc: Axe PPC4xx support. 2020-03-18 01:09:43 +00:00
md_var.h minidump: Parameterize minidumpsys() 2021-11-19 15:05:52 -04:00
memdev.h Add the MEM_EXTRACT_PADDR ioctl to /dev/mem. 2020-09-02 18:12:47 +00:00
metadata.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
minidump.h Sparsify the vm_page_dump bitmap 2020-09-21 22:21:59 +00:00
mmuvar.h powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
ofw_machdep.h powerpc: Fix the NUMA domain list on powernv 2020-01-18 01:26:54 +00:00
openpicreg.h powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
openpicvar.h powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
param.h [PowerPC64LE] Set up powerpc.powerpc64le architecture 2020-09-22 23:49:30 +00:00
pcb.h [PowerPC64LE] Fix LE VSX/fpr interop 2020-12-03 01:39:59 +00:00
pcpu.h Remove PCPU_INC 2021-03-20 19:23:59 -07:00
pcpu_aux.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
pio.h powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
platform.h powerpc: Fix the NUMA domain list on powernv 2020-01-18 01:26:54 +00:00
platformvar.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
pmap.h powerpc64: fix OFWFB with Radix MMU 2021-10-14 10:39:52 -03:00
pmc_mdep.h powerpc64: add Power8 and Power9 PMCs 2021-07-26 10:27:23 -03:00
proc.h Pass the syscall number to capsicum permission-denied signals 2021-07-16 18:06:44 +01:00
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
profile.h powerpc: Axe PPC4xx support. 2020-03-18 01:09:43 +00:00
psl.h [POWERPC] Floating-Point Exception trap support 2020-11-06 13:34:30 +00:00
pte.h Implement superpages for PowerPC64 (HPT) 2020-11-06 14:12:45 +00:00
ptrace.h Added ptrace support for reading/writing powerpc VSX registers 2018-06-02 19:17:11 +00:00
reg.h [PowerPC] Fix outdated FP regs on fork(2) and friends 2021-09-04 11:33:03 -05:00
reloc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
resource.h powerpc/booke: Simplify the MPC85XX PCIe root complex driver 2019-10-24 03:51:33 +00:00
rtas.h powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
runq.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
sc_machdep.h sys/powerpc: further adoption of SPDX licensing ID tags. 2017-11-27 15:09:59 +00:00
setjmp.h Use setjmp() instead of the identical-except-for-having-a-wrong-prototype 2016-01-10 16:42:14 +00:00
sigframe.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
signal.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
slb.h Implement superpages for PowerPC64 (HPT) 2020-11-06 14:12:45 +00:00
smp.h Add NUMA support to powerpc 2019-04-13 04:03:18 +00:00
spr.h Wrap the default SPE config in its own #define 2021-05-29 21:53:26 -05:00
sr.h powerpc64: Implement Radix MMU for POWER9 CPUs 2020-05-11 02:33:37 +00:00
stack.h
stdarg.h Use standard pattern for stdargs.h 2018-02-12 14:48:05 +00:00
sysarch.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
tlb.h powerpc: Axe PPC4xx support. 2020-03-18 01:09:43 +00:00
trap.h powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
ucontext.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
vdso.h [PowerPC] Implement VDSO timebase access on powerpc* 2020-09-08 03:00:31 +00:00
vm.h Create VM_MEMATTR_DEVICE on all architectures 2021-04-12 06:15:31 +00:00
vmparam.h Implement superpages for PowerPC64 (HPT) 2020-11-06 14:12:45 +00:00