Messages in this thread Patch in this message | | | Date | Tue, 4 Mar 2008 15:49:15 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] reserve end-of-conventional-memory to 1MB on 32-bit v2 |
| |
* Mark McLoughlin <markmc@redhat.com> wrote:
> > This is the second attempt at a i386-version of the ebda patch. I > > hope that one of the Xen people will be able to check that this does > > not break their setups, but I think it will be fine after their > > patch to exclude the 0x9f000- 0x100000 area explicitly in their > > setup. > > Confirmed that with Ian's e820 map patch and your patch, Xen DomU > boots fine.
hm, for now i've only got the patch below queued up for v2.6.25.
Could you check whether just the patch below ontop of -rc3-ish upstream solves the problem too? The EBDA patch would be a bit risky now - it's queued up for v2.6.26 at the moment.
Ingo
---------------> Subject: x86/xen: fix DomU boot problem From: Ian Campbell <ijc@hellion.org.uk> Date: Thu, 28 Feb 2008 23:16:49 +0000
Construct Xen guest e820 map with a hole between 640K-1M.
It's pure luck that Xen kernels have gotten away with it in the past.
The patch below seems like the right thing to do. It certainly boots in a domU without the DMI problem (without any of the other related patches such as Alexander's).
Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Tested-by: Mark McLoughlin <markmc@redhat.com> Acked-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- arch/x86/xen/setup.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Index: linux-x86.q/arch/x86/xen/setup.c =================================================================== --- linux-x86.q.orig/arch/x86/xen/setup.c +++ linux-x86.q/arch/x86/xen/setup.c @@ -38,7 +38,8 @@ char * __init xen_memory_setup(void) unsigned long max_pfn = xen_start_info->nr_pages; e820.nr_map = 0; - add_memory_region(0, PFN_PHYS(max_pfn), E820_RAM); + add_memory_region(0, LOWMEMSIZE(), E820_RAM); + add_memory_region(HIGH_MEMORY, PFN_PHYS(max_pfn)-HIGH_MEMORY, E820_RAM); return "Xen"; }
| |