aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/include
diff options
context:
space:
mode:
authorAndriy Gapon <avg@FreeBSD.org>2010-11-11 18:35:28 +0000
committerAndriy Gapon <avg@FreeBSD.org>2010-11-11 18:35:28 +0000
commit290e14f8811629e7cea510d6d12adada43945810 (patch)
treeab4a8852b8f7a080ba65cb8f77fcec31c195cb3f /sys/amd64/include
parent52a1393e4cd09c4d8c8b13aa8d5befb53eceb593 (diff)
downloadsrc-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.h4
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;