diff options
| -rw-r--r-- | arch/arm/include/asm/smp.h | 5 | ||||
| -rw-r--r-- | arch/arm/kernel/smp.c | 5 | 
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h index 674ebcd337f..0a17b62538c 100644 --- a/arch/arm/include/asm/smp.h +++ b/arch/arm/include/asm/smp.h @@ -33,6 +33,11 @@ extern void show_ipi_list(struct seq_file *, int);  asmlinkage void do_IPI(int ipinr, struct pt_regs *regs);  /* + * Called from C code, this handles an IPI. + */ +void handle_IPI(int ipinr, struct pt_regs *regs); + +/*   * Setup the set of possible CPUs (via set_cpu_possible)   */  extern void smp_init_cpus(void); diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 3f12ce9b079..2e49f1883fe 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -587,6 +587,11 @@ static void ipi_cpu_stop(unsigned int cpu)   */  asmlinkage void __exception_irq_entry do_IPI(int ipinr, struct pt_regs *regs)  { +	handle_IPI(ipinr, regs); +} + +void handle_IPI(int ipinr, struct pt_regs *regs) +{  	unsigned int cpu = smp_processor_id();  	struct pt_regs *old_regs = set_irq_regs(regs);  |