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