Changes from [v3]: * document which target types have an associated address; * add capability for pl011. Changes from [v2]: * don't drop -serial suffix from existing target types; * add capability and machine type checks for isa-serial; * reduce code duplication; * improve documentation. Changes from [v1]: * introduce target model to go along with target type and store the actual hypervisor-specific device name, as suggested by Pavel; * shorten the names of the esisting target types; * introduce a bunch of additional cleanups required for the first item. [v1] https://www.redhat.com/archives/libvir-list/2017-November/msg00545.html [v2] https://www.redhat.com/archives/libvir-list/2017-November/msg00831.html [v3] https://www.redhat.com/archives/libvir-list/2017-November/msg01027.html Andrea Bolognani (26): docs: Improve documentation for serial consoles qemu: Introduce qemuDomainChrDefPostParse() conf: Run devicePostParse() again for the first serial device conf: Introduce VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_NONE conf: Drop virDomainChrDeviceType.targetTypeAttr conf: Introduce virDomainChrTargetDefFormat() conf: Improve error handling in virDomainChrDefFormat() conf: Check virDomainChrSourceDefFormat() return value conf: Improve virDomainChrTargetDefFormat() conf: Remove ATTRIBUTE_FALLTHROUGH from virDomainChrTargetDefFormat() qemu: Introduce qemuDomainChrTargetDefValidate() qemu: Improve qemuDomainChrTargetDefValidate() conf: Parse and format virDomainChrSerialTargetModel qemu: Set targetModel based on targetType for serial devices qemu: Validate target model for serial devices qemu: Format targetModel for serial devices qemu: Remove redundancy in qemuBuildSerialChrDeviceStr() conf: Add target type and model for spapr-vty qemu: Support usb-serial and pci-serial on pSeries conf: Add target type and model for pl011 qemu: Add QEMU_CAPS_DEVICE_ISA_SERIAL qemu: Require QEMU_CAPS_DEVICE_ISA_SERIAL for isa-serial qemu: Limit isa-serial usage to x86 guests qemu: Add QEMU_CAPS_DEVICE_PL011 qemu: Require QEMU_CAPS_DEVICE_PL011 for pl011 news: Update for serial console fixes Pino Toscano (4): conf: add VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_SCLP conf: pass parseFlags down to virDomainDefAddConsoleCompat conf: convert sclp/sclplm <console> as <serial> qemu: switch s390/s390x default console back to serial docs/formatdomain.html.in | 239 ++++++++++++---- docs/news.xml | 12 + docs/schemas/domaincommon.rng | 22 ++ src/conf/domain_conf.c | 304 ++++++++++++++++----- src/conf/domain_conf.h | 26 +- src/libvirt_private.syms | 2 + src/qemu/qemu_capabilities.c | 6 + src/qemu/qemu_capabilities.h | 4 + src/qemu/qemu_command.c | 147 +++++----- src/qemu/qemu_domain.c | 301 ++++++++++++++++++-- src/qemu/qemu_domain_address.c | 7 +- src/vz/vz_sdk.c | 5 +- .../qemuargv2xml-console-compat.xml | 4 +- tests/qemuargv2xmldata/qemuargv2xml-serial-dev.xml | 4 +- .../qemuargv2xmldata/qemuargv2xml-serial-file.xml | 4 +- .../qemuargv2xmldata/qemuargv2xml-serial-many.xml | 8 +- tests/qemuargv2xmldata/qemuargv2xml-serial-pty.xml | 4 +- .../qemuargv2xml-serial-tcp-telnet.xml | 4 +- tests/qemuargv2xmldata/qemuargv2xml-serial-tcp.xml | 4 +- tests/qemuargv2xmldata/qemuargv2xml-serial-udp.xml | 8 +- .../qemuargv2xmldata/qemuargv2xml-serial-unix.xml | 4 +- tests/qemuargv2xmldata/qemuargv2xml-serial-vc.xml | 4 +- tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 1 + .../caps_2.10.0-gicv2.aarch64.xml | 2 + .../caps_2.10.0-gicv3.aarch64.xml | 2 + tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 1 + .../caps_2.6.0-gicv2.aarch64.xml | 2 + .../caps_2.6.0-gicv3.aarch64.xml | 2 + tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 + tests/qemuhelptest.c | 5 + ...otplug-console-compat-2-live+console-virtio.xml | 12 +- .../qemuhotplug-console-compat-2-live.xml | 12 +- .../qemuxml2argv-mach-virt-console-native.args | 1 + .../qemuxml2argv-mach-virt-console-native.xml | 17 ++ ... => qemuxml2argv-mach-virt-console-virtio.args} | 15 +- .../qemuxml2argv-mach-virt-console-virtio.xml | 19 ++ ...muxml2argv-mach-virt-serial+console-native.args | 1 + ...emuxml2argv-mach-virt-serial+console-native.xml | 18 ++ .../qemuxml2argv-mach-virt-serial-compat.args | 1 + .../qemuxml2argv-mach-virt-serial-compat.xml | 19 ++ ...muxml2argv-mach-virt-serial-invalid-machine.xml | 21 ++ ...s => qemuxml2argv-mach-virt-serial-native.args} | 12 +- .../qemuxml2argv-mach-virt-serial-native.xml | 16 ++ .../qemuxml2argv-mach-virt-serial-pci.args | 26 ++ .../qemuxml2argv-mach-virt-serial-pci.xml | 18 ++ .../qemuxml2argv-mach-virt-serial-usb.args | 27 ++ .../qemuxml2argv-mach-virt-serial-usb.xml | 21 ++ .../qemuxml2argv-pseries-basic.args | 2 +- .../qemuxml2argv-pseries-console-native.args | 1 + .../qemuxml2argv-pseries-console-native.xml | 17 ++ ...gs => qemuxml2argv-pseries-console-virtio.args} | 10 +- .../qemuxml2argv-pseries-console-virtio.xml | 19 ++ .../qemuxml2argv-pseries-cpu-compat-power9.args | 2 +- .../qemuxml2argv-pseries-cpu-compat.args | 2 +- .../qemuxml2argv-pseries-cpu-exact.args | 2 +- .../qemuxml2argv-pseries-cpu-le.args | 2 +- .../qemuxml2argv-pseries-panic-missing.args | 2 +- .../qemuxml2argv-pseries-panic-no-address.args | 2 +- ...qemuxml2argv-pseries-serial+console-native.args | 1 + .../qemuxml2argv-pseries-serial+console-native.xml | 18 ++ .../qemuxml2argv-pseries-serial-compat.args | 1 + .../qemuxml2argv-pseries-serial-compat.xml | 19 ++ ...qemuxml2argv-pseries-serial-invalid-machine.xml | 19 ++ ...rgs => qemuxml2argv-pseries-serial-native.args} | 7 +- .../qemuxml2argv-pseries-serial-native.xml | 16 ++ ...c.args => qemuxml2argv-pseries-serial-pci.args} | 7 +- .../qemuxml2argv-pseries-serial-pci.xml | 18 ++ ...c.args => qemuxml2argv-pseries-serial-usb.args} | 8 +- .../qemuxml2argv-pseries-serial-usb.xml | 21 ++ .../qemuxml2argv-pseries-usb-default.args | 2 +- .../qemuxml2argv-pseries-usb-kbd.args | 2 +- .../qemuxml2argv-pseries-usb-multi.args | 2 +- .../qemuxml2argv-pseries-vio-user-assigned.args | 4 +- .../qemuxml2argvdata/qemuxml2argv-pseries-vio.args | 4 +- ....args => qemuxml2argv-s390-console2serial.args} | 11 +- .../qemuxml2argv-s390-console2serial.xml | 19 ++ ...power9.args => qemuxml2argv-s390-serial-2.args} | 14 +- .../qemuxml2argv-s390-serial-2.xml | 19 ++ ....args => qemuxml2argv-s390-serial-console.args} | 11 +- .../qemuxml2argv-s390-serial-console.xml | 15 + ...es-basic.args => qemuxml2argv-s390-serial.args} | 11 +- .../qemuxml2argvdata/qemuxml2argv-s390-serial.xml | 14 + ...muxml2argv-serial-tcp-tlsx509-chardev-notls.xml | 8 +- .../qemuxml2argvdata/qemuxml2argv-user-aliases.xml | 8 +- tests/qemuxml2argvtest.c | 110 +++++++- .../qemuxml2xmlout-aarch64-pci-serial.xml | 4 +- .../qemuxml2xmlout-aarch64-virtio-pci-default.xml | 4 +- .../qemuxml2xmlout-bios-nvram-os-interleave.xml | 4 +- .../qemuxml2xmlout-chardev-label.xml | 8 +- .../qemuxml2xmlout-console-compat-auto.xml | 4 +- .../qemuxml2xmlout-console-compat.xml | 4 +- .../qemuxml2xmlout-console-compat2.xml | 4 +- .../qemuxml2xmlout-console-virtio-many.xml | 4 +- .../qemuxml2xmlout-interface-driver.xml | 4 +- .../qemuxml2xmlout-interface-server.xml | 8 +- .../qemuxml2xmlout-mach-virt-console-native.xml | 1 + ...=> qemuxml2xmlout-mach-virt-console-virtio.xml} | 19 +- ...uxml2xmlout-mach-virt-serial+console-native.xml | 1 + .../qemuxml2xmlout-mach-virt-serial-compat.xml | 31 +++ .../qemuxml2xmlout-mach-virt-serial-native.xml | 1 + ...xml => qemuxml2xmlout-mach-virt-serial-pci.xml} | 15 +- .../qemuxml2xmlout-mach-virt-serial-usb.xml | 41 +++ .../qemuxml2xmlout-net-bandwidth.xml | 4 +- .../qemuxml2xmlout-net-bandwidth2.xml | 4 +- .../qemuxml2xmlout-net-coalesce.xml | 4 +- .../qemuxml2xmloutdata/qemuxml2xmlout-net-mtu.xml | 4 +- .../qemuxml2xmlout-panic-pseries.xml | 4 +- .../qemuxml2xmlout-pci-serial-dev-chardev.xml | 4 +- .../qemuxml2xmlout-pseries-console-native.xml | 1 + ...l => qemuxml2xmlout-pseries-console-virtio.xml} | 16 +- .../qemuxml2xmlout-pseries-cpu-compat-power9.xml | 4 +- .../qemuxml2xmlout-pseries-cpu-compat.xml | 4 +- .../qemuxml2xmlout-pseries-cpu-exact.xml | 4 +- .../qemuxml2xmlout-pseries-panic-missing.xml | 4 +- .../qemuxml2xmlout-pseries-panic-no-address.xml | 4 +- ...emuxml2xmlout-pseries-serial+console-native.xml | 1 + .../qemuxml2xmlout-pseries-serial-compat.xml | 1 + ...ml => qemuxml2xmlout-pseries-serial-native.xml} | 10 +- ...g.xml => qemuxml2xmlout-pseries-serial-pci.xml} | 16 +- ...g.xml => qemuxml2xmlout-pseries-serial-usb.xml} | 13 +- .../qemuxml2xmlout-q35-virt-manager-basic.xml | 4 +- .../qemuxml2xmlout-s390-defaultconsole.xml | 8 +- .../qemuxml2xmlout-s390-serial-2.xml | 33 +++ .../qemuxml2xmlout-s390-serial-console.xml | 28 ++ .../qemuxml2xmlout-s390-serial.xml | 28 ++ .../qemuxml2xmlout-serial-spiceport-nospice.xml | 4 +- .../qemuxml2xmlout-serial-spiceport.xml | 4 +- .../qemuxml2xmlout-serial-target-port-auto.xml | 12 +- .../qemuxml2xmlout-serial-tcp-tlsx509-chardev.xml | 8 +- .../qemuxml2xmlout-tap-vhost-incorrect.xml | 4 +- .../qemuxml2xmlout-tap-vhost.xml | 4 +- .../qemuxml2xmlout-vhost_queues.xml | 4 +- tests/qemuxml2xmltest.c | 54 ++++ 147 files changed, 1923 insertions(+), 390 deletions(-) create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-console-native.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-console-native.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-mach-virt-console-virtio.args} (53%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-console-virtio.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial+console-native.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial+console-native.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial-compat.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial-compat.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial-invalid-machine.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-mach-virt-serial-native.args} (62%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial-native.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial-pci.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial-pci.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial-usb.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-mach-virt-serial-usb.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-pseries-console-native.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-console-native.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-pseries-console-virtio.args} (59%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-console-virtio.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-pseries-serial+console-native.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-serial+console-native.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-pseries-serial-compat.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-serial-compat.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-serial-invalid-machine.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-pseries-serial-native.args} (70%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-serial-native.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-pseries-serial-pci.args} (70%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-serial-pci.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-pseries-serial-usb.args} (65%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pseries-serial-usb.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-s390-console2serial.args} (71%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-s390-console2serial.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-cpu-compat-power9.args => qemuxml2argv-s390-serial-2.args} (62%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-s390-serial-2.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-s390-serial-console.args} (71%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-s390-serial-console.xml copy tests/qemuxml2argvdata/{qemuxml2argv-pseries-basic.args => qemuxml2argv-s390-serial.args} (71%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-s390-serial.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-mach-virt-console-native.xml copy tests/qemuxml2xmloutdata/{qemuxml2xmlout-s390-defaultconsole.xml => qemuxml2xmlout-mach-virt-console-virtio.xml} (50%) create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-mach-virt-serial+console-native.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-mach-virt-serial-compat.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-mach-virt-serial-native.xml copy tests/qemuxml2xmloutdata/{qemuxml2xmlout-aarch64-pci-serial.xml => qemuxml2xmlout-mach-virt-serial-pci.xml} (78%) create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-mach-virt-serial-usb.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-console-native.xml copy tests/qemuxml2xmloutdata/{qemuxml2xmlout-panic-pseries.xml => qemuxml2xmlout-pseries-console-virtio.xml} (75%) create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-serial+console-native.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-pseries-serial-compat.xml copy tests/qemuxml2xmloutdata/{qemuxml2xmlout-pseries-panic-missing.xml => qemuxml2xmlout-pseries-serial-native.xml} (82%) copy tests/qemuxml2xmloutdata/{qemuxml2xmlout-pseries-panic-missing.xml => qemuxml2xmlout-pseries-serial-pci.xml} (74%) copy tests/qemuxml2xmloutdata/{qemuxml2xmlout-pseries-panic-missing.xml => qemuxml2xmlout-pseries-serial-usb.xml} (75%) create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-serial-2.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-serial-console.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-s390-serial.xml -- 2.14.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list