diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2011-10-06 15:18:14 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-10-17 09:02:43 +0100 |
commit | 0b5a1b95dcdfa451125132d5ce3f79a27ffb0950 (patch) | |
tree | 0a2ae9da15b1a9789bf3cc3ccff37b961dacfc1b /arch/arm/kernel | |
parent | 26a527e69d6e6077bff9e2cddcb08337ac33a52d (diff) | |
download | blackbird-op-linux-0b5a1b95dcdfa451125132d5ce3f79a27ffb0950.tar.gz blackbird-op-linux-0b5a1b95dcdfa451125132d5ce3f79a27ffb0950.zip |
ARM: 7123/1: smp: Add an IPI handler callable from C code
In order to be able to handle IPI directly from C code instead of
assembly code, introduce handle_IPI(), which is modeled after handle_IRQ().
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/smp.c | 5 |
1 files changed, 5 insertions, 0 deletions
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) */ 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); |