[PATCH 2/3] xen: reserve ISA space in e820 map

From: Jeremy Fitzhardinge
Date: Mon Jun 16 2008 - 17:55:53 EST


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@xxxxxxxxxx>
Cc: Yinghai Lu <yhlu.kernel@xxxxxxxxx>
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
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:


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