Re: Fix for xen guest with mem > 3.7G

From: Jeremy Fitzhardinge
Date: Sat Sep 13 2008 - 17:09:51 EST


Roberto De Ioris wrote:
> 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):
>

Thanks very much for the patch. We have a more general fix for this in
Ingo's tip.git tree, but I overlooked that this particular problem
affected current -rc.

Ingo, this is fixed by the phys_addr_t + PFN_PHYS() patches. Should we
send them up to Linus, or do an ad-hoc fix in this one place?

Thanks,
J

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

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