aboutsummaryrefslogtreecommitdiff
path: root/hw/intc
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2019-06-02 13:42:13 +0200
committerMichael Roth <mdroth@linux.vnet.ibm.com>2019-07-30 12:10:58 -0500
commitdf42bc4897d80d9a005ad94937e594dab132adc3 (patch)
tree3b6a980958c4bff801f801533cda339a09e44c0c /hw/intc
parentc00635946fa028e9c6a7d0b6c8c2c0b9f4867ce3 (diff)
ioapic: kvm: Skip route updates for masked pins
Masked entries will not generate interrupt messages, thus do no need to be routed by KVM. This is a cosmetic cleanup, just avoiding warnings of the kind qemu-system-x86_64: vtd_irte_get: detected non-present IRTE (index=0, high=0xff00, low=0x100) if the masked entry happens to reference a non-present IRTE. Cc: qemu-stable@nongnu.org Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Message-Id: <a84b7e03-f9a8-b577-be27-4d93d1caa1c9@siemens.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com> (cherry picked from commit be1927c97e564346cbd409cb17fe611df74b84e5) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Diffstat (limited to 'hw/intc')
-rw-r--r--hw/intc/ioapic.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c
index 4e529729b4..ba9049a117 100644
--- a/hw/intc/ioapic.c
+++ b/hw/intc/ioapic.c
@@ -188,9 +188,11 @@ static void ioapic_update_kvm_routes(IOAPICCommonState *s)
MSIMessage msg;
struct ioapic_entry_info info;
ioapic_entry_parse(s->ioredtbl[i], &info);
- msg.address = info.addr;
- msg.data = info.data;
- kvm_irqchip_update_msi_route(kvm_state, i, msg, NULL);
+ if (!info.masked) {
+ msg.address = info.addr;
+ msg.data = info.data;
+ kvm_irqchip_update_msi_route(kvm_state, i, msg, NULL);
+ }
}
kvm_irqchip_commit_routes(kvm_state);
}