summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2011-04-12 07:57:15 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-06-03 09:32:49 +0900
commit0d97559675bcba247e705712800ccd2c6d3674f1 (patch)
tree81a27715deb14163f912766daa3bb9dc659f84cf
parent0fa5814524bb6c60fdc28915f367d8a5aa2b72c4 (diff)
xen/setup: Ignore E820_UNUSABLE when setting 1-1 mappings.
commit 15bfc094517db2ddf38ca7ed47f3a1c0ad24f7c4 upstream. When we parse the raw E820, the Xen hypervisor can set "E820_RAM" to "E820_UNUSABLE" if the mem=X argument is used. As such we should _not_ consider the E820_UNUSABLE as an 1-1 identity mapping, but instead use the same case as for E820_RAM. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--arch/x86/xen/setup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 721f5760783b..ca6297bd4e3c 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -166,7 +166,7 @@ static unsigned long __init xen_set_identity(const struct e820entry *list,
if (last > end)
continue;
- if (entry->type == E820_RAM) {
+ if ((entry->type == E820_RAM) || (entry->type == E820_UNUSABLE)) {
if (start > start_pci)
identity += set_phys_range_identity(
PFN_UP(start_pci), PFN_DOWN(start));