KVM: arm/arm64: Do not inject spurious interrupts
authorPavel Fedin <p.fedin@samsung.com>
Fri, 25 Sep 2015 14:00:29 +0000 (17:00 +0300)
committerChristoffer Dall <christoffer.dall@linaro.org>
Tue, 20 Oct 2015 16:04:43 +0000 (18:04 +0200)
commit437f9963bc4fd75889c1fe9289a92dea9124a439
treeb91113c13849796b8cee1b57094f2d0f99eb3857
parent920552b213e3dc832a874b4e7ba29ecddbab31bc
KVM: arm/arm64: Do not inject spurious interrupts

When lowering a level-triggered line from userspace, we forgot to lower
the pending bit on the emulated CPU interface and we also did not
re-compute the pending_on_cpu bitmap for the CPU affected by the change.

Update vgic_update_irq_pending() to fix the two issues above and also
raise a warning in vgic_quue_irq_to_lr if we encounter an interrupt
pending on a CPU which is neither marked active nor pending.

  [ Commit text reworked completely - Christoffer ]

Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
virt/kvm/arm/vgic.c