summaryrefslogtreecommitdiff
path: root/i386/xen
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2011-01-31 02:19:34 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2011-01-31 02:19:34 +0100
commit8e01f3e5f98c4b2507441c2c4c66f1c8930211dc (patch)
treef66f007605d41e76e91526ced2dcfb534e8d62d2 /i386/xen
parent2f9d3f1ce47d7601a9d200d1bedfa07bfec278df (diff)
Enable Xen >4GiB physical memory support
* i386/i386/gdt.c (gdt_init): Enable VMASST_TYPE_pae_extended_cr3. * i386/i386/xen.h: Drop actually-unneeded comment. * i386/xen/xen_boothdr.S (FEATURES) [MACH_PSEUDO_PHYS]: Add pae_pgdir_above_4gb. (XEN_ELFNOTE_FEATURES) [MACH_PSEUDO_PHYS]: Add pae_pgdir_above_4gb.
Diffstat (limited to 'i386/xen')
-rw-r--r--i386/xen/xen_boothdr.S10
1 files changed, 7 insertions, 3 deletions
diff --git a/i386/xen/xen_boothdr.S b/i386/xen/xen_boothdr.S
index 604e13b..6d595ab 100644
--- a/i386/xen/xen_boothdr.S
+++ b/i386/xen/xen_boothdr.S
@@ -31,7 +31,9 @@
.ascii ",PAE=no"
#endif
.ascii ",LOADER=generic"
-#ifndef MACH_PSEUDO_PHYS
+#ifdef MACH_PSEUDO_PHYS
+ .ascii ",FEATURES=pae_pgdir_above_4gb"
+#else /* MACH_PSEUDO_PHYS */
.ascii ",FEATURES=!auto_translated_physmap"
#endif
.byte 0
@@ -63,8 +65,10 @@
#endif
ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic")
ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, ""
-#ifndef MACH_PSEUDO_PHYS
- "!auto_translated_physmap"
+#ifdef MACH_PSEUDO_PHYS
+ "pae_pgdir_above_4gb"
+#else /* MACH_PSEUDO_PHYS */
+ "!auto_translated_physmap|"
#endif
)