aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/boot/x86_64.S
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-09-11 16:03:38 +0200
committerJan Beulich <jbeulich@suse.com>2012-09-11 16:03:38 +0200
commita495404575be41b26d86464b1ecc33c4a0d4b90f (patch)
tree5e5a204ec2ab57ee690eb90f4e07f7573df111f5 /xen/arch/x86/boot/x86_64.S
parente46ea4d44dc0929d9e15dcde5c13b569278970d2 (diff)
downloadxen-a495404575be41b26d86464b1ecc33c4a0d4b90f.tar.gz
xen-a495404575be41b26d86464b1ecc33c4a0d4b90f.tar.bz2
xen-a495404575be41b26d86464b1ecc33c4a0d4b90f.zip
x86: construct static part of 1:1 mapping at build time
... rather than at boot time, removing unnecessary redundancy between EFI and legacy boot code. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/boot/x86_64.S')
-rw-r--r--xen/arch/x86/boot/x86_64.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 3c0958bcf2..8c7bb6ec43 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -127,3 +127,15 @@ ENTRY(boot_cpu_compat_gdt_table)
.fill (PER_CPU_GDT_ENTRY - __HYPERVISOR_CS32 / 8 - 1), 8, 0
.quad 0x0000910000000000 /* per-CPU entry (limit == cpu) */
.align PAGE_SIZE, 0
+
+/* Mapping of first 16 megabytes of memory. */
+ .globl l2_identmap
+l2_identmap:
+ .quad 0
+ pfn = 0
+ .rept 7
+ pfn = pfn + (1 << PAGETABLE_ORDER)
+ .quad (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | _PAGE_PSE
+ .endr
+ .fill 4 * L2_PAGETABLE_ENTRIES - 8, 8, 0
+ .size l2_identmap, . - l2_identmap