aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/smpboot.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-18 17:41:32 +0100
committerIngo Molnar <mingo@elte.hu>2009-01-18 17:41:32 +0100
commit99937d6455cea95405ac681c86a857d0fcd530bd (patch)
tree5a40a9ca966e5feda1040f9ef2c7798ac4d1e234 /arch/x86/kernel/smpboot.c
parent74e7904559a10cbb9fbf9139c5c42fc87c0f62a4 (diff)
parent87b264065880fa696c121dad8498a60524e0f6de (diff)
downloadkernel_samsung_smdk4412-99937d6455cea95405ac681c86a857d0fcd530bd.zip
kernel_samsung_smdk4412-99937d6455cea95405ac681c86a857d0fcd530bd.tar.gz
kernel_samsung_smdk4412-99937d6455cea95405ac681c86a857d0fcd530bd.tar.bz2
Merge branch 'tj-percpu' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r--arch/x86/kernel/smpboot.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 2f0e0f1..869b988 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -790,15 +790,17 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
set_idle_for_cpu(cpu, c_idle.idle);
do_rest:
-#ifdef CONFIG_X86_32
per_cpu(current_task, cpu) = c_idle.idle;
+#ifdef CONFIG_X86_32
init_gdt(cpu);
/* Stack for startup_32 can be just as for start_secondary onwards */
irq_ctx_init(cpu);
#else
- cpu_pda(cpu)->pcurrent = c_idle.idle;
clear_tsk_thread_flag(c_idle.idle, TIF_FORK);
initial_gs = per_cpu_offset(cpu);
+ per_cpu(kernel_stack, cpu) =
+ (unsigned long)task_stack_page(c_idle.idle) -
+ KERNEL_STACK_OFFSET + THREAD_SIZE;
#endif
early_gdt_descr.address = (unsigned long)get_cpu_gdt_table(cpu);
initial_code = (unsigned long)start_secondary;