aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/x86_64/mm.c
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2010-11-09 11:49:49 +0000
committerKeir Fraser <keir@xen.org>2010-11-09 11:49:49 +0000
commit5a771800114c437fb857b44b3ed74f60e87979c2 (patch)
treea9a1089b753cdfb65757b08c6406d1721d989ad3 /xen/arch/x86/x86_64/mm.c
parente04aea7477c379e904e7520bdfa2f42284427a97 (diff)
downloadxen-5a771800114c437fb857b44b3ed74f60e87979c2.tar.gz
xen-5a771800114c437fb857b44b3ed74f60e87979c2.tar.bz2
xen-5a771800114c437fb857b44b3ed74f60e87979c2.zip
x86: do away with the boot time low-memory 1:1 mapping
By doing so, we're no longer restricted to be able to place all boot loader modules into the low 1Gb/4Gb (32-/64-bit) of memory, nor is there a dependency anymore on where the boot loader places the modules. We're also no longer restricted to copy the modules into a place below 4Gb, nor to put them all together into a single piece of memory. Further it allows even the 32-bit Dom0 kernel to be loaded anywhere in physical memory (except if it doesn't support PAE-above-4G). Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/x86_64/mm.c')
-rw-r--r--xen/arch/x86/x86_64/mm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index 126b2c9421..883d23fa84 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -65,6 +65,12 @@ l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
l2_xenmap[L2_PAGETABLE_ENTRIES];
+/* Enough page directories to map into the bottom 1GB. */
+l3_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
+ l3_bootmap[L3_PAGETABLE_ENTRIES];
+l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
+ l2_bootmap[L2_PAGETABLE_ENTRIES];
+
int __mfn_valid(unsigned long mfn)
{
return likely(mfn < max_page) &&