summaryrefslogtreecommitdiffstats
path: root/virt/kvm/arm/vgic/vgic.h
diff options
context:
space:
mode:
authorAndre Przywara2016-07-15 13:43:38 +0200
committerMarc Zyngier2016-07-18 19:14:38 +0200
commit0e4e82f154e387969ea7ecd2c8876689fb68f710 (patch)
tree684d959f3f33a71e91e5d53a868ba87d45d0e495 /virt/kvm/arm/vgic/vgic.h
parentKVM: arm64: vgic-its: Implement MSI injection in ITS emulation (diff)
downloadkernel-qcow2-linux-0e4e82f154e387969ea7ecd2c8876689fb68f710.tar.gz
kernel-qcow2-linux-0e4e82f154e387969ea7ecd2c8876689fb68f710.tar.xz
kernel-qcow2-linux-0e4e82f154e387969ea7ecd2c8876689fb68f710.zip
KVM: arm64: vgic-its: Enable ITS emulation as a virtual MSI controller
Now that all ITS emulation functionality is in place, we advertise MSI functionality to userland and also the ITS device to the guest - if userland has configured that. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Marc Zyngier <marc.zyngier@arm.com> Tested-by: Eric Auger <eric.auger@redhat.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'virt/kvm/arm/vgic/vgic.h')
-rw-r--r--virt/kvm/arm/vgic/vgic.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/virt/kvm/arm/vgic/vgic.h b/virt/kvm/arm/vgic/vgic.h
index 9d557f25cbfc..9d40d7bb89f7 100644
--- a/virt/kvm/arm/vgic/vgic.h
+++ b/virt/kvm/arm/vgic/vgic.h
@@ -77,6 +77,7 @@ int vgic_v3_probe(const struct gic_kvm_info *info);
int vgic_v3_map_resources(struct kvm *kvm);
int vgic_register_redist_iodevs(struct kvm *kvm, gpa_t dist_base_address);
bool vgic_has_its(struct kvm *kvm);
+int kvm_vgic_register_its_device(void);
void vgic_enable_lpis(struct kvm_vcpu *vcpu);
int vgic_its_inject_msi(struct kvm *kvm, struct kvm_msi *msi);
#else
@@ -136,6 +137,11 @@ static inline bool vgic_has_its(struct kvm *kvm)
return false;
}
+static inline int kvm_vgic_register_its_device(void)
+{
+ return -ENODEV;
+}
+
static inline void vgic_enable_lpis(struct kvm_vcpu *vcpu)
{
}