vserver 1.9.3
[linux-2.6.git] / arch / mips / kernel / smp.c
index 1f917fe..6d1c473 100644 (file)
@@ -35,7 +35,6 @@
 #include <asm/cpu.h>
 #include <asm/processor.h>
 #include <asm/system.h>
-#include <asm/hardirq.h>
 #include <asm/mmu_context.h>
 #include <asm/smp.h>
 
@@ -254,16 +253,6 @@ void __devinit smp_prepare_boot_cpu(void)
        cpu_set(0, cpu_callin_map);
 }
 
-static struct task_struct * __init fork_by_hand(void)
-{
-       struct pt_regs regs;
-       /*
-        * don't care about the eip and regs settings since
-        * we'll never reschedule the forked task.
-        */
-       return copy_process(CLONE_VM|CLONE_IDLETASK, 0, &regs, 0, NULL, NULL);
-}
-
 /*
  * Startup the CPU with this logical number
  */
@@ -275,20 +264,10 @@ static int __init do_boot_cpu(int cpu)
         * The following code is purely to make sure
         * Linux can schedule processes on this slave.
         */
-       idle = fork_by_hand();
+       idle = fork_idle(cpu);
        if (IS_ERR(idle))
                panic("failed fork for CPU %d\n", cpu);
 
-       wake_up_forked_process(idle);
-
-       /*
-        * We remove it from the pidhash and the runqueue once we've
-        * got the process:
-        */
-       init_idle(idle, cpu);
-
-       unhash_process(idle);
-
        prom_boot_secondary(cpu, idle);
 
        /* XXXKW timeout */