patch-2.4.16 linux/arch/ppc/kernel/smp.c

Next file: linux/arch/ppc/mm/ppc_mmu.c
Previous file: linux/arch/ppc/kernel/signal.c
Back to the patch index
Back to the overall index

diff -Nur linux-2.4.15/arch/ppc/kernel/smp.c linux/arch/ppc/kernel/smp.c
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.smp.c 1.34 10/11/01 12:06:01 trini
+ * BK Id: SCCS/s.smp.c 1.37 11/23/01 16:38:30 paulus
  */
 /*
  * Smp support for ppc.
@@ -37,8 +37,6 @@
 #include <asm/residual.h>
 #include <asm/time.h>
 
-#include "open_pic.h"
-
 int smp_threads_ready;
 volatile int smp_commenced;
 int smp_num_cpus = 1;
@@ -324,21 +322,8 @@
 		struct pt_regs regs;
 		
 		/* create a process for the processor */
-		/* we don't care about the values in regs since we'll
-		   never reschedule the forked task. */
-		/* We DO care about one bit in the pt_regs we
-		   pass to do_fork.  That is the MSR_FP bit in 
-		   regs.msr.  If that bit is on, then do_fork
-		   (via copy_thread) will call giveup_fpu.
-		   giveup_fpu will get a pointer to our (current's)
-		   last register savearea via current->thread.regs 
-		   and using that pointer will turn off the MSR_FP,
-		   MSR_FE0 and MSR_FE1 bits.  At this point, this 
-		   pointer is pointing to some arbitrary point within
-		   our stack. */
-
+		/* only regs.msr is actually used, and 0 is OK for it */
 		memset(&regs, 0, sizeof(struct pt_regs));
-		
 		if (do_fork(CLONE_VM|CLONE_PID, 0, &regs, 0) < 0)
 			panic("failed fork for CPU %d", i);
 		p = init_task.prev_task;
@@ -505,8 +490,6 @@
 	cpu_callin_map[cpu] = 1;
 
 	smp_ops->setup_cpu(cpu);
-
-	init_idle();
 
 	/*
 	 * This cpu is now "online".  Only set them online

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)