[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH v3 00/28] Fix serial console behavior on non-x86 architectures



Happy birthday to me.

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

Andrea Bolognani (24):
  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
  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                          | 233 ++++++++++++----
 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                       |   2 +
 src/qemu/qemu_capabilities.h                       |   1 +
 src/qemu/qemu_command.c                            | 134 ++++-----
 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                  |   1 +
 .../caps_2.10.0-gicv3.aarch64.xml                  |   1 +
 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                   |   1 +
 .../caps_2.6.0-gicv3.aarch64.xml                   |   1 +
 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                           | 101 ++++++-
 .../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, 1883 insertions(+), 391 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]