aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/sun4m_smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/kernel/sun4m_smp.c')
-rw-r--r--arch/sparc/kernel/sun4m_smp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c
index a14a76ac7f36..5fc386d08c47 100644
--- a/arch/sparc/kernel/sun4m_smp.c
+++ b/arch/sparc/kernel/sun4m_smp.c
@@ -17,6 +17,7 @@
17#include <linux/swap.h> 17#include <linux/swap.h>
18#include <linux/profile.h> 18#include <linux/profile.h>
19#include <linux/delay.h> 19#include <linux/delay.h>
20#include <linux/cpu.h>
20 21
21#include <asm/cacheflush.h> 22#include <asm/cacheflush.h>
22#include <asm/tlbflush.h> 23#include <asm/tlbflush.h>
@@ -71,6 +72,8 @@ void __cpuinit smp4m_callin(void)
71 local_flush_cache_all(); 72 local_flush_cache_all();
72 local_flush_tlb_all(); 73 local_flush_tlb_all();
73 74
75 notify_cpu_starting(cpuid);
76
74 /* Get our local ticker going. */ 77 /* Get our local ticker going. */
75 smp_setup_percpu_timer(); 78 smp_setup_percpu_timer();
76 79
@@ -313,6 +316,8 @@ void smp4m_cross_call_irq(void)
313 ccall_info.processors_out[i] = 1; 316 ccall_info.processors_out[i] = 1;
314} 317}
315 318
319extern void sun4m_clear_profile_irq(int cpu);
320
316void smp4m_percpu_timer_interrupt(struct pt_regs *regs) 321void smp4m_percpu_timer_interrupt(struct pt_regs *regs)
317{ 322{
318 struct pt_regs *old_regs; 323 struct pt_regs *old_regs;
@@ -320,7 +325,7 @@ void smp4m_percpu_timer_interrupt(struct pt_regs *regs)
320 325
321 old_regs = set_irq_regs(regs); 326 old_regs = set_irq_regs(regs);
322 327
323 clear_profile_irq(cpu); 328 sun4m_clear_profile_irq(cpu);
324 329
325 profile_tick(CPU_PROFILING); 330 profile_tick(CPU_PROFILING);
326 331