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 3/3] Set alternate location for /proc/iomem on i

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [patch 3/3] Set alternate location for /proc/iomem on ia64 xen
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Wed, 12 Sep 2007 18:17:43 +0900
Delivery-date: Wed, 12 Sep 2007 02:26:10 -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: <20070912091740.411152109@xxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: quilt/0.46-1
Use /proc/iomem_machine for ia64 xen where pysical and machine efi maps
differ.  Without this kexec gets a very jaded view of the world, and
/proc/vmcore after a kdump will only have a partial memory dump. Requires a
companion patch to kexec-tools.

Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>


Index: kexec-tools-testing-20070330/kexec/arch/ia64/kexec-iomem.c
===================================================================
--- /dev/null   1970-01-01 00:00:00.000000000 +0000
+++ kexec-tools-testing-20070330/kexec/arch/ia64/kexec-iomem.c  2007-08-28 
12:24:08.000000000 +0900
@@ -0,0 +1,24 @@
+#include <stdint.h>
+#include <stdio.h>
+#include "../../kexec.h"
+#include "../../crashdump.h"
+
+static const char proc_iomem_str[]= "/proc/iomem";
+static const char proc_iomem_machine_str[]= "/proc/iomem_machine";
+
+/*
+ * On IA64 XEN the EFI tables are virtualised.
+ * For this reason on such systems /proc/iomem_machine is provided,
+ * which is based on the hypervisor's (machine's) EFI tables.
+ * If Xen is in use, then /proc/iomem is used for memory regions relating
+ * to the currently running dom0 kernel, and /proc/iomem_machine is used
+ * for regions relating to the machine itself or the hypervisor.
+ * If Xen is not in used, then /proc/iomem is always used.
+ */
+const char *proc_iomem(int machine)
+{
+       if (machine && xen_present())
+               return proc_iomem_machine_str;
+        return proc_iomem_str;
+}
+
Index: kexec-tools-testing-20070330/kexec/arch/ia64/Makefile
===================================================================
--- kexec-tools-testing-20070330.orig/kexec/arch/ia64/Makefile  2007-08-28 
12:10:51.000000000 +0900
+++ kexec-tools-testing-20070330/kexec/arch/ia64/Makefile       2007-08-28 
12:12:38.000000000 +0900
@@ -1,6 +1,7 @@
 #
 # kexec ia64 (linux booting linux)
 #
+KEXEC_C_SRCS+= kexec/arch/ia64/kexec-iomem.c
 KEXEC_C_SRCS+= kexec/arch/ia64/kexec-ia64.c 
 KEXEC_C_SRCS+= kexec/arch/ia64/kexec-elf-ia64.c 
 KEXEC_C_SRCS+= kexec/arch/ia64/kexec-elf-rel-ia64.c

-- 

-- 
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