KVM: arm64: vgic-its: Read initial LPI pending table
authorAndre Przywara <andre.przywara@arm.com>
Fri, 15 Jul 2016 11:43:34 +0000 (12:43 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 18 Jul 2016 17:14:37 +0000 (18:14 +0100)
commit33d3bc9556a7dda5bba2cb6b2d08ae4841ae423e
tree5d006445d90840429e51c930e94689d521a4d228
parent3802411d01880c4283426d22653e011159b1c947
KVM: arm64: vgic-its: Read initial LPI pending table

The LPI pending status for a GICv3 redistributor is held in a table
in (guest) memory. To achieve reasonable performance, we cache the
pending bit in our struct vgic_irq. The initial pending state must be
read from guest memory upon enabling LPIs for this redistributor.
As we can't access the guest memory while we hold the lpi_list spinlock,
we create a snapshot of the LPI list and iterate over that.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
virt/kvm/arm/vgic/vgic-its.c
virt/kvm/arm/vgic/vgic.h