diff options
Diffstat (limited to 'arch')
-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 674ebcd337fe..0a17b62538c2 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); | |||
33 | asmlinkage void do_IPI(int ipinr, struct pt_regs *regs); | 33 | asmlinkage void do_IPI(int ipinr, struct pt_regs *regs); |
34 | 34 | ||
35 | /* | 35 | /* |
36 | * Called from C code, this handles an IPI. | ||
37 | */ | ||
38 | void handle_IPI(int ipinr, struct pt_regs *regs); | ||
39 | |||
40 | /* | ||
36 | * Setup the set of possible CPUs (via set_cpu_possible) | 41 | * Setup the set of possible CPUs (via set_cpu_possible) |
37 | */ | 42 | */ |
38 | extern void smp_init_cpus(void); | 43 | extern void smp_init_cpus(void); |
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 3f12ce9b0796..2e49f1883fe9 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) | |||
587 | */ | 587 | */ |
588 | asmlinkage void __exception_irq_entry do_IPI(int ipinr, struct pt_regs *regs) | 588 | asmlinkage void __exception_irq_entry do_IPI(int ipinr, struct pt_regs *regs) |
589 | { | 589 | { |
590 | handle_IPI(ipinr, regs); | ||
591 | } | ||
592 | |||
593 | void handle_IPI(int ipinr, struct pt_regs *regs) | ||
594 | { | ||
590 | unsigned int cpu = smp_processor_id(); | 595 | unsigned int cpu = smp_processor_id(); |
591 | struct pt_regs *old_regs = set_irq_regs(regs); | 596 | struct pt_regs *old_regs = set_irq_regs(regs); |
592 | 597 | ||