Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 89877e42827f16fa5f86b1df0c2860b1 > files > 2607

kernel-2.6.18-128.1.10.el5.src.rpm

From: Stephen C. Tweedie <sct@redhat.com>
Subject: [RHEL-5.1 PATCH] Allow 32-bit Xen to kdump >4G physical memory
Date: Mon, 10 Sep 2007 16:13:13 +0100
Bugzilla: 251341
Message-Id: <1189437193.11438.35.camel@sisko.scot.redhat.com>
Changelog: [Xen] Allow 32-bit Xen to kdump >4G physical memory


Hi,

This patch allows /proc/iomem to report physical memory above 4GB on 
kernel-xen.  The kexec userland tools use that information to set up the
kdump kernel; without the patch, the kdump kernel is still run but is
only aware of memory below 4G.

Our RHEL baremetal kernels, and the upstream Xen kernels, already have
this.  Without it we cannot get a vmcore above 4G, severely impacting
support of larger 32-bit boxes.

Fixes bug 251341.  I've tested that with the patch, I can get a complete
vmcore from an 8G i686 box, and that crash can successfully read the
resulting vmcore.

Please ACK.

--Stephen


diff -uNrp linux-2.6.18.i386.orig/arch/i386/kernel/setup-xen.c linux-2.6.18.i386/arch/i386/kernel/setup-xen.c
--- linux-2.6.18.i386.orig/arch/i386/kernel/setup-xen.c	2007-08-07 19:12:58.000000000 +0900
+++ linux-2.6.18.i386/arch/i386/kernel/setup-xen.c	2007-08-07 20:32:02.000000000 +0900
@@ -1440,8 +1440,10 @@ legacy_init_iomem_resources(struct resou
 
 	for (i = 0; i < nr_map; i++) {
 		struct resource *res;
+#ifndef CONFIG_RESOURCES_64BIT
 		if (map[i].addr + map[i].size > 0x100000000ULL)
 			continue;
+#endif
 		res = kzalloc(sizeof(struct resource), GFP_ATOMIC);
 		switch (map[i].type) {
 		case E820_RAM:	res->name = "System RAM"; break;