]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit72a4c5f6ba03f17fe250b19058057eb61de4b604
tree5d006445d90840429e51c930e94689d521a4d228
parent52527e606769367a69e9af82cffef0fb80368b62
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