opnsense-src/sys/riscv/include
Mitchell Horne eb2ea57ef1 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

(cherry picked from commit 1adebe3cd6)
2021-12-03 10:02:03 -04:00
..
_align.h
_bus.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
_inttypes.h
_limits.h
_stdint.h
_types.h
asm.h Add .cfi_{start,end}proc for RISC-V assembly functions 2020-11-26 17:37:22 +00:00
atomic.h riscv: fix errors in some atomic type aliases 2021-03-08 10:03:01 -04:00
bus.h Add missing assignment forgotten in r365899 2020-09-20 15:11:52 +00:00
bus_dma.h
bus_dma_impl.h
clock.h
counter.h riscv: small counter(9) improvements 2020-12-11 20:01:45 +00:00
cpu.h arm64, riscv: Fix TRAF_PC() to return the PC, not the return address. 2021-11-23 15:48:07 -08:00
cpufunc.h
db_machdep.h riscv: improve exception code naming 2020-10-24 20:57:13 +00:00
dump.h minidump: De-duplicate the progress bar 2021-10-15 12:20:48 -03:00
efi.h
elf.h
encoding.h
endian.h Consolidate machine/endian.h definitions 2021-06-24 20:42:56 -03:00
exec.h
float.h
floatingpoint.h
fpe.h
frame.h
ieeefp.h libc: Provide sub fp(s|g)etmask() implementations for RISC-V 2020-08-03 12:48:51 +00:00
in_cksum.h
intr.h
kdb.h Introduce kdb-level watchpoint functions 2021-04-21 10:20:33 -03:00
machdep.h Handle load from loader(8) 2020-06-24 15:20:00 +00:00
md_var.h minidump: Parameterize minidumpsys() 2021-12-03 10:02:03 -04:00
memdev.h riscv: Add memmmap so we can mmap /dev/mem 2020-10-01 15:04:55 +00:00
metadata.h RISC-V boot1.efi and loader.efi support 2020-07-06 18:19:42 +00:00
minidump.h Sparsify the vm_page_dump bitmap 2020-09-21 22:21:59 +00:00
ofw_machdep.h
param.h riscv: Define __PCI_REROUTE_INTERRUPT 2020-09-30 02:21:38 +00:00
pcb.h Remove unused fields from struct pcb. 2020-01-30 19:15:27 +00:00
pcpu.h Correct padding length for RISC-V PCPU data. 2020-08-12 18:45:36 +00:00
pcpu_aux.h Correct padding length for RISC-V PCPU data. 2020-08-12 18:45:36 +00:00
pmap.h riscv: Implement pmap_mapdev_attr 2021-10-24 19:51:10 +01:00
pmc_mdep.h
proc.h Get rid of sa->narg. It serves no purpose; use sa->callp->sy_narg instead. 2020-09-27 18:47:06 +00:00
procctl.h
profile.h riscv: fix uintfptr_t 2020-08-05 22:09:40 +00:00
psl.h
pte.h riscv pmap: zero reserved pte bits in ppn 2020-07-01 19:15:43 +00:00
ptrace.h
reg.h
reloc.h
resource.h Enable NEW_PCIB on riscv. 2020-01-24 16:50:51 +00:00
riscvreg.h riscv: improve exception code naming 2020-10-24 20:57:13 +00:00
runq.h
sbi.h riscv: add SBI system reset extension 2021-02-04 12:17:31 -04:00
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h
stack.h Stack unwinding robustness fixes for RISC-V. 2020-12-08 17:57:18 +00:00
stdarg.h
sysarch.h
trap.h
ucontext.h
vdso.h riscv: Implement non-stub __vdso_gettc and __vdso_gettimekeep 2021-09-07 13:06:44 +01:00
vm.h
vmparam.h riscv: handle page faults in the unmappable region 2021-10-15 12:22:13 -03:00