aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/realmode/rm/trampoline_64.S15
1 files changed, 2 insertions, 13 deletions
diff --git a/arch/x86/realmode/rm/trampoline_64.S b/arch/x86/realmode/rm/trampoline_64.S
index 66c58cf15503..77b72b45d705 100644
--- a/arch/x86/realmode/rm/trampoline_64.S
+++ b/arch/x86/realmode/rm/trampoline_64.S
@@ -73,7 +73,7 @@ ENTRY(trampoline_data)
73 lmsw %ax # into protected mode 73 lmsw %ax # into protected mode
74 74
75 # flush prefetch and jump to startup_32 75 # flush prefetch and jump to startup_32
76 ljmpl *(startup_32_vector) 76 ljmpl $__KERNEL32_CS, $pa_startup_32
77 77
78no_longmode: 78no_longmode:
79 hlt 79 hlt
@@ -113,7 +113,7 @@ ENTRY(startup_32)
113 * EFER.LMA = 1). Now we want to jump in 64bit mode, to do that we use 113 * EFER.LMA = 1). Now we want to jump in 64bit mode, to do that we use
114 * the new gdt/idt that has __KERNEL_CS with CS.L = 1. 114 * the new gdt/idt that has __KERNEL_CS with CS.L = 1.
115 */ 115 */
116 ljmpl *(pa_startup_64_vector) 116 ljmpl $__KERNEL_CS, $pa_startup_64
117 117
118 .section ".text64","ax" 118 .section ".text64","ax"
119 .code64 119 .code64
@@ -144,17 +144,6 @@ tgdt:
144 .quad 0x00cf93000000ffff # __KERNEL_DS 144 .quad 0x00cf93000000ffff # __KERNEL_DS
145tgdt_end: 145tgdt_end:
146 146
147 .balign 4
148startup_32_vector:
149 .long pa_startup_32
150 .word __KERNEL32_CS, 0
151
152 .balign 4
153 .globl startup_64_vector
154startup_64_vector:
155 .long pa_startup_64
156 .word __KERNEL_CS, 0
157
158 .data 147 .data
159 .balign 4 148 .balign 4
160GLOBAL(trampoline_status) 149GLOBAL(trampoline_status)