On Fri, 2018-03-02 at 18:44 -0500, Laine Stump wrote: [...] > > +static int > > +virDomainControllerPCIModelNameToQEMUCaps(int modelName) > > +{ > > + switch ((virDomainControllerPCIModelName) modelName) { > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PCI_BRIDGE: > > + return QEMU_CAPS_DEVICE_PCI_BRIDGE; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_I82801B11_BRIDGE: > > + return QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_IOH3420: > > + return QEMU_CAPS_DEVICE_IOH3420; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_X3130_UPSTREAM: > > + return QEMU_CAPS_DEVICE_X3130_UPSTREAM; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_XIO3130_DOWNSTREAM: > > + return QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PXB: > > + return QEMU_CAPS_DEVICE_PXB; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PXB_PCIE: > > + return QEMU_CAPS_DEVICE_PXB_PCIE; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_PCIE_ROOT_PORT: > > + return QEMU_CAPS_DEVICE_PCIE_ROOT_PORT; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_SPAPR_PCI_HOST_BRIDGE: > > + return QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_NONE: > > + return 0; > > + case VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_LAST: > > + default: > > + return 1; > > What's the deal with "1"? Should have been -1, of course :) [...] > > + /* The default PHB for pSeries guests doesn't need any QEMU capability > > + * to be used, so we should skip the capabilities check altogether */ > > ... and the check would fail if we didn't skip? Correct: virDomainControllerPCIModelNameToQEMUCaps() would return QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE, and the check below would fail. I'm actually fairly confident we could drop that hunk with no ill effect, because the spapr-pci-host-bridge must have existed even before we started checking for it, even if it might possibly have been, at some point, not user-instantiable; however, the capabilities data for ppc64 in our test suite doesn't go far back enough to prove this is the case, so special-casing it seems like the safest option. I'll try to see if I can build QEMU 1.2.0 (that's the earliest we claim support for, right?) on ppc64 with a reasonable amount of work, and if my hunch is correct I'll post a follow-up cleanup patch that gets rid of it. -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list