support for IRQ priority drop deactivation
PATCH 1/2 support for IRQ priority drop deactivation
Updated Priority Drop/Deactivation patch -
- moved bitmap to per gic data
- moved initialization of gic irqchip eoi handler to gic_init_bases
- cleaned up the code per suggestions.
- added documentation
Signed-off-by Mario Smarduch <[email protected]>
--- arch/arm/kvm/Kconfig | 8 ++ drivers/irqchip/irq-gic.c | 204 ++++++++++++++++++++++++++++++++++++++- include/linux/irqchip/arm-gic.h | 6 ++ 3 files changed, 213 insertions(+), 5 deletions(-)
arch/arm/kvm/Kconfig +8 -0
@@ -59,6 +59,14 @@ config KVM_ARM_VGIC ---help--- Adds support for a hardware assisted, in-kernel GIC emulation. +config KVM_ARM_INT_PRIO_DROP + bool "KVM support for Interrupt pass-through" + depends on KVM_ARM_VGIC && OF + default n + ---help--- + Seperates interrupt priority drop and deactivation to enable device + pass-through to Guests. + config KVM_ARM_TIMER bool "KVM support for Architected Timers" depends on KVM_ARM_VGIC && ARM_ARCH_TIMER
drivers/irqchip/irq-gic.c +199 -5
260 lines not on this page · raw message
include/linux/irqchip/arm-gic.h +6 -0
@@ -17,6 +17,7 @@#define GIC_CPU_EOI 0x10#define GIC_CPU_RUNNINGPRI 0x14#define GIC_CPU_HIGHPRI 0x18 +#define GIC_CPU_DIR 0x1000#define GIC_DIST_CTRL 0x000#define GIC_DIST_CTR 0x004
@@ -73,6 +74,11 @@ static inline void gic_init(unsigned int nr, int start,gic_init_bases (nr, start, dist, cpu,0 ,NULL ); } +/* Functions to manage interrupt pass-through via priority drop/deactivation */ +void gic_spi_set_priodrop (int ); +void gic_spi_clr_priodrop (int ); +bool gic_spi_get_priodrop (int ); +#endif /* __ASSEMBLY */ #endif
Signature · 1 line
1.7.9.5