Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86/xen: fix DomU boot problem

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>
Acked-by: Thomas Gleixner <tglx@linutronix.de>

authored by

Ian Campbell and committed by
Ingo Molnar
87d034f3 7c9e92b6

+2 -1
+2 -1
arch/x86/xen/setup.c
··· 38 38 unsigned long max_pfn = xen_start_info->nr_pages; 39 39 40 40 e820.nr_map = 0; 41 - add_memory_region(0, PFN_PHYS(max_pfn), E820_RAM); 41 + add_memory_region(0, LOWMEMSIZE(), E820_RAM); 42 + add_memory_region(HIGH_MEMORY, PFN_PHYS(max_pfn)-HIGH_MEMORY, E820_RAM); 42 43 43 44 return "Xen"; 44 45 }