summaryrefslogtreecommitdiffstats
path: root/arch/x86/xen
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk2011-04-12 13:57:15 +0200
committerKonrad Rzeszutek Wilk2011-05-12 20:32:13 +0200
commit15bfc094517db2ddf38ca7ed47f3a1c0ad24f7c4 (patch)
tree44e191de5d4fd4f84c33284cef5764e793ee7972 /arch/x86/xen
parentLinux 2.6.39-rc7 (diff)
downloadkernel-qcow2-linux-15bfc094517db2ddf38ca7ed47f3a1c0ad24f7c4.tar.gz
kernel-qcow2-linux-15bfc094517db2ddf38ca7ed47f3a1c0ad24f7c4.tar.xz
kernel-qcow2-linux-15bfc094517db2ddf38ca7ed47f3a1c0ad24f7c4.zip
xen/setup: Ignore E820_UNUSABLE when setting 1-1 mappings.
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>
Diffstat (limited to 'arch/x86/xen')
-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 90bac0aac3a5..fba4a6cc3a2d 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));