xen/arm: IRQ: Defer routing IRQ to Xen until setup_irq() call
authorJulien Grall <julien.grall@linaro.org>
Tue, 22 Apr 2014 12:58:43 +0000 (13:58 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 2 May 2014 12:14:09 +0000 (13:14 +0100)
commit3e6a079d14f868d0ccae4e621dc0cf6dcf99b53e
tree27166eefffb2c0719ecf8ab12a9376c1c13cb43c
parentfe2c08a9e52cbed474081d889971a361750fee3c
xen/arm: IRQ: Defer routing IRQ to Xen until setup_irq() call

When an IRQ is handling by Xen, setup is done in 2 steps:
    - Route the IRQ to the current CPU and set priorities
    - Set up the handler

For PPIs, these steps are called on every cpu. For SPIs, they are only called
on the boot CPU.

Dividing the setup in two step complicates the code when a new driver is
added to Xen (for instance a SMMU driver). Xen can safely route the IRQ
when the driver sets up the interrupt handler.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/gic.c
xen/arch/arm/irq.c
xen/arch/arm/setup.c
xen/arch/arm/smpboot.c
xen/arch/arm/time.c
xen/include/asm-arm/gic.h
xen/include/asm-arm/time.h