aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/head_64.S
diff options
context:
space:
mode:
authorGlauber Costa <gcosta@redhat.com>2008-05-27 21:22:54 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-08 06:48:14 -0400
commit9cf4f298e29abba25c16679fe7be70898223167e (patch)
tree009af01f7c8001fb86fcfa25226d0c78248b83c9 /arch/x86/kernel/head_64.S
parenta7bf0bd5e6af7fe69342dabf2a3b721f0163469a (diff)
x86: use stack_start in x86_64
call x86_64's init_rsp stack_start, just as i386 does. Put a zeroed stack segment for consistency. With this, we can eliminate one ugly ifdef in smpboot.c. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/head_64.S')
-rw-r--r--arch/x86/kernel/head_64.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index 263b9d14753e..918a2711aff6 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -191,7 +191,7 @@ ENTRY(secondary_startup_64)
191 movq %rax, %cr0 191 movq %rax, %cr0
192 192
193 /* Setup a boot time stack */ 193 /* Setup a boot time stack */
194 movq init_rsp(%rip),%rsp 194 movq stack_start(%rip),%rsp
195 195
196 /* zero EFLAGS after setting rsp */ 196 /* zero EFLAGS after setting rsp */
197 pushq $0 197 pushq $0
@@ -252,8 +252,9 @@ ENTRY(secondary_startup_64)
252 .quad x86_64_start_kernel 252 .quad x86_64_start_kernel
253 __FINITDATA 253 __FINITDATA
254 254
255 ENTRY(init_rsp) 255 ENTRY(stack_start)
256 .quad init_thread_union+THREAD_SIZE-8 256 .quad init_thread_union+THREAD_SIZE-8
257 .word 0
257 258
258bad_address: 259bad_address:
259 jmp bad_address 260 jmp bad_address