freebsd-dev/sys
John Baldwin 7f911abe54 Add support to libkvm for reading vmcores from other architectures.
- Add a kvaddr_type to represent kernel virtual addresses instead of
  unsigned long.
- Add a struct kvm_nlist which is a stripped down version of struct nlist
  that uses kvaddr_t for n_value.
- Add a kvm_native() routine that returns true if an open kvm descriptor
  is for a native kernel and memory image.
- Add a kvm_open2() function similar to kvm_openfiles().  It drops the
  unused 'swapfile' argument and adds a new function pointer argument for
  a symbol resolving function.  Native kernels still use _fdnlist() from
  libc to resolve symbols if a resolver function is not supplied, but cross
  kernels require a resolver.
- Add a kvm_nlist2() function similar to kvm_nlist() except that it uses
  struct kvm_nlist instead of struct nlist.
- Add a kvm_read2() function similar to kvm_read() except that it uses
  kvaddr_t instead of unsigned long for the kernel virtual address.
- Add a new kvm_arch switch of routines needed by a vmcore backend.
  Each backend is responsible for implementing kvm_read2() for a given
  vmcore format.
- Use libelf to read headers from ELF kernels and cores (except for
  powerpc cores).
- Add internal helper routines for the common page offset hash table used
  by the minidump backends.
- Port all of the existing kvm backends to implement a kvm_arch switch and
  to be cross-friendly by using private constants instead of ones that
  vary by platform (e.g. PAGE_SIZE).  Static assertions are present when
  a given backend is compiled natively to ensure the private constants
  match the real ones.
- Enable all of the existing vmcore backends on all platforms.  This means
  that libkvm on any platform should be able to perform KVA translation
  and read data from a vmcore of any platform.

Tested on:	amd64, i386, sparc64 (marius)
Differential Revision:	https://reviews.freebsd.org/D3341
2015-11-27 18:58:26 +00:00
..
amd64 Fix whitespace on addition of IPSEC option 2015-11-26 21:35:50 +00:00
arm Add support for exynos5_ehci in loader 2015-11-27 18:22:04 +00:00
arm64 Correct arm64 gic_v3 sizeof argument 2015-11-26 21:05:55 +00:00
boot Add support for exynos5_ehci in loader 2015-11-27 18:22:04 +00:00
bsm
cam Fix panic when trying to sort unsupported command in OOA queue. 2015-11-27 14:29:04 +00:00
cddl Fix a bug in the amd64 dtrace_getarg() implementation: when unwinding the 2015-11-19 05:33:15 +00:00
compat Split kerne timekeep ABI structure vdso_sv_tk out of the struct 2015-11-23 07:09:35 +00:00
conf Stop building vers.c in include/ and only build the needed osreldate.h. 2015-11-25 19:10:59 +00:00
contrib Fix inconsistent use of malloc type for cdev private data. 2015-11-23 13:23:53 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
dev sfxge: cleanup: report error on failure path in efx_vpd_hunk_verify 2015-11-27 16:23:27 +00:00
fs When the nfsd threads are terminated, the NFSv4 server state 2015-11-21 23:55:46 +00:00
gdb
geom Fix early kernel dump via dumpdev env 2015-11-17 20:55:50 +00:00
gnu Fixing a memory leak on module unloading. 2015-09-11 22:43:35 +00:00
i386 Fix whitespace on addition of IPSEC option 2015-11-26 21:35:50 +00:00
isa
kern Remove VI_AGE vnode iflag, it is unused. 2015-11-27 01:45:40 +00:00
kgssapi
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips Revert r291142. 2015-11-23 11:19:00 +00:00
modules Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
net Fix building sys/modules/if_enc by adding missing headers 2015-11-25 21:16:10 +00:00
net80211 [net80211] decode WPA cipher config '0' as "clear cipher config". 2015-11-26 01:54:58 +00:00
netgraph Move iflladdr_event eventhandler invocation to if_setlladdr. 2015-11-14 13:34:03 +00:00
netinet When the sending of an SCTP outgoing stream reset request fails, 2015-11-26 23:12:41 +00:00
netinet6 Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
netipsec Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
netnatm
netpfil Add destroy_object callback to object rewriting framework. 2015-11-23 22:06:55 +00:00
netsmb The problem report was for a crash that happened when smbfs was 2015-11-18 23:04:01 +00:00
nfs Wait up to 10 seconds for late-initializing network interfaces to arrive. 2015-09-26 13:55:55 +00:00
nfsclient
nfsserver
nlm
ofed Add some defines needed by the coming mlx5 infiniband support. 2015-11-24 12:11:56 +00:00
opencrypto Remove unneeded includes of opt_kdtrace.h. 2015-11-22 02:01:01 +00:00
pc98 Fix whitespace on addition of IPSEC option 2015-11-26 21:35:50 +00:00
powerpc Fix whitespace on addition of IPSEC option 2015-11-26 21:35:50 +00:00
rpc Improve locking of sg_threadcount. 2015-11-19 08:04:05 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Add support to libkvm for reading vmcores from other architectures. 2015-11-27 18:58:26 +00:00
sys Remove VI_AGE vnode iflag, it is unused. 2015-11-27 01:45:40 +00:00
teken Sync HPA and VPA implementations with CUP. 2015-08-24 07:49:27 +00:00
tests Style 9 changes. 2015-11-12 10:31:14 +00:00
tools Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
ufs Do not perform read-ahead for BA_CLRBUF request when we are low on 2015-10-27 13:44:13 +00:00
vm Correct an error in vm_reserv_reclaim_contig(). In the highly unusual 2015-11-26 19:12:18 +00:00
x86 Correct the number of DTLB entries reported for the CPUID Leaf 2 2015-11-24 19:55:11 +00:00
xdr
xen xen/intr: fix the event channel enabled per-cpu mask 2015-11-05 14:33:46 +00:00
Makefile