summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2009-12-09 08:09:25 +0000
committerkmacy <kmacy@FreeBSD.org>2009-12-09 08:09:25 +0000
commit69e3b41184101b4cd3e0e822f4631ad8054813c0 (patch)
treef53475780ade8291d3c8e7a27e2975872d369495 /sys/i386
parentdd5a134c1b58b0113ba754b78460c32a8e3e7b29 (diff)
downloadFreeBSD-src-69e3b41184101b4cd3e0e822f4631ad8054813c0.zip
FreeBSD-src-69e3b41184101b4cd3e0e822f4631ad8054813c0.tar.gz
make PV core dump actually dump memory - still need to fix program header initialization
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/dump_machdep.c4
-rw-r--r--sys/i386/i386/machdep.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/sys/i386/i386/dump_machdep.c b/sys/i386/i386/dump_machdep.c
index d0c6ba7..2f5dcc9 100644
--- a/sys/i386/i386/dump_machdep.c
+++ b/sys/i386/i386/dump_machdep.c
@@ -182,7 +182,11 @@ cb_dumpdata(struct md_pa *mdp, int seqnr, void *arg)
}
for (i = 0; i < chunk; i++) {
a = pa + i * PAGE_SIZE;
+#ifdef XEN
+ va = pmap_kenter_temporary(xpmap_ptom(trunc_page(a)), i);
+#else
va = pmap_kenter_temporary(trunc_page(a), i);
+#endif
}
error = dump_write(di, va, 0, dumplo, sz);
if (error)
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index 5c294eb..8313216 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -2432,6 +2432,9 @@ do_next:
#else
phys_avail[0] = physfree;
phys_avail[1] = xen_start_info->nr_pages*PAGE_SIZE;
+ dump_avail[0] = 0;
+ dump_avail[1] = xen_start_info->nr_pages*PAGE_SIZE;
+
#endif
/*
OpenPOWER on IntegriCloud