diff options
author | Christoffer Dall <cdall@linaro.org> | 2017-05-08 12:30:24 +0200 |
---|---|---|
committer | Christoffer Dall <cdall@linaro.org> | 2017-05-09 12:19:36 +0200 |
commit | 1aab6f468c10a1ec3977fb6f7bc12869174d516e (patch) | |
tree | b7528f2e3060cf4b17a57a820aa6108687a72c1c /virt/kvm/arm/vgic/vgic.h | |
parent | 72030536ebf5e5e512771922efa472a80f2c969f (diff) | |
download | lwn-1aab6f468c10a1ec3977fb6f7bc12869174d516e.tar.gz lwn-1aab6f468c10a1ec3977fb6f7bc12869174d516e.zip |
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 'virt/kvm/arm/vgic/vgic.h')
-rw-r--r-- | virt/kvm/arm/vgic/vgic.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/virt/kvm/arm/vgic/vgic.h b/virt/kvm/arm/vgic/vgic.h index 89eb935c05be..5f17eace077c 100644 --- a/virt/kvm/arm/vgic/vgic.h +++ b/virt/kvm/arm/vgic/vgic.h @@ -174,7 +174,8 @@ int vgic_v3_probe(const struct gic_kvm_info *info); int vgic_v3_map_resources(struct kvm *kvm); int vgic_v3_lpi_sync_pending_status(struct kvm *kvm, struct vgic_irq *irq); int vgic_v3_save_pending_tables(struct kvm *kvm); -int vgic_register_redist_iodevs(struct kvm *kvm); +int vgic_v3_set_redist_base(struct kvm *kvm, u64 addr); +int vgic_register_redist_iodev(struct kvm_vcpu *vcpu); bool vgic_v3_check_base(struct kvm *kvm); void vgic_v3_load(struct kvm_vcpu *vcpu); |