X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fsh%2Fkernel%2Fsmp.c;h=6ff83edf8374ea308ab2efc2225e77ea15575dbb;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=adb8eae9f39ccd4afce2396bb176d907b9897d9b;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index adb8eae9f..6ff83edf8 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include @@ -98,19 +97,12 @@ void __devinit smp_prepare_boot_cpu(void) int __cpu_up(unsigned int cpu) { struct task_struct *tsk; - struct pt_regs regs; - memset(®s, 0, sizeof(struct pt_regs)); - tsk = copy_process(CLONE_VM | CLONE_IDLETASK, 0, ®s, 0, 0, 0); + tsk = fork_idle(cpu); if (IS_ERR(tsk)) panic("Failed forking idle task for cpu %d\n", cpu); - wake_up_forked_process(tsk); - - init_idle(tsk, cpu); - unhash_process(tsk); - tsk->thread_info->cpu = cpu; cpu_set(cpu, cpu_online_map);