KVM: arm64: ITS: move ITS registration into first VCPU run
authorAndre Przywara <andre.przywara@arm.com>
Mon, 8 Aug 2016 15:45:43 +0000 (16:45 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Mon, 15 Aug 2016 21:00:21 +0000 (23:00 +0200)
commitc7735769d5dd79afb07254532fabd9ccbd85b1fa
tree8cd49bfeaf6429512e5a52cfe1fa1f65c6cc2acc
parentd9ae449b3d14d7c55f69af329972f175d180e68d
KVM: arm64: ITS: move ITS registration into first VCPU run

Currently we register an ITS device upon userland issuing the CTLR_INIT
ioctl to mark initialization of the ITS as done.
This deviates from the initialization sequence of the existing GIC
devices and does not play well with the way QEMU handles things.
To be more in line with what we are used to, register the ITS(es) just
before the first VCPU is about to run, so in the map_resources() call.
This involves iterating through the list of KVM devices and map each
ITS that we find.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
virt/kvm/arm/vgic/vgic-its.c
virt/kvm/arm/vgic/vgic-v3.c
virt/kvm/arm/vgic/vgic.h