[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] Kdump: Save dom0_mm_pgd_mfn in vmcore on ia64



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1190927442 21600
# Node ID d7c3b12014b355069bcea51520289befe6d4db9b
# Parent  4108c2589fd1c48688e4f8cf522a8b4e660b4e63
[IA64] Kdump: Save dom0_mm_pgd_mfn in vmcore on ia64

On Xen dom0_mm_pgd_mfn needs to be saved in the vmcore in
order to allow the crash utility to navigate the vmcore file.

Cc: Itsuro ODA <oda@xxxxxxxxxxxxx>
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>
---
 xen/arch/ia64/xen/crash.c |   13 +++++++++----
 xen/include/xen/elfcore.h |    5 ++++-
 2 files changed, 13 insertions(+), 5 deletions(-)

diff -r 4108c2589fd1 -r d7c3b12014b3 xen/arch/ia64/xen/crash.c
--- a/xen/arch/ia64/xen/crash.c Thu Sep 27 15:08:13 2007 -0600
+++ b/xen/arch/ia64/xen/crash.c Thu Sep 27 15:10:42 2007 -0600
@@ -15,16 +15,21 @@
 #include <linux/hardirq.h>
 #include <linux/smp.h>
 #include <asm/processor.h>
+#include <xen/sched.h>
 
 void machine_crash_shutdown(void)
 {
-    //printk("machine_crash_shutdown: %d\n", smp_processor_id());
+    crash_xen_info_t *info;
+    unsigned long dom0_mm_pgd_mfn;
+
     if (in_interrupt())
         ia64_eoi();
     kexec_crash_save_info();
-    printk(__FILE__ ": %s: save the eqivalent of x86's "
-           "dom0->shared_info->arch.pfn_to_mfn_frame_list_list?\n",
-           __FUNCTION__);
+    info = kexec_crash_save_info();
+    /* Info is not word aligned on ia64 */
+    dom0_mm_pgd_mfn = __pa(dom0->arch.mm.pgd) >> PAGE_SHIFT;
+    memcpy((char *)info + offsetof(crash_xen_info_t, dom0_mm_pgd_mfn),
+          &dom0_mm_pgd_mfn, sizeof(dom0_mm_pgd_mfn));
 #ifdef CONFIG_SMP
     smp_send_stop();
 #endif
diff -r 4108c2589fd1 -r d7c3b12014b3 xen/include/xen/elfcore.h
--- a/xen/include/xen/elfcore.h Thu Sep 27 15:08:13 2007 -0600
+++ b/xen/include/xen/elfcore.h Thu Sep 27 15:10:42 2007 -0600
@@ -65,8 +65,11 @@ typedef struct {
     unsigned long xen_compile_date;
     unsigned long xen_compile_time;
     unsigned long tainted;
-#ifdef CONFIG_X86
+#if defined(__i386__) || defined(__x86_64__)
     unsigned long dom0_pfn_to_mfn_frame_list_list;
+#endif
+#if defined(__ia64__)
+    unsigned long dom0_mm_pgd_mfn;
 #endif
 } crash_xen_info_t;
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.