From: William Lee Irwin III Fix up sparc32 properly. Signed-off-by: Andrew Morton --- 25-akpm/arch/sparc/kernel/sun4d_smp.c | 2 +- 25-akpm/arch/sparc/kernel/sun4m_smp.c | 11 +---------- 2 files changed, 2 insertions(+), 11 deletions(-) diff -puN arch/sparc/kernel/sun4d_smp.c~sched-sparc32-fix arch/sparc/kernel/sun4d_smp.c --- 25/arch/sparc/kernel/sun4d_smp.c~sched-sparc32-fix 2004-08-07 19:27:45.545113016 -0700 +++ 25-akpm/arch/sparc/kernel/sun4d_smp.c 2004-08-07 19:27:45.549112408 -0700 @@ -201,7 +201,7 @@ void __init smp4d_boot_cpus(void) int no; /* Cook up an idler for this guy. */ - p = fork_idle(p, cpu); + p = fork_idle(p, i); cpucount++; current_set[i] = p->thread_info; for (no = 0; !cpu_find_by_instance(no, NULL, &mid) diff -puN arch/sparc/kernel/sun4m_smp.c~sched-sparc32-fix arch/sparc/kernel/sun4m_smp.c --- 25/arch/sparc/kernel/sun4m_smp.c~sched-sparc32-fix 2004-08-07 19:27:45.546112864 -0700 +++ 25-akpm/arch/sparc/kernel/sun4m_smp.c 2004-08-07 19:27:45.550112256 -0700 @@ -173,18 +173,9 @@ void __init smp4m_boot_cpus(void) int timeout; /* Cook up an idler for this guy. */ - kernel_thread(start_secondary, NULL, CLONE_IDLETASK); - + p = fork_idle(i); cpucount++; - - p = prev_task(&init_task); - - init_idle(p, i); - current_set[i] = p->thread_info; - - unhash_process(p); - /* See trampoline.S for details... */ entry += ((i-1) * 3); _