summaryrefslogtreecommitdiffstats
path: root/lib/libkvm/kvm_minidump_amd64.c
Commit message (Collapse)AuthorAgeFilesLines
* libkvm code janitoringuqs2011-01-231-3/+0
| | | | | | | | | | | | - make WARNS=6 clean for archs w/o strict alignment requirments - add const, ANSIfy, remove unused vars, cast types for comparison - thanks to differing definitions of VM_MIN_ADDRESS across our archs, we need to trick the compiler to not complain about signedness. We could either fix VM_MIN_ADDRESS to always be a simple integer or make the check conditional on $ARCH. Closes PRs: kern/42386, kern/83364 Reviewed by: bde
* amd64: introduce minidump version 2avg2010-11-111-14/+94
| | | | | | | | | | | | | | | | | | After KVA space was increased to 512GB on amd64 it became impractical to use PTEs as entries in the minidump map of dumped pages, because size of that map alone would already be 1GB. Instead, we now use PDEs as page map entries and employ two stage lookup in libkvm: virtual address -> PDE -> PTE -> physical address. PTEs are now dumped as regular pages. Fixed page map size now is 2MB. libkvm keeps support for accessing amd64 minidumps of version 1. Support for 1GB pages is added. Many thanks to Alan Cox for his guidance, numerous reviews, suggestions, enhancments and corrections. Reviewed by: alc [kernel part] MFC after: 15 days
* Fix missing includes of <string.h>, to silence some compiler warnings.ed2009-06-141-1/+1
| | | | Submitted by: Pawel Worach
* _kvm_malloc allocates memory through calloc() whichdelphij2008-10-171-1/+0
| | | | returns zeroed memory, so don't redo the initialization.
* Include strings.h for bzero()delphij2006-06-051-0/+1
|
* Teach libkvm how to read minidumps. It turns out that minidumps arepeter2006-04-211-0/+255
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.
OpenPOWER on IntegriCloud