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.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S
index 827f41219d..19d476e6b5 100644
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -117,6 +117,9 @@ high_start:
.code32
trampoline_boot_cpu_entry:
+ jmp .Lskip_realmode
+ cmpb $0xff,bootsym_rel(realmode_available,5)
+ jnz .Lskip_realmode
cmpb $0,bootsym_rel(skip_realmode,5)
jnz .Lskip_realmode
@@ -202,6 +205,9 @@ trampoline_boot_cpu_entry:
skip_realmode:
.byte 0
+realmode_available:
+ .byte 0xff /* non-zero as xen resets bss on init */
+
GLOBAL(kbd_shift_flags)
.byte 0