diff options
author | Andriy Gapon <avg@FreeBSD.org> | 2010-11-11 18:35:28 +0000 |
---|---|---|
committer | Andriy Gapon <avg@FreeBSD.org> | 2010-11-11 18:35:28 +0000 |
commit | 290e14f8811629e7cea510d6d12adada43945810 (patch) | |
tree | ab4a8852b8f7a080ba65cb8f77fcec31c195cb3f /sys/amd64/include | |
parent | 52a1393e4cd09c4d8c8b13aa8d5befb53eceb593 (diff) | |
download | src-290e14f8811629e7cea510d6d12adada43945810.tar.gz src-290e14f8811629e7cea510d6d12adada43945810.zip |
amd64: introduce minidump version 2
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
Notes
Notes:
svn path=/head/; revision=215133
Diffstat (limited to 'sys/amd64/include')
-rw-r--r-- | sys/amd64/include/minidump.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/include/minidump.h b/sys/amd64/include/minidump.h index 1ea92b773213..2ac529ccef59 100644 --- a/sys/amd64/include/minidump.h +++ b/sys/amd64/include/minidump.h @@ -30,14 +30,14 @@ #define _MACHINE_MINIDUMP_H_ 1 #define MINIDUMP_MAGIC "minidump FreeBSD/amd64" -#define MINIDUMP_VERSION 1 +#define MINIDUMP_VERSION 2 struct minidumphdr { char magic[24]; uint32_t version; uint32_t msgbufsize; uint32_t bitmapsize; - uint32_t ptesize; + uint32_t pmapsize; uint64_t kernbase; uint64_t dmapbase; uint64_t dmapend; |