v2 libvirt patches: https://www.redhat.com/archives/libvir-list/2019-January/msg00877.html v1 libvirt patches: https://www.redhat.com/archives/libvir-list/2019-January/msg00593.html Previous incomplete RFC here: https://www.redhat.com/archives/libvir-list/2019-January/msg00346.html qemu patches, queued for qemu 4.0.0: https://lists.gnu.org/archive/html/qemu-devel/2018-12/msg00923.html Previous libvirt discussion around this: https://www.redhat.com/archives/libvir-list/2018-August/msg01073.html
Changes since v2: * Some prep patches merged * filesystem model dropped the -9p naming, now uses virtio-{non-}transitional like other devices * Now uses a single capability QEMU_CAPS_VIRTIO_PCI_NON_TRANSITIONAL which is set whenever any of the -transitional or -non-transitional devices are present. * Add a formatdomain section 'Virtio transitional devices' and reference it from each relevant device section * if virtio-transitional specified, and qemu is too old but has the disable_X options, convert it to explicit disable-legacy=off,disable-modern=off * Misc small changes pointed out in review Thanks, Cole Cole Robinson (17): qemu: command: Add qemuCaps to BuildVirtioStr qemu: capabilities: Add virtio/vhost {non-}transitional conf: Add <disk model='virtio-{non-}transitional'/> qemu: Support disk model=virtio-{non-}transitional qemu: Support interface model=virtio-{non-}transitional conf: Add <hostdev model='virtio-{non-}transitional'/> qemu: Support hostdev model=virtio-{non-}transitional qemu: Support rng model=virtio-{non-}transitional conf: Add <filesystem model='virtio-{non-}transitional'/> qemu: Support filesystem model=virtio-{non-}transitional qemu: Support memballoon model=virtio-{non-}transitional qemu: Support vsock model=virtio-{non-}transitional conf: Add <input model='virtio-{non-}transitional'/> qemu: Support input model=virtio-{non-}transitional qemu: Support virtio-serial controller model=virtio-{non-}transitional qemu: Support scsi controller model=virtio-{non-}transitional qemu: domcaps: Report disk <enum name="model"> docs/formatdomain.html.in | 97 ++++++++- docs/schemas/domaincommon.rng | 61 +++++- src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + src/conf/domain_conf.c | 184 ++++++++++++++++-- src/conf/domain_conf.h | 63 ++++++ src/libvirt_private.syms | 4 + src/libxl/libxl_conf.c | 2 + src/qemu/qemu_capabilities.c | 31 +++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 150 ++++++++++++-- src/qemu/qemu_domain.c | 17 +- src/qemu/qemu_domain_address.c | 110 +++++++++-- src/vbox/vbox_common.c | 2 + src/vmx/vmx.c | 5 +- .../bhyve_basic.x86_64.xml | 1 + .../bhyve_fbuf.x86_64.xml | 1 + .../bhyve_uefi.x86_64.xml | 1 + tests/domaincapsschemadata/full.xml | 6 + .../domaincapsschemadata/libxl-xenfv-usb.xml | 1 + .../domaincapsschemadata/libxl-xenpv-usb.xml | 1 + .../qemu_1.7.0.x86_64.xml | 3 + .../qemu_2.12.0-virt.aarch64.xml | 5 + .../qemu_2.12.0.ppc64.xml | 5 + .../qemu_2.12.0.s390x.xml | 5 + .../qemu_2.12.0.x86_64.xml | 5 + .../qemu_2.6.0-virt.aarch64.xml | 5 + .../qemu_2.6.0.aarch64.xml | 5 + .../domaincapsschemadata/qemu_2.6.0.ppc64.xml | 5 + .../qemu_2.6.0.x86_64.xml | 5 + .../domaincapsschemadata/qemu_2.7.0.s390x.xml | 5 + .../qemu_2.8.0-tcg.x86_64.xml | 5 + .../domaincapsschemadata/qemu_2.8.0.s390x.xml | 5 + .../qemu_2.8.0.x86_64.xml | 5 + .../qemu_2.9.0-q35.x86_64.xml | 5 + .../qemu_2.9.0-tcg.x86_64.xml | 5 + .../qemu_2.9.0.x86_64.xml | 5 + .../domaincapsschemadata/qemu_3.0.0.s390x.xml | 5 + .../qemu_4.0.0.x86_64.xml | 153 +++++++++++++++ tests/domaincapstest.c | 4 + .../caps_4.0.0.riscv32.xml | 1 + .../caps_4.0.0.riscv64.xml | 1 + .../caps_4.0.0.x86_64.xml | 1 + .../virtio-non-transitional.x86_64-3.1.0.args | 65 +++++++ ...virtio-non-transitional.x86_64-latest.args | 62 ++++++ .../virtio-non-transitional.xml | 39 ++++ .../virtio-transitional.x86_64-3.1.0.args | 56 ++++++ .../virtio-transitional.x86_64-latest.args | 52 +++++ .../qemuxml2argvdata/virtio-transitional.xml | 39 ++++ tests/qemuxml2argvtest.c | 6 + .../virtio-non-transitional.xml | 121 ++++++++++++ .../virtio-transitional.xml | 80 ++++++++ tests/qemuxml2xmltest.c | 17 ++ 53 files changed, 1470 insertions(+), 50 deletions(-) create mode 100644 tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml create mode 100644 tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args create mode 100644 tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-non-transitional.xml create mode 100644 tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args create mode 100644 tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-transitional.xml create mode 100644 tests/qemuxml2xmloutdata/virtio-non-transitional.xml create mode 100644 tests/qemuxml2xmloutdata/virtio-transitional.xml -- 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list