summaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/setup.c
diff options
context:
space:
mode:
authorDavid Vrabel2014-01-03 16:46:10 +0100
committerDavid Vrabel2014-05-15 17:15:18 +0200
commit25b884a83d487fd62c3de7ac1ab5549979188482 (patch)
tree97ba9a29b44bc117ff975a4a9591511a7f931468 /arch/x86/xen/setup.c
parentx86/xen: only warn once if bad MFNs are found during setup (diff)
downloadkernel-qcow2-linux-25b884a83d487fd62c3de7ac1ab5549979188482.tar.gz
kernel-qcow2-linux-25b884a83d487fd62c3de7ac1ab5549979188482.tar.xz
kernel-qcow2-linux-25b884a83d487fd62c3de7ac1ab5549979188482.zip
x86/xen: set regions above the end of RAM as 1:1
PCI devices may have BARs located above the end of RAM so mark such frames as identity frames in the p2m (instead of the default of missing). PFNs outside the p2m (above MAX_P2M_PFN) are also considered to be identity frames for the same reason. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/x86/xen/setup.c')
-rw-r--r--arch/x86/xen/setup.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 2afe55e21d59..210426a26cc0 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -469,6 +469,15 @@ char * __init xen_memory_setup(void)
}
/*
+ * Set the rest as identity mapped, in case PCI BARs are
+ * located here.
+ *
+ * PFNs above MAX_P2M_PFN are considered identity mapped as
+ * well.
+ */
+ set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul);
+
+ /*
* In domU, the ISA region is normal, usable memory, but we
* reserve ISA memory anyway because too many things poke
* about in there.