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>
这个提交包含在:
Glauber Costa
2008-05-27 18:22:54 -07:00
提交者 Ingo Molnar
父节点 a7bf0bd5e6
当前提交 9cf4f298e2
修改 3 个文件,包含 5 行新增9 行删除

查看文件

@@ -191,7 +191,7 @@ ENTRY(secondary_startup_64)
movq %rax, %cr0
/* Setup a boot time stack */
movq init_rsp(%rip),%rsp
movq stack_start(%rip),%rsp
/* zero EFLAGS after setting rsp */
pushq $0
@@ -252,8 +252,9 @@ ENTRY(secondary_startup_64)
.quad x86_64_start_kernel
__FINITDATA
ENTRY(init_rsp)
ENTRY(stack_start)
.quad init_thread_union+THREAD_SIZE-8
.word 0
bad_address:
jmp bad_address