1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys/sparc64/include
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
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h
asi.h
asm.h Unbreak sparc64 after r276630 by calling __sparc_sigtramp_setup signal 2015-02-16 22:13:03 +00:00
asmacros.h
atomic.h Add the atomic_thread_fence() family of functions with intent to 2015-07-08 18:12:24 +00:00
bus_common.h
bus_dma.h
bus_private.h
bus.h
cache.h
ccr.h
clock.h
cmt.h
counter.h
cpu.h
cpufunc.h
db_machdep.h
dcr.h
dump.h - Unbreak dumpsys(9) on sparc64 after r276772 2015-11-16 23:02:33 +00:00
elf.h
endian.h
exec.h
fireplane.h
float.h Rationalize BSD license on sys/*/include/float.h 2015-08-05 17:05:35 +00:00
floatingpoint.h
fp.h
frame.h
fsr.h
gdb_machdep.h
idprom.h
ieee.h
ieeefp.h
in_cksum.h Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
instr.h
intr_machdep.h
iommureg.h
iommuvar.h
jbus.h
kdb.h
kerneldump.h Add support to libkvm for reading vmcores from other architectures. 2015-11-27 18:58:26 +00:00
ktr.h
limits.h
lsu.h
mcntl.h
md_var.h Merge from r290547: 2015-11-21 02:49:33 +00:00
memdev.h
metadata.h
nexusvar.h
ofw_machdep.h
ofw_mem.h
ofw_nexus.h
param.h Add fueword(9) and casueword(9) functions. They are like fuword(9) 2014-10-28 15:22:13 +00:00
pcb.h
pcpu.h Add two new pmap functions: 2015-08-04 19:46:13 +00:00
pmap.h
pmc_mdep.h
proc.h
profile.h
pstate.h
ptrace.h
reg.h Move the 32-bit compatible procfs types from freebsd32.h to <sys/procfs.h> 2015-04-08 16:30:45 +00:00
reloc.h
resource.h
runq.h
sc_machdep.h
setjmp.h
sf_buf.h
sigframe.h
signal.h
smp.h Merge r286374 from x86: 2015-09-13 00:08:04 +00:00
stack.h
stdarg.h
sysarch.h
tick.h
tlb.h
trap.h
tsb.h
tstate.h
tte.h
ucontext.h
upa.h
utrap.h
varargs.h
vdso.h
ver.h
vm.h
vmparam.h Retire VM_FREEPOOL_CACHE as the next step in eliminating PG_CACHE pages. 2015-06-08 04:59:32 +00:00
watch.h
wstate.h