[sparc32] [6/13] remove references to start_secondary()

William Lee Irwin III
2004-08-05T04:48:19Z

On Wed, Aug 04, 2004 at 09:46:27PM -0700, William Lee Irwin III wrote:
> smp_reschedule_irq() mysteriously vanished sometime after 2.4.
> This patch reinstates it so that the kernel will link properly
> and so cpus will set TIF_NEED_RESCHED when it's asked of them.

This looks rather unusual, however, this is what sparc32 really wants.
The function pointer argument to kernel_thread() is irrelevant here;
the execution state of the thread is established in the SMP trampoline.

Index: mm2-2.6.8-rc2/arch/sparc/kernel/sun4m_smp.c
===================================================================
--- mm2-2.6.8-rc2.orig/arch/sparc/kernel/sun4m_smp.c
+++ mm2-2.6.8-rc2/arch/sparc/kernel/sun4m_smp.c
@@ -124,7 +124,6 @@
extern int cpu_idle(void *unused);
extern void init_IRQ(void);
extern void cpu_panic(void);
-extern int start_secondary(void *unused);

/*
* Cycle through the processors asking the PROM to start each one.
@@ -174,7 +173,7 @@
int timeout;

/* Cook up an idler for this guy. */
- kernel_thread(start_secondary, NULL, CLONE_IDLETASK);
+ kernel_thread(NULL, NULL, CLONE_IDLETASK);

cpucount++;

Index: mm2-2.6.8-rc2/arch/sparc/kernel/sun4d_smp.c
===================================================================
--- mm2-2.6.8-rc2.orig/arch/sparc/kernel/sun4d_smp.c
+++ mm2-2.6.8-rc2/arch/sparc/kernel/sun4d_smp.c
@@ -149,7 +149,6 @@
extern int cpu_idle(void *unused);
extern void init_IRQ(void);
extern void cpu_panic(void);
-extern int start_secondary(void *unused);

/*
* Cycle through the processors asking the PROM to start each one.
@@ -202,7 +201,7 @@
int no;

/* Cook up an idler for this guy. */
- kernel_thread(start_secondary, NULL, CLONE_IDLETASK);
+ kernel_thread(NULL, NULL, CLONE_IDLETASK);

cpucount++;