aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/pmjump.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/boot/pmjump.S')
-rw-r--r--arch/x86/boot/pmjump.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/boot/pmjump.S b/arch/x86/boot/pmjump.S
index ef0da1f2c7fd..f7153d0d476e 100644
--- a/arch/x86/boot/pmjump.S
+++ b/arch/x86/boot/pmjump.S
@@ -36,6 +36,7 @@ protected_mode_jump:
36 addl %ebx, 2f 36 addl %ebx, 2f
37 37
38 movw $__BOOT_DS, %cx 38 movw $__BOOT_DS, %cx
39 movw $__BOOT_TSS, %di
39 40
40 movl %cr0, %edx 41 movl %cr0, %edx
41 orb $1, %dl # Protected mode (PE) bit 42 orb $1, %dl # Protected mode (PE) bit
@@ -63,6 +64,9 @@ in_pm32:
63 # a valid stack if some debugging hack wants to use it. 64 # a valid stack if some debugging hack wants to use it.
64 addl %ebx, %esp 65 addl %ebx, %esp
65 66
67 # Set up TR to make Intel VT happy
68 ltr %di
69
66 # Clear registers to allow for future extensions to the 70 # Clear registers to allow for future extensions to the
67 # 32-bit boot protocol 71 # 32-bit boot protocol
68 xorl %ecx, %ecx 72 xorl %ecx, %ecx
@@ -71,6 +75,9 @@ in_pm32:
71 xorl %ebp, %ebp 75 xorl %ebp, %ebp
72 xorl %edi, %edi 76 xorl %edi, %edi
73 77
78 # Set up LDTR to make Intel VT happy
79 lldt %cx
80
74 jmpl *%eax # Jump to the 32-bit entrypoint 81 jmpl *%eax # Jump to the 32-bit entrypoint
75 82
76 .size in_pm32, .-in_pm32 83 .size in_pm32, .-in_pm32