KVM: arm/arm64: vgic-v2: Avoid accessing GICH registers
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 2 Feb 2016 19:35:34 +0000 (19:35 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Wed, 9 Mar 2016 04:22:20 +0000 (04:22 +0000)
commit59f00ff9afc028053fa9281407627e95008ebd5c
tree68ae8ad7133b4707c9dd15a93b3ec263e33d1a3b
parent9b4a3004439d5be680faf41f4267968ca11bb9f6
KVM: arm/arm64: vgic-v2: Avoid accessing GICH registers

GICv2 registers are *slow*. As in "terrifyingly slow". Which is bad.
But we're equaly bad, as we make a point in accessing them even if
we don't have any interrupt in flight.

A good solution is to first find out if we have anything useful to
write into the GIC, and if we don't, to simply not do it. This
involves tracking which LRs actually have something valid there.

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
include/kvm/arm_vgic.h
virt/kvm/arm/hyp/vgic-v2-sr.c