diff options
author | Glauber Costa <gcosta@redhat.com> | 2008-05-27 21:22:54 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 06:48:14 -0400 |
commit | 9cf4f298e29abba25c16679fe7be70898223167e (patch) | |
tree | 009af01f7c8001fb86fcfa25226d0c78248b83c9 /arch/x86/kernel/head_64.S | |
parent | a7bf0bd5e6af7fe69342dabf2a3b721f0163469a (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.S | 5 |
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 | ||
258 | bad_address: | 259 | bad_address: |
259 | jmp bad_address | 260 | jmp bad_address |