diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2013-02-15 09:52:06 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-02-20 16:36:50 -0500 |
commit | f9fd3488f6a3c2c5cc8613e4fd7fbbaa57f6bf8f (patch) | |
tree | dfc2f084424f34f257dcca83d495bf216dcdfd2b /arch/sparc/kernel/kernel.h | |
parent | 76968ad2eac6456270353de168b21f04f4b3d1d3 (diff) |
sparc32: refactor smp boot
Introduce a common smp_callin() function to call
from trampoline_32.S.
Add platform specific functions to handle the
platform details.
This is in preparation for a patch that will
unify the smp boot stuff for all architectures.
sparc32 was significantly different to warrant
this patch in preparation.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
Acked-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/kernel.h')
-rw-r--r-- | arch/sparc/kernel/kernel.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/sparc/kernel/kernel.h b/arch/sparc/kernel/kernel.h index 291bb5de9ce0..a702d9ab019c 100644 --- a/arch/sparc/kernel/kernel.h +++ b/arch/sparc/kernel/kernel.h | |||
@@ -48,6 +48,10 @@ extern void sun4m_init_IRQ(void); | |||
48 | extern void sun4m_unmask_profile_irq(void); | 48 | extern void sun4m_unmask_profile_irq(void); |
49 | extern void sun4m_clear_profile_irq(int cpu); | 49 | extern void sun4m_clear_profile_irq(int cpu); |
50 | 50 | ||
51 | /* sun4m_smp.c */ | ||
52 | void sun4m_cpu_pre_starting(void *arg); | ||
53 | void sun4m_cpu_pre_online(void *arg); | ||
54 | |||
51 | /* sun4d_irq.c */ | 55 | /* sun4d_irq.c */ |
52 | extern spinlock_t sun4d_imsk_lock; | 56 | extern spinlock_t sun4d_imsk_lock; |
53 | 57 | ||
@@ -60,6 +64,14 @@ extern int show_sun4d_interrupts(struct seq_file *, void *); | |||
60 | extern void sun4d_distribute_irqs(void); | 64 | extern void sun4d_distribute_irqs(void); |
61 | extern void sun4d_free_irq(unsigned int irq, void *dev_id); | 65 | extern void sun4d_free_irq(unsigned int irq, void *dev_id); |
62 | 66 | ||
67 | /* sun4d_smp.c */ | ||
68 | void sun4d_cpu_pre_starting(void *arg); | ||
69 | void sun4d_cpu_pre_online(void *arg); | ||
70 | |||
71 | /* leon_smp.c */ | ||
72 | void leon_cpu_pre_starting(void *arg); | ||
73 | void leon_cpu_pre_online(void *arg); | ||
74 | |||
63 | /* head_32.S */ | 75 | /* head_32.S */ |
64 | extern unsigned int t_nmi[]; | 76 | extern unsigned int t_nmi[]; |
65 | extern unsigned int linux_trap_ipi15_sun4d[]; | 77 | extern unsigned int linux_trap_ipi15_sun4d[]; |