Fix for xen guest with mem > 3.7G

From: Roberto De Ioris
Date: Sat Sep 13 2008 - 15:24:22 EST


Xen domU kernel 2.6.26 and 2.6.27-rc cannot allocate
more than 3.7GB of ram on my PAE systems (compiled
with gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)).

I have found the problem is in function xen_memory_setup (in
arch/x86/xen/setup.c).

It set max_pfn as 'unsigned long' but add_memory_region()
takes 'unsigned long long'.

I do not know if it is a compiler problem but this is the simple fix
(works on my systems):

--- setup.c.orig 2008-09-13 21:12:56.000000000 +0200
+++ setup.c 2008-09-13 20:35:29.000000000 +0200
@@ -36,7 +36,7 @@

char * __init xen_memory_setup(void)
{
- unsigned long max_pfn = xen_start_info->nr_pages;
+ unsigned long long max_pfn = xen_start_info->nr_pages;

e820.nr_map = 0;
add_memory_region(0, LOWMEMSIZE(), E820_RAM);



--
Roberto De Ioris
http://unbit.it
JID: roberto@xxxxxxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/