mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-17 21:26:13 -07:00
kvm-irqchip: x86: add msi route notify fn
One more IEC notifier is added to let msi routes know about the IEC changes. When interrupt invalidation happens, all registered msi routes will be updated for all PCI devices. Since both vfio and vhost are possible gsi route consumers, this patch will go one step further to keep them safe in split irqchip mode and when irqfd is enabled. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> [move trace-events lines into target-i386/trace-events] Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
38d87493f3
commit
e1d4fb2de5
5 changed files with 49 additions and 9 deletions
10
kvm-all.c
10
kvm-all.c
|
|
@ -1246,15 +1246,7 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev)
|
|||
MSIMessage msg = {0, 0};
|
||||
|
||||
if (dev) {
|
||||
if (msix_enabled(dev)) {
|
||||
msg = msix_get_message(dev, vector);
|
||||
} else if (msi_enabled(dev)) {
|
||||
msg = msi_get_message(dev, vector);
|
||||
} else {
|
||||
/* Should never happen */
|
||||
error_report("%s: unknown interrupt type", __func__);
|
||||
abort();
|
||||
}
|
||||
msg = pci_get_msi_message(dev, vector);
|
||||
}
|
||||
|
||||
if (kvm_gsi_direct_mapping()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue