aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/boot/trampoline.S
diff options
context:
space:
mode:
Diffstat (limited to 'xen/arch/x86/boot/trampoline.S')
-rw-r--r--xen/arch/x86/boot/trampoline.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S
index 2c92dc6a00..143612c91f 100644
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -155,6 +155,13 @@ trampoline_boot_cpu_entry:
lidt bootsym(rm_idt)
sti
+#if defined(__x86_64__)
+ /* Declare that our target operating mode is long mode. */
+ movw $0xec00,%ax # declare target operating mode
+ movw $0x0002,%bx # long mode
+ int $0x15
+#endif
+
/*
* Do real-mode work:
* 1. Get memory map.