freebsd-dev/sys
Conrad Meyer 5dc5dab6eb Add 4Kn kernel dump support
(And 4Kn minidump support, but only for amd64.)

Make sure all I/O to the dump device is of the native sector size.  To
that end, we keep a native sector sized buffer associated with dump
devices (di->blockbuf) and use it to pad smaller objects as needed (e.g.
kerneldumpheader).

Add dump_write_pad() as a convenience API to dump smaller objects with
zero padding.  (Rather than pull in NPM leftpad, we wrote our own.)

Savecore(1) has been updated to deal with these dumps.  The format for
512-byte sector dumps should remain backwards compatible.

Minidumps for other architectures are left as an exercise for the
reader.

PR:		194279
Submitted by:	ambrisko@
Reviewed by:	cem (earlier version), rpokala
Tested by:	rpokala (4Kn/512 except 512 fulldump), cem (512 fulldump)
Relnotes:	yes
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D5848
2016-04-15 17:45:12 +00:00
..
amd64 Add 4Kn kernel dump support 2016-04-15 17:45:12 +00:00
arm Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
arm64 arm: for pointers replace 0 with NULL. 2016-04-15 14:30:40 +00:00
boot Import Mediatek/Ralink dtsi patches against OpenWRT dtsi files 2016-04-15 15:36:09 +00:00
bsm Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
cam Expand CAM_IO_STATS #ifdef to logical unit. 2016-04-15 05:10:39 +00:00
cddl Don't corrupt ZFS label's physpath attribute when booting while a disk is missing 2016-04-15 16:36:17 +00:00
compat compat/linux: for pointers replace 0 with NULL. 2016-04-15 16:21:13 +00:00
conf Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
contrib Use NULL instead of 0 for pointer comparison. 2016-04-15 03:43:16 +00:00
crypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
ddb ddb: for pointers replace 0 with NULL. 2016-04-15 17:27:20 +00:00
dev Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
fs fs misc: for pointers replace 0 with NULL. 2016-04-15 17:28:24 +00:00
gdb
geom g_gate: for pointers replace 0 with NULL. 2016-04-15 16:18:07 +00:00
gnu Update our copy of the Linux dts files to be in sync with Linux 4.5-rc1. We 2016-02-09 16:42:32 +00:00
i386 hyperv: Deprecate HYPERV option by moving Hyper-V IDT vector into vmbus 2016-04-15 02:20:18 +00:00
isa isa/pnp: for pointers replace 0 with NULL. 2016-04-14 17:20:35 +00:00
kern Add 4Kn kernel dump support 2016-04-15 17:45:12 +00:00
kgssapi Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
libkern kern: for pointers replace 0 with NULL. 2016-04-15 16:10:11 +00:00
mips Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
modules Sync cam.ko module source list with the static kernel file list. 2016-04-15 12:55:40 +00:00
net sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
net80211 [net80211] correctly (i hope, wow) do a ticks comparison to limit A-MPDU attempts 2016-04-10 04:16:34 +00:00
netgraph sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
netinet netinet: for pointers replace 0 with NULL. 2016-04-15 15:46:41 +00:00
netinet6 sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
netipsec sys/net* : for pointers replace 0 with NULL. 2016-04-15 17:30:33 +00:00
netnatm
netpfil netpfil: for pointers replace 0 with NULL. 2016-04-15 12:24:01 +00:00
netsmb Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
nfs Do not try to install a default route for each interface found, because 2016-03-27 23:16:37 +00:00
nfsclient
nfsserver
nlm
ofed ofed: for pointers replace 0 with NULL. 2016-04-15 12:16:15 +00:00
opencrypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
pc98 Cleanup unnecessary semicolons from the kernel. 2016-04-10 23:07:00 +00:00
powerpc powerpc: for pointers replace 0 with NULL. 2016-04-15 14:25:13 +00:00
riscv risc-v: for pointers replace 0 with NULL. 2016-04-14 17:25:50 +00:00
rpc RPC: for pointers replace 0 with NULL. 2016-04-14 17:06:37 +00:00
security audit(8): leave unsigned comparison for last. 2016-04-08 03:26:21 +00:00
sparc64 sparc64: for pointers replace 0 with NULL. 2016-04-15 12:17:34 +00:00
sys Add 4Kn kernel dump support 2016-04-15 17:45:12 +00:00
teken
tests Style 9 changes. 2015-11-12 10:31:14 +00:00
tools Fix MFS builds when both MD_ROOT_SIZE and MFS_IMAGE are specified 2016-02-02 07:02:51 +00:00
ufs ufs: replace 0 with NULL for pointers. 2016-04-10 21:48:11 +00:00
vm Add more fine-grained kernel options for NUMA support. 2016-04-09 13:58:04 +00:00
x86 Always calculate divisor for the counter mode of LAPIC timer. Even if 2016-04-15 14:36:38 +00:00
xdr RPC: for pointers replace 0 with NULL. 2016-04-14 17:06:37 +00:00
xen xenbus: add a comment with the names of the generated accessors 2016-01-15 14:34:31 +00:00
Makefile Add riscv to the list of architectures for cscope. 2016-02-29 16:39:27 +00:00