]> www.infradead.org Git - users/dwmw2/qemu.git/commit
hw/intc/arm_gic: Fix deactivation of SPI lines
authorEdgar E. Iglesias <edgar.iglesias@amd.com>
Tue, 18 Jun 2024 15:22:20 +0000 (16:22 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 21 Jun 2024 13:01:58 +0000 (14:01 +0100)
commit7175a562f157d39725ab396e39c1e8e410d206b3
tree90a44f942009a57457910b199c5d286859eec33a
parent7edca16e745ca2105066832c9da34077af41347e
hw/intc/arm_gic: Fix deactivation of SPI lines

Julien reported that he has seen strange behaviour when running
Xen on QEMU using GICv2. When Xen migrates a guest's vCPU from
one pCPU to another while the vCPU is handling an interrupt, the
guest is unable to properly deactivate interrupts.

Looking at it a little closer, our GICv2 model treats
deactivation of SPI lines as if they were PPI's, i.e banked per
CPU core. The state for active interrupts should only be banked
for PPI lines, not for SPI lines.

Make deactivation of SPI lines unbanked, similar to how we
handle writes to GICD_ICACTIVER.

Reported-by: Julien Grall <julien@xen.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Message-id: 20240605143044.2029444-2-edgar.iglesias@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/intc/gic_internal.h