KVM: arm/arm64: GICv4: Add init/teardown of the per-VM vPE irq domain
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 27 Oct 2017 14:28:38 +0000 (15:28 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Fri, 10 Nov 2017 08:06:56 +0000 (09:06 +0100)
commit74fe55dc9ab77142e3c4783ecc5b87d494164452
tree0d9f833e72d07b50f124127dba3dde6e982dd9df
parente7c48059248e013772d8da69351ac8b262d8fce2
KVM: arm/arm64: GICv4: Add init/teardown of the per-VM vPE irq domain

In order to control the GICv4 view of virtual CPUs, we rely
on an irqdomain allocated for that purpose. Let's add a couple
of helpers to that effect.

At the same time, the vgic data structures gain new fields to
track all this... erm... wonderful stuff.

The way we hook into the vgic init is slightly convoluted. We
need the vgic to be initialized (in order to guarantee that
the number of vcpus is now fixed), and we must have a vITS
(otherwise this is all very pointless). So we end-up calling
the init from both vgic_init and vgic_its_create.

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>
arch/arm/kvm/Makefile
arch/arm64/kvm/Makefile
include/kvm/arm_vgic.h
virt/kvm/arm/vgic/vgic-init.c
virt/kvm/arm/vgic/vgic-its.c
virt/kvm/arm/vgic/vgic-v4.c [new file with mode: 0644]
virt/kvm/arm/vgic/vgic.h