Note: if you want to try this out, you'll need to make sure your QEMU binary includes this commit[1]; moreover, that commit is missing a way for libvirt to detect whether the new naming scheme is in place, so this will have to remain an RFC until the QEMU side has been sorted out. Patches 1-3 are just setting up the stage. Patch 4 starts actually introducing the feature, by relaxing some checks that can no longer be as strict. Patches 5-10 puts all the boring bits (XML parsing and formatting, QEMU capabilities) in place. Patch 11 enables the feature at last. Patch 12 introduces a single test, a bunch more will be added before posting this for real (not as RFC). [1] https://github.com/dgibson/qemu/commit/0a6a9ba2adc48a9a5ea7406d1a5fb3c36f0073e0 Andrea Bolognani (12): qemu: Allow qemuBuildControllerDevStr() to return NULL qemu: Tweak index number checking conf: Move index number checking to drivers qemu: Relax pci-root index requirement for pSeries guests schema: Allow <target index='...'/> schema: Add 'spapr-pci-host-bridge' controller model conf: Parse and format <target index='...'/> conf: Add 'spapr-pci-host-bridge' controller model qemu: Automatically pick index and model for pci-root controllers qemu: Introduce QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE qemu: Use multiple PHBs for pSeries guests tests: Add tests for pSeries guests with multiple PHBs docs/schemas/domaincommon.rng | 7 ++ src/bhyve/bhyve_domain.c | 15 +++ src/conf/domain_conf.c | 34 ++++-- src/conf/domain_conf.h | 2 + src/libxl/libxl_domain.c | 14 +++ src/lxc/lxc_domain.c | 14 +++ src/openvz/openvz_driver.c | 14 +++ src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 126 +++++++++++++++++---- src/qemu/qemu_command.h | 9 +- src/qemu/qemu_domain.c | 13 +++ src/qemu/qemu_domain_address.c | 47 +++++++- src/qemu/qemu_hotplug.c | 5 +- src/uml/uml_driver.c | 14 +++ src/vz/vz_driver.c | 14 +++ src/xen/xen_driver.c | 14 +++ .../qemuargv2xmldata/qemuargv2xml-pseries-disk.xml | 5 +- .../qemuargv2xml-pseries-nvram.xml | 5 +- tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 1 + .../qemuxml2argv-pseries-phb-simple.args | 26 +++++ .../qemuxml2argv-pseries-phb-simple.xml | 20 ++++ tests/qemuxml2argvtest.c | 5 + .../qemuxml2xmlout-panic-pseries.xml | 5 +- .../qemuxml2xmlout-ppc64-usb-controller-legacy.xml | 5 +- .../qemuxml2xmlout-ppc64-usb-controller.xml | 5 +- .../qemuxml2xmlout-pseries-nvram.xml | 5 +- .../qemuxml2xmlout-pseries-panic-missing.xml | 5 +- .../qemuxml2xmlout-pseries-panic-no-address.xml | 5 +- ...g.xml => qemuxml2xmlout-pseries-phb-simple.xml} | 13 ++- tests/qemuxml2xmltest.c | 4 + 31 files changed, 407 insertions(+), 47 deletions(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-simple.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-phb-simple.xml copy tests/qemuxml2xmloutdata/{qemuxml2xmlout-pseries-panic-missing.xml => qemuxml2xmlout-pseries-phb-simple.xml} (69%) -- 2.7.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list