linux/arch/arm/include/asm/mach
eric miao 521086412e ARM: 6532/1: Allow machine to specify it's own IRQ handlers at run-time
Normally different ARM platform has different way to decode the IRQ
hardware status and demultiplex to the corresponding IRQ handler.
This is highly optimized by macro irq_handler in entry-armv.S, and
each machine defines their own macro to decode the IRQ number.
However, this prevents multiple machine classes to be built into a
single kernel.

By allowing each machine to specify thier own handler, and making
function pointer 'handle_arch_irq' to point to it at run time, this
can be solved. And introduce CONFIG_MULTI_IRQ_HANDLER to allow both
solutions to work.

Comparing with the highly optimized macro of irq_handler, the new
function must be written with care not to lose too much performance.
And the IPI stuff on SMP is expected to move to the provided arch
IRQ handler as well.

The assembly code to invoke handle_arch_irq is optimized by Russell
King.

Signed-off-by: Eric Miao <eric.miao@canonical.com>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-12-24 09:47:34 +00:00
..
arch.h ARM: 6532/1: Allow machine to specify it's own IRQ handlers at run-time 2010-12-24 09:47:34 +00:00
dma.h [ARM] dma: move IOMD and floppy DMA structures to RiscPC DMA code 2009-02-21 21:36:22 +00:00
flash.h
irda.h
irq.h ARM: 6532/1: Allow machine to specify it's own IRQ handlers at run-time 2010-12-24 09:47:34 +00:00
map.h ARM: 6222/1: add memory types for the TCMs 2010-07-18 20:29:47 +01:00
pci.h [ARM] PCI: add platform private data to pci_sys_data 2010-07-16 22:01:59 -04:00
serial_at91.h
serial_sa1100.h
sharpsl_param.h
time.h ARM: convert arm to arch_gettimeoffset() 2010-03-24 08:08:58 +00:00
udc_pxa2xx.h [ARM] pxa: fix incorrect gpio type in udc_pxa2xx.h 2010-06-13 23:55:12 +08:00