]> rtime.felk.cvut.cz Git - jailhouse.git/commit
arm: Rework interrupt affinity management on cell creation
authorJan Kiszka <jan.kiszka@siemens.com>
Mon, 27 Jun 2016 06:41:14 +0000 (08:41 +0200)
committerJan Kiszka <jan.kiszka@siemens.com>
Mon, 27 Jun 2016 09:51:18 +0000 (11:51 +0200)
commit011ab917a15057f52d36b1542bf3454abec55160
tree59f43ede54847ab7ae1586cd3d6836f8563f3879
parent90e7060810f2adab5b7646150b9f465014855ed1
arm: Rework interrupt affinity management on cell creation

So far, we only ensured that the affinities of interrupts given to new
cells match with the corresponding CPU set. However, we also need to
check that Linux properly adjusted the affinity of all its remaining
interrupts properly.

This introduces a new irqchip callback adjust_irq_target which performs
the check and the potential adjustment to the first CPU of a cell on a
per-interrupt basis. A single loop in irqchip_cell_init triggers them.
gic_target_spis and gic_route_spis become obsolete.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
hypervisor/arch/arm/gic-common.c
hypervisor/arch/arm/gic-v2.c
hypervisor/arch/arm/gic-v3.c
hypervisor/arch/arm/include/asm/gic_common.h
hypervisor/arch/arm/include/asm/irqchip.h
hypervisor/arch/arm/irqchip.c