On 23.08.2017 17:54, Cornelia Huck wrote: > The msi routing code in kvm calls some pci functions: provide > some stubs to enable builds without pci. > > Also, to make this more obvious, guard them via a pci_available boolean > (which also can be reused in other places). > > Fixes: e1d4fb2de ("kvm-irqchip: x86: add msi route notify fn") > Fixes: 767a554a0 ("kvm-all: Pass requester ID to MSI routing functions") > Reviewed-by: Pierre Morel <pmo...@linux.vnet.ibm.com> > Signed-off-by: Cornelia Huck <coh...@redhat.com> > --- > accel/kvm/kvm-all.c | 6 +++--- > hw/pci/pci-stub.c | 16 +++++++++++++++- > hw/pci/pci.c | 2 ++ > include/hw/pci/pci.h | 2 ++ > 4 files changed, 22 insertions(+), 4 deletions(-) > > diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c > index 46ce479dc3..f85553a851 100644 > --- a/accel/kvm/kvm-all.c > +++ b/accel/kvm/kvm-all.c > @@ -1248,7 +1248,7 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector, > PCIDevice *dev) > int virq; > MSIMessage msg = {0, 0}; > > - if (dev) { > + if (pci_available && dev) { > msg = pci_get_msi_message(dev, vector); > } > > @@ -1271,7 +1271,7 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector, > PCIDevice *dev) > kroute.u.msi.address_lo = (uint32_t)msg.address; > kroute.u.msi.address_hi = msg.address >> 32; > kroute.u.msi.data = le32_to_cpu(msg.data); > - if (kvm_msi_devid_required()) { > + if (pci_available && kvm_msi_devid_required()) { > kroute.flags = KVM_MSI_VALID_DEVID; > kroute.u.msi.devid = pci_requester_id(dev); > } > @@ -1309,7 +1309,7 @@ int kvm_irqchip_update_msi_route(KVMState *s, int virq, > MSIMessage msg, > kroute.u.msi.address_lo = (uint32_t)msg.address; > kroute.u.msi.address_hi = msg.address >> 32; > kroute.u.msi.data = le32_to_cpu(msg.data); > - if (kvm_msi_devid_required()) { > + if (pci_available && kvm_msi_devid_required()) { > kroute.flags = KVM_MSI_VALID_DEVID; > kroute.u.msi.devid = pci_requester_id(dev); > } > diff --git a/hw/pci/pci-stub.c b/hw/pci/pci-stub.c > index ecad664946..2d3b32c6ab 100644 > --- a/hw/pci/pci-stub.c > +++ b/hw/pci/pci-stub.c > @@ -23,10 +23,11 @@ > #include "monitor/monitor.h" > #include "qapi/qmp/qerror.h" > #include "hw/pci/pci.h" > -#include "qmp-commands.h" > #include "hw/pci/msi.h" > +#include "qmp-commands.h"
Nit: Unnecessary movement of the #include statement. If you fix that: Reviewed-by: Thomas Huth <th...@redhat.com>