aboutsummaryrefslogtreecommitdiffstats
path: root/include/kvm
diff options
context:
space:
mode:
authorChristoffer Dall <cdall@linaro.org>2017-05-08 06:30:24 -0400
committerChristoffer Dall <cdall@linaro.org>2017-05-09 06:19:36 -0400
commit1aab6f468c10a1ec3977fb6f7bc12869174d516e (patch)
treeb7528f2e3060cf4b17a57a820aa6108687a72c1c /include/kvm
parent72030536ebf5e5e512771922efa472a80f2c969f (diff)
KVM: arm/arm64: Register iodevs when setting redist base and creating VCPUs
Instead of waiting with registering KVM iodevs until the first VCPU is run, we can actually create the iodevs when the redist base address is set. The only downside is that we must now also check if we need to do this for VCPUs which are created after creating the VGIC, because there is no enforced ordering between creating the VGIC (and setting its base addresses) and creating the VCPUs. Signed-off-by: Christoffer Dall <cdall@linaro.org> Reviewed-by: Eric Auger <eric.auger@redhat.com>
Diffstat (limited to 'include/kvm')
-rw-r--r--include/kvm/arm_vgic.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index fabcc649e2ce..4ff65efcfebd 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -286,6 +286,7 @@ extern struct static_key_false vgic_v2_cpuif_trap;
286 286
287int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write); 287int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write);
288void kvm_vgic_early_init(struct kvm *kvm); 288void kvm_vgic_early_init(struct kvm *kvm);
289int kvm_vgic_vcpu_init(struct kvm_vcpu *vcpu);
289int kvm_vgic_create(struct kvm *kvm, u32 type); 290int kvm_vgic_create(struct kvm *kvm, u32 type);
290void kvm_vgic_destroy(struct kvm *kvm); 291void kvm_vgic_destroy(struct kvm *kvm);
291void kvm_vgic_vcpu_early_init(struct kvm_vcpu *vcpu); 292void kvm_vgic_vcpu_early_init(struct kvm_vcpu *vcpu);