|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-ia64-devel
[Xen-ia64-devel] [patch 2/2] Set alternate location for /proc/iomem	on i 
| 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>
---
Date: Tue, 25 Sep 2007 18:09:51 +0900
From: Horms <horms@xxxxxxxxxxxx>
Note that xen_present() just checks for the presance of /proc/xen
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-09-27 
11:00:14.000000000 +0900
@@ -0,0 +1,23 @@
+#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-09-27 
10:57:28.000000000 +0900
+++ kexec-tools-testing-20070330/kexec/arch/ia64/Makefile       2007-09-27 
10:59:37.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
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
[Xen-ia64-devel] [patch 04/12] Kexec: partial port of CPU_HOTPLUG, (continued)
[Xen-ia64-devel] [patch 04/12] Kexec: partial port of CPU_HOTPLUG, Simon Horman
[Xen-ia64-devel] [patch 08/12] Kexec: offsets for EFI runtime	regions, Simon Horman
[Xen-ia64-devel] [patch 12/12] Kexec: Implement elf_core_save_regs(), Simon Horman
[Xen-ia64-devel] [patch 10/12] Kexec: Map runtime EFI regions the	same way as Linux, Simon Horman
[Xen-ia64-devel] [patch 07/12] Kexec: Zap VHPT in relocate_kernel, Simon Horman
[Xen-ia64-devel] [patch 01/12] kexec for xen, Simon Horman
[Xen-ia64-devel] [patch 12/16] Date: Thu,	12 Jul 2007 15:50:37 +0900 Subkect: Kexec: machine	addresss macros From: Simon Horman <horms@xxxxxxxxxxxx>, Simon Horman
[Xen-ia64-devel] [patch 13/16] Kdump: Use the machine address for	the boot params region, Simon Horman
[Xen-ia64-devel] [patch 05/12] Kexec: Save the MADT ACPI tables so	that they can be restored, Simon Horman
[Xen-ia64-devel] [patch 09/12] Kexec: Allow page fault handler to	handle EFI regions, Simon Horman
[Xen-ia64-devel] [patch 2/2] Set alternate location for /proc/iomem	on ia64 xen,
Simon Horman <=
[Xen-devel] [patch 01/16] sysctl: implement CTL_UNNUMBERED, Simon Horman
[Xen-ia64-devel] [patch 16/16] kexec/kdump: call	xen_machine_kexec_setup_resources() after init_bootmem(), Simon Horman
[Xen-ia64-devel] [patch 07/16] Xenification of IA64 Kexec/kdump, Simon Horman
Re: [Xen-ia64-devel] [patch 07/16] Xenification of IA64 Kexec/kdump, Horms
[Xen-ia64-devel] [patch 02/16] Initialise xen_start_info earlier in	setup_arch(), Simon Horman
 |  |  | 
  
    |  |  |