diff options
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index d3ad4e09455b..a71e3cad5470 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -714,11 +714,7 @@ wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip) | |||
714 | * target processor state. | 714 | * target processor state. |
715 | */ | 715 | */ |
716 | startup_ipi_hook(phys_apicid, (unsigned long) start_secondary, | 716 | startup_ipi_hook(phys_apicid, (unsigned long) start_secondary, |
717 | #ifdef CONFIG_X86_64 | ||
718 | (unsigned long)init_rsp); | ||
719 | #else | ||
720 | (unsigned long)stack_start.sp); | 717 | (unsigned long)stack_start.sp); |
721 | #endif | ||
722 | 718 | ||
723 | /* | 719 | /* |
724 | * Run STARTUP IPI loop. | 720 | * Run STARTUP IPI loop. |
@@ -905,15 +901,14 @@ do_rest: | |||
905 | early_gdt_descr.address = (unsigned long)get_cpu_gdt_table(cpu); | 901 | early_gdt_descr.address = (unsigned long)get_cpu_gdt_table(cpu); |
906 | c_idle.idle->thread.ip = (unsigned long) start_secondary; | 902 | c_idle.idle->thread.ip = (unsigned long) start_secondary; |
907 | /* Stack for startup_32 can be just as for start_secondary onwards */ | 903 | /* Stack for startup_32 can be just as for start_secondary onwards */ |
908 | stack_start.sp = (void *) c_idle.idle->thread.sp; | ||
909 | irq_ctx_init(cpu); | 904 | irq_ctx_init(cpu); |
910 | #else | 905 | #else |
911 | cpu_pda(cpu)->pcurrent = c_idle.idle; | 906 | cpu_pda(cpu)->pcurrent = c_idle.idle; |
912 | init_rsp = c_idle.idle->thread.sp; | ||
913 | load_sp0(&per_cpu(init_tss, cpu), &c_idle.idle->thread); | 907 | load_sp0(&per_cpu(init_tss, cpu), &c_idle.idle->thread); |
914 | initial_code = (unsigned long)start_secondary; | 908 | initial_code = (unsigned long)start_secondary; |
915 | clear_tsk_thread_flag(c_idle.idle, TIF_FORK); | 909 | clear_tsk_thread_flag(c_idle.idle, TIF_FORK); |
916 | #endif | 910 | #endif |
911 | stack_start.sp = (void *) c_idle.idle->thread.sp; | ||
917 | 912 | ||
918 | /* start_ip had better be page-aligned! */ | 913 | /* start_ip had better be page-aligned! */ |
919 | start_ip = setup_trampoline(); | 914 | start_ip = setup_trampoline(); |