On 25.07.2017 17:33, Cornelia Huck wrote: > The msi routing code in kvm calls some pci functions: provide > some stubs to enable builds without pci. > > Fixes: e1d4fb2de ("kvm-irqchip: x86: add msi route notify fn") > Fixes: 767a554a0 ("kvm-all: Pass requester ID to MSI routing functions") > Signed-off-by: Cornelia Huck <coh...@redhat.com> > --- > hw/pci/pci-stub.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/hw/pci/pci-stub.c b/hw/pci/pci-stub.c > index ecad664946..bc228ce91e 100644 > --- a/hw/pci/pci-stub.c > +++ b/hw/pci/pci-stub.c > @@ -23,6 +23,7 @@ > #include "monitor/monitor.h" > #include "qapi/qmp/qerror.h" > #include "hw/pci/pci.h" > +#include "hw/pci/msi.h" > #include "qmp-commands.h" > #include "hw/pci/msi.h" > > @@ -38,3 +39,14 @@ void hmp_pcie_aer_inject_error(Monitor *mon, const QDict > *qdict) > { > monitor_printf(mon, "PCI devices not supported\n"); > } > + > +/* kvm-all wants this */ > +MSIMessage pci_get_msi_message(PCIDevice *dev, int vector) > +{ > + assert(false); > +} > + > +uint16_t pci_requester_id(PCIDevice *dev) > +{ > + assert(false); > +}
Since this missed the 2.10 freeze anyway and we've got some more time to discuss it: I still think it would be much cleaner to move the functions from kvm-all.c that use these PCI functions into a separate file kvm-pci.c instead and compile that only with CONFIG_PCI=y. That way we likely also could prevent that more dependencies on CONFIG_PCI creep into kvm-all.c again at later points in time. I've now had a closer look, and it seems like the only affected functions are kvm_irqchip_add_msi_route() and kvm_irqchip_update_msi_route() ... and these seems only to be used in code we would not care about on s390x with CONFIG_PCI=n. So could you please have at least a try to move these two functions (and other related msi functions) to a new file kvm-pci.c instead to see whether that would work, too? Thanks, Thomas