Messages in this thread Patch in this message |  | | Date | Mon, 16 Jun 2008 14:54:49 -0700 | From | Jeremy Fitzhardinge <> | Subject | [PATCH 2/3] xen: reserve ISA space in e820 map |
| |
Even though the ISA space is perfectly normal, usable RAM under Xen, too many random pieces of code want to poke in there for stuff. Previously we added the memory on either side to the e820 map as RAM, leaving the ISA hole completely absent. However, now that we're using sanitize_e820_map() to clean things up, it's a bit neater to claim all of memory as RAM, and then mark E820_RESERVED ranges within it.
[ TODO: release the underlying memory back to Xen. ]
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Yinghai Lu <yhlu.kernel@gmail.com> Cc: Ian Campbell <ian.campbell@citrix.com> --- arch/x86/xen/setup.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
=================================================================== --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c @@ -13,6 +13,7 @@ #include <asm/vdso.h> #include <asm/e820.h> #include <asm/setup.h> +#include <asm/acpi.h> #include <asm/xen/hypervisor.h> #include <asm/xen/hypercall.h> @@ -41,8 +42,15 @@ e820.nr_map = 0; - e820_add_region(0, LOWMEMSIZE(), E820_RAM); - e820_add_region(HIGH_MEMORY, PFN_PHYS(max_pfn)-HIGH_MEMORY, E820_RAM); + e820_add_region(0, PFN_PHYS(max_pfn), E820_RAM); + + /* + * Even though this is normal, usable memory under Xen, reserve + * ISA memory anyway because too many things think they can poke + * about in there. + */ + e820_add_region(ISA_START_ADDRESS, ISA_END_ADDRESS - ISA_START_ADDRESS, + E820_RESERVED); /* * Reserve Xen bits:
|  |