summary refs log tree commit diff stats
path: root/hw/intc
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-10-17 13:24:33 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2023-10-25 17:35:14 +0200
commitcc5e719e2c8086c61bdd9114f42095f8d5b1b0db (patch)
treeab24f672e3e2b5a763c210624419db5b8533decb /hw/intc
parentaacec9aee11660471ca56afaaafe3f1fdcf431ab (diff)
downloadfocaccia-qemu-cc5e719e2c8086c61bdd9114f42095f8d5b1b0db.tar.gz
focaccia-qemu-cc5e719e2c8086c61bdd9114f42095f8d5b1b0db.zip
kvm: require KVM_CAP_SIGNAL_MSI
This was introduced in KVM in Linux 3.5, we can require it unconditionally
in kvm_irqchip_send_msi().  However, not all architectures have to implement
it so check it only in x86, the only architecture that ever had MSI injection
but not KVM_CAP_SIGNAL_MSI.

ARM uses it to detect the presence of the ITS emulation in the kernel,
introduced in Linux 4.8.  Assume that it's there and possibly fail when
realizing the arm-its-kvm device.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/intc')
-rw-r--r--hw/intc/arm_gicv3_its_common.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/hw/intc/arm_gicv3_its_common.c b/hw/intc/arm_gicv3_its_common.c
index abaf77057e..fddd6d490c 100644
--- a/hw/intc/arm_gicv3_its_common.c
+++ b/hw/intc/arm_gicv3_its_common.c
@@ -163,8 +163,7 @@ type_init(gicv3_its_common_register_types)
 const char *its_class_name(void)
 {
     if (kvm_irqchip_in_kernel()) {
-        /* KVM implementation requires this capability */
-        return kvm_direct_msi_enabled() ? "arm-its-kvm" : NULL;
+        return "arm-its-kvm";
     } else {
         /* Software emulation based model */
         return "arm-gicv3-its";