KVM: arm/arm64: GICv4: Handle MOVALL applied to a vPE
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 27 Oct 2017 14:28:44 +0000 (15:28 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Fri, 10 Nov 2017 08:29:38 +0000 (09:29 +0100)
commitff9c114394aaed2061df112b75be9835a1394be4
tree106d67893f397b9a96fd90426bc42a1efc9b1b2d
parentfb0cada604fcda82813f654b0d95963ee165770f
KVM: arm/arm64: GICv4: Handle MOVALL applied to a vPE

The current implementation of MOVALL doesn't allow us to call
into the core ITS code as we hold a number of spinlocks.

Let's try a method used in other parts of the code, were we copy
the intids of the candicate interrupts, and then do whatever
we need to do with them outside of the critical section.

This allows us to move the interrupts one by one, at the expense
of a bit of CPU time. Who cares? MOVALL is such a stupid command
anyway...

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
virt/kvm/arm/vgic/vgic-its.c