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/0a6a9ba2adc48a9a5ea7406d1a5fb3c36f...
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