WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

[Xen-ia64-devel] [patch 03/14] Kdump: Save dom0_mm_pgd_mfn in vmcore on

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch 03/14] Kdump: Save dom0_mm_pgd_mfn in vmcore on ia64
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Wed, 12 Sep 2007 17:08:48 +0900
Delivery-date: Wed, 12 Sep 2007 01:42:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20070912080845.674923870@xxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: quilt/0.46-1
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>

Index: xen-ia64-unstable-14854.hg/xen/include/xen/elfcore.h
===================================================================
--- xen-ia64-unstable-14854.hg.orig/xen/include/xen/elfcore.h   2007-04-24 
13:22:55.000000000 +0900
+++ xen-ia64-unstable-14854.hg/xen/include/xen/elfcore.h        2007-04-24 
13:23:03.000000000 +0900
@@ -65,9 +65,12 @@ 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;
 
 #endif /* __ELFCOREC_H__ */
Index: xen-ia64-unstable-14854.hg/xen/arch/ia64/xen/crash.c
===================================================================
--- xen-ia64-unstable-14854.hg.orig/xen/arch/ia64/xen/crash.c   2007-04-24 
13:22:55.000000000 +0900
+++ xen-ia64-unstable-14854.hg/xen/arch/ia64/xen/crash.c        2007-04-24 
14:46:59.000000000 +0900
@@ -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

-- 

-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/


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