summaryrefslogtreecommitdiff
path: root/lib/libkvm/kvm_amd64.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix missing includes of <string.h>, to silence some compiler warnings.Ed Schouten2009-06-141-0/+1
| | | | | | | Submitted by: Pawel Worach Notes: svn path=/head/; revision=194186
* Re-enable raw dump format support on i386 and amd64 for /dev/fwmem.Hidetoshi Shimokawa2007-06-151-9/+18
| | | | Notes: svn path=/head/; revision=170772
* Remove the advertising clause. UCB did this some time ago, but theseWarner Losh2007-01-081-4/+0
| | | | | | | | | files were never updated to reflect that. MFC After: 2 days Notes: svn path=/head/; revision=165888
* Teach libkvm how to read minidumps. It turns out that minidumps arePeter Wemm2006-04-211-0/+11
| | | | | | | | | | | | | | | | | far more convenient for libkvm to work with because of the page table block at the beginning. As a result, the MD code is smaller. libkvm will automatically detect old vs mini dumps on i386 and amd64. libkvm will handle i386 PAE and non-PAE modes. There is a PAE flag in the i386 minidump header to signal the width of the entries in the page table block. Other convenient values are also present, such as kernbase and the direct map addresses on amd64. Notes: svn path=/head/; revision=157911
* Fix a well duplicated fencepost error that stopped crashdumps beingPeter Wemm2005-10-201-3/+3
| | | | | | | | | | | readable on certain random memory configurations. If the libkvm consumer tried to read something that was in the very last pdpe, pde or pte slot, it would bogusly fail. This is broken in RELENG_6 too. Notes: svn path=/head/; revision=151492
* Support crash dumps > 4GB in size on 32 bit platforms. _kvm_kvatop()Peter Wemm2005-06-291-39/+137
| | | | | | | | | | | | | | | | | | | | | | | | returned an lseek offset in a "u_long *" value, which can't express >4GB offsets on 32 bit machines (eg: PAE). Change to "off_t *" for all. Support ELF crashdumps on i386 and amd64. Support PAE crashdumps on i386. This is done by auto-detecting the presence of the IdlePDPT which means that PAE is active. I used Marcel's _kvm_pa2off strategy and ELF header reader for ELF support on amd64. Paul Saab ported the amd64 changes to i386 and we implemented the PAE support from there. Note that gdb6 in the src tree uses whatever libkvm supports. If you want to debug an old crash dump, you might want to keep an old libkvm.so handy and use LD_PRELOAD or the like. This does not detect the old raw dump format. Approved by: re Notes: svn path=/head/; revision=147672
* Implement crashdump decoding for AMD64 as well, now that I have finallyPeter Wemm2004-05-191-28/+63
| | | | | | | got a sample to test against. Notes: svn path=/head/; revision=129452
* AMD64 support; repocopied from i386Peter Wemm2003-04-301-3/+3
| | | | Notes: svn path=/head/; revision=114330
* Compensate for "Compensate for header dethreading" by backing it out.Bruce Evans2001-10-101-2/+0
| | | | Notes: svn path=/head/; revision=84768
* Implement __FBSDID()Matthew Dillon2001-09-161-3/+3
| | | | Notes: svn path=/head/; revision=83551
* Dynamically adjust to the value of KERNBASE in a crashdump, withPeter Wemm2001-08-241-2/+12
| | | | | | | a fallback for old kernels without the "kernbase" symbol. Notes: svn path=/head/; revision=82263
* Compensate for header dethreading.Mark Murray2001-05-011-0/+2
| | | | Notes: svn path=/head/; revision=76176
* Use kldsym(2) to lookup symbol values. This avoids the kvm_mkdb jugglingPeter Wemm1999-12-271-1/+5
| | | | | | | | | and is module aware. Yes, this means that kvm_nlist(3) will find symbols in loaded modules. The emulation of the nlist struct is pretty crude but seems to work well enough for all the users in the tree that I found. Notes: svn path=/head/; revision=55127
* Copy code from gnu/usr.bin/gdb/gdb/kvm-fbsd.c to deal with 4 MB pages.Tor Egge1997-08-171-0/+13
| | | | Notes: svn path=/head/; revision=28318
* Implement virtual-to-physical address mapping for the kvm library onPeter Wemm1996-10-071-20/+65
| | | | | | | | | | | | | | | dead kernel debugging. The previous code was a "do nothing". The most obvious side effect of this is that you can now do things like this and reasonably expect them to work: dmesg -M /var/crash/vmcore.3 -N /var/crash/kernel.3 ps -axl -M /var/crash/vmcore.3 -N /var/crash/kernel.3 A good deal of this was lifted from the gdb code to do this, as well as from NetBSD's libkvm (which has completely different VM macros) Notes: svn path=/head/; revision=18798
* General -Wall warning cleanup, part I.Jordan K. Hubbard1996-07-121-0/+1
| | | | | | | Submitted-By: Kent Vander Velden <graphix@iastate.edu> Notes: svn path=/head/; revision=17141
* NBPG -> PAGE_SIZEPoul-Henning Kamp1996-05-021-1/+1
| | | | Notes: svn path=/head/; revision=15533
* Remove trailing whitespace.Rodney W. Grimes1995-05-301-1/+1
| | | | Notes: svn path=/head/; revision=8870
* A semicolon was lost.Poul-Henning Kamp1994-11-071-1/+1
| | | | Notes: svn path=/head/; revision=4241
* From: "gj%pcs.dec.com@inet-gw-1.pa.dec.com" <garyj@rks32.pcs.dec.com>Jordan K. Hubbard1994-11-071-0/+1
| | | | | | | | | | | | | | Given the right circumstances, a call to kvm_open can result in a core dump. The diff belows fixes this (note that this change is already in the NetBSD code). Could somebody apply this? Gary J. Submitted by: gj Notes: svn path=/head/; revision=4231
* Made kvm routines use procfs to get out process data such as argumentDavid Greenman1994-08-111-13/+0
| | | | | | | strings. Notes: svn path=/head/; revision=2029
* Fix kvm_i386.c just enough to make it compile and return lots of errorsRodney W. Grimes1994-05-281-173/+34
| | | | | | | | when called. Noop out swapread in kvm_proc.c as our vm system is different. Notes: svn path=/head/; revision=1603
* This is a COPY of kvm_hp300.c, soon to be patched to sorta work withRodney W. Grimes1994-05-281-0/+286
the i386 port. Notes: svn path=/head/; revision=1602