[PATCH 0/7] qemu: Fix implicit q35 watchdog

Martin Kletzander posted 7 patches 1 year, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1674485748.git.mkletzan@redhat.com
NEWS.rst                                      |  6 ++
docs/formatdomain.rst                         | 10 ++-
src/conf/domain_conf.c                        | 83 +++++++++++++------
src/conf/domain_conf.h                        |  9 +-
src/conf/schemas/domaincommon.rng             |  5 +-
src/libvirt_private.syms                      |  1 +
src/qemu/qemu_alias.c                         | 26 ++++--
src/qemu/qemu_alias.h                         |  5 +-
src/qemu/qemu_command.c                       | 34 ++++++--
src/qemu/qemu_domain.c                        | 44 ++++++++++
src/qemu/qemu_domain_address.c                |  9 +-
src/qemu/qemu_driver.c                        | 14 ++--
src/qemu/qemu_hotplug.c                       | 71 +++++++---------
src/qemu/qemu_process.c                       |  3 +-
src/qemu/qemu_validate.c                      | 50 +++++++++++
.../qemustatusxml2xmldata/vcpus-multi-in.xml  |  1 +
tests/qemuxml2argvdata/autoindex.args         |  2 +
.../boot-floppy-q35.x86_64-latest.args        |  2 +
tests/qemuxml2argvdata/boot-floppy-q35.xml    |  1 +
tests/qemuxml2argvdata/cpu-host-model.args    |  2 +
.../cpu-host-model.x86_64-4.2.0.args          |  2 +
.../cpu-host-model.x86_64-5.0.0.args          |  2 +
.../cpu-host-model.x86_64-5.1.0.args          |  2 +
.../cpu-host-model.x86_64-5.2.0.args          |  2 +
.../cpu-host-model.x86_64-6.0.0.args          |  2 +
.../cpu-host-model.x86_64-6.1.0.args          |  2 +
.../cpu-host-model.x86_64-latest.args         |  2 +
.../disk-floppy-q35.x86_64-latest.args        |  2 +
...are-auto-bios-stateless.x86_64-latest.args |  2 +
.../firmware-auto-bios.x86_64-latest.args     |  2 +
...-auto-efi-enrolled-keys.x86_64-latest.args |  2 +
...-auto-efi-loader-secure.x86_64-latest.args |  2 +
...to-efi-no-enrolled-keys.x86_64-latest.args |  2 +
...are-auto-efi-no-secboot.x86_64-latest.args |  2 +
...firmware-auto-efi-nvram.x86_64-latest.args |  2 +
...rmware-auto-efi-secboot.x86_64-latest.args |  2 +
...ware-auto-efi-stateless.x86_64-latest.args |  2 +
.../firmware-auto-efi.x86_64-latest.args      |  2 +
.../firmware-manual-efi-acpi-q35.args         |  2 +
.../firmware-manual-efi-secure.args           |  2 +
.../firmware-manual-noefi-acpi-q35.args       |  2 +
.../firmware-manual-noefi-noacpi-q35.args     |  2 +
...dev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args |  2 +
...ev-scsi-vhost-scsi-pcie.x86_64-latest.args |  2 +
.../hvf-x86_64-q35-headless.args              |  2 +
.../intel-iommu-aw-bits.x86_64-latest.args    |  2 +
.../qemuxml2argvdata/intel-iommu-aw-bits.xml  |  1 +
...ntel-iommu-caching-mode.x86_64-latest.args |  2 +
.../intel-iommu-caching-mode.xml              |  1 +
...ntel-iommu-device-iotlb.x86_64-latest.args |  2 +
.../intel-iommu-device-iotlb.xml              |  1 +
.../intel-iommu-eim.x86_64-latest.args        |  2 +
tests/qemuxml2argvdata/intel-iommu-eim.xml    |  1 +
.../intel-iommu.x86_64-latest.args            |  2 +
tests/qemuxml2argvdata/intel-iommu.xml        |  1 +
...othreads-ids-pool-sizes.x86_64-latest.args |  2 +
.../iothreads-ids-pool-sizes.xml              |  1 +
.../machine-smm-off.x86_64-latest.args        |  2 +
.../machine-smm-on.x86_64-latest.args         |  2 +
tests/qemuxml2argvdata/pcie-expander-bus.args |  2 +
.../pcie-root-port-model-generic.args         |  2 +
.../pcie-root-port-model-ioh3420.args         |  2 +
...cie-root-port-nohotplug.x86_64-latest.args |  2 +
tests/qemuxml2argvdata/pcie-root-port.args    |  2 +
tests/qemuxml2argvdata/pcie-root.args         |  2 +
.../pcie-switch-downstream-port.args          |  2 +
.../pcie-switch-upstream-port.args            |  2 +
tests/qemuxml2argvdata/pcihole64-q35.args     |  2 +
...q35-default-devices-only.x86_64-4.2.0.args |  2 +
...35-default-devices-only.x86_64-latest.args |  2 +
.../q35-multifunction.x86_64-4.2.0.args       |  2 +
.../q35-multifunction.x86_64-latest.args      |  2 +
.../q35-pci-force-address.args                |  2 +
.../q35-pcie-autoadd.x86_64-4.2.0.args        |  2 +
.../q35-pcie-autoadd.x86_64-latest.args       |  2 +
.../q35-pcie.x86_64-4.2.0.args                |  2 +
.../q35-pcie.x86_64-latest.args               |  2 +
.../q35-pm-disable-fallback.args              |  2 +
tests/qemuxml2argvdata/q35-pm-disable.args    |  2 +
tests/qemuxml2argvdata/q35-usb2-multi.args    |  2 +
tests/qemuxml2argvdata/q35-usb2-reorder.args  |  2 +
tests/qemuxml2argvdata/q35-usb2.args          |  2 +
.../q35-virt-manager-basic.x86_64-4.2.0.args  |  2 +
.../q35-virt-manager-basic.x86_64-latest.args |  2 +
tests/qemuxml2argvdata/q35.args               |  2 +
.../sgx-epc.x86_64-7.0.0.args                 |  2 +
tests/qemuxml2argvdata/sgx-epc.xml            |  1 +
.../tseg-explicit-size.x86_64-latest.args     |  2 +
.../usb-controller-default-q35.args           |  2 +
.../usb-controller-explicit-q35.args          |  2 +
.../user-aliases2.x86_64-latest.args          |  2 +
.../vcpu-placement-static.args                |  2 +
.../vcpu-placement-static.xml                 |  1 +
...vhost-user-fs-hugepages.x86_64-latest.args |  2 +
.../vhost-user-fs-hugepages.xml               |  1 +
.../virtio-iommu-x86_64.x86_64-latest.args    |  2 +
...virtio-non-transitional.x86_64-latest.args |  2 +
.../virtio-transitional.x86_64-latest.args    |  2 +
.../watchdog-q35-multiple.x86_64-latest.args  | 40 +++++++++
.../watchdog-q35-multiple.xml                 | 25 ++++++
...default-cpu-kvm-q35-4.2.x86_64-latest.args |  2 +
...efault-cpu-tcg-features.x86_64-latest.args |  2 +
.../x86_64-default-cpu-tcg-features.xml       |  1 +
...default-cpu-tcg-q35-4.2.x86_64-latest.args |  2 +
.../x86_64-q35-graphics.x86_64-latest.args    |  2 +
.../x86_64-q35-headless.x86_64-latest.args    |  2 +
tests/qemuxml2argvtest.c                      |  1 +
tests/qemuxml2xmloutdata/autoindex.xml        |  1 +
...ware-auto-bios-stateless.x86_64-latest.xml |  1 +
.../firmware-auto-bios.x86_64-latest.xml      |  1 +
...e-auto-efi-enrolled-keys.x86_64-latest.xml |  1 +
...e-auto-efi-loader-secure.x86_64-latest.xml |  1 +
...uto-efi-no-enrolled-keys.x86_64-latest.xml |  1 +
...ware-auto-efi-no-secboot.x86_64-latest.xml |  1 +
.../firmware-auto-efi-nvram.x86_64-latest.xml |  1 +
...irmware-auto-efi-secboot.x86_64-latest.xml |  1 +
.../firmware-auto-efi.x86_64-latest.xml       |  1 +
...dev-scsi-vhost-scsi-pcie.x86_64-latest.xml |  1 +
.../hvf-x86_64-q35-headless.xml               |  1 +
.../machine-smm-off.x86_64-latest.xml         |  1 +
.../machine-smm-on.x86_64-latest.xml          |  1 +
.../net-isolated-port.x86_64-latest.xml       |  1 +
.../qemuxml2xmloutdata/pcie-expander-bus.xml  |  1 +
.../pcie-root-port-model-generic.xml          |  1 +
.../pcie-root-port-model-ioh3420.xml          |  1 +
...pcie-root-port-nohotplug.x86_64-latest.xml |  1 +
tests/qemuxml2xmloutdata/pcie-root-port.xml   |  1 +
tests/qemuxml2xmloutdata/pcie-root.xml        |  1 +
.../pcie-switch-downstream-port.xml           |  1 +
.../pcie-switch-upstream-port.xml             |  1 +
tests/qemuxml2xmloutdata/pcihole64-q35.xml    |  1 +
...q35-default-devices-only.x86_64-latest.xml |  1 +
.../q35-multifunction.x86_64-latest.xml       |  1 +
.../q35-pci-force-address.xml                 |  1 +
.../q35-pcie-autoadd.x86_64-latest.xml        |  1 +
.../q35-pcie.x86_64-latest.xml                |  1 +
tests/qemuxml2xmloutdata/q35-usb2-multi.xml   |  1 +
tests/qemuxml2xmloutdata/q35-usb2-reorder.xml |  1 +
tests/qemuxml2xmloutdata/q35-usb2.xml         |  1 +
.../q35-virt-manager-basic.x86_64-latest.xml  |  1 +
tests/qemuxml2xmloutdata/q35.xml              |  1 +
.../tseg-explicit-size.x86_64-latest.xml      |  1 +
.../usb-controller-default-q35.xml            |  1 +
.../usb-controller-explicit-q35.xml           |  1 +
.../virtio-iommu-x86_64.x86_64-latest.xml     |  1 +
.../virtio-non-transitional.x86_64-latest.xml |  1 +
.../virtio-transitional.x86_64-latest.xml     |  1 +
.../watchdog-q35-multiple.x86_64-latest.xml   | 51 ++++++++++++
...-default-cpu-kvm-q35-4.2.x86_64-latest.xml |  1 +
...-default-cpu-tcg-q35-4.2.x86_64-latest.xml |  1 +
.../x86_64-q35-graphics.x86_64-latest.xml     |  1 +
.../x86_64-q35-headless.x86_64-latest.xml     |  1 +
tests/qemuxml2xmltest.c                       |  1 +
153 files changed, 601 insertions(+), 97 deletions(-)
create mode 100644 tests/qemuxml2argvdata/watchdog-q35-multiple.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/watchdog-q35-multiple.xml
create mode 100644 tests/qemuxml2xmloutdata/watchdog-q35-multiple.x86_64-latest.xml
[PATCH 0/7] qemu: Fix implicit q35 watchdog
Posted by Martin Kletzander 1 year, 3 months ago
More info in commit messages (duh).

Martin Kletzander (7):
  Avoid unnecessary nesting
  Support multiple watchdog devices
  Add iTCO watchdog support
  qemu: Enable iTCO watchdog by disabling its noreboot pin strap
  qemu: Add implicit watchdog for q35 machine types
  Document change to multiple watchdogs
  news: Add information about iTCO watchdog changes

 NEWS.rst                                      |  6 ++
 docs/formatdomain.rst                         | 10 ++-
 src/conf/domain_conf.c                        | 83 +++++++++++++------
 src/conf/domain_conf.h                        |  9 +-
 src/conf/schemas/domaincommon.rng             |  5 +-
 src/libvirt_private.syms                      |  1 +
 src/qemu/qemu_alias.c                         | 26 ++++--
 src/qemu/qemu_alias.h                         |  5 +-
 src/qemu/qemu_command.c                       | 34 ++++++--
 src/qemu/qemu_domain.c                        | 44 ++++++++++
 src/qemu/qemu_domain_address.c                |  9 +-
 src/qemu/qemu_driver.c                        | 14 ++--
 src/qemu/qemu_hotplug.c                       | 71 +++++++---------
 src/qemu/qemu_process.c                       |  3 +-
 src/qemu/qemu_validate.c                      | 50 +++++++++++
 .../qemustatusxml2xmldata/vcpus-multi-in.xml  |  1 +
 tests/qemuxml2argvdata/autoindex.args         |  2 +
 .../boot-floppy-q35.x86_64-latest.args        |  2 +
 tests/qemuxml2argvdata/boot-floppy-q35.xml    |  1 +
 tests/qemuxml2argvdata/cpu-host-model.args    |  2 +
 .../cpu-host-model.x86_64-4.2.0.args          |  2 +
 .../cpu-host-model.x86_64-5.0.0.args          |  2 +
 .../cpu-host-model.x86_64-5.1.0.args          |  2 +
 .../cpu-host-model.x86_64-5.2.0.args          |  2 +
 .../cpu-host-model.x86_64-6.0.0.args          |  2 +
 .../cpu-host-model.x86_64-6.1.0.args          |  2 +
 .../cpu-host-model.x86_64-latest.args         |  2 +
 .../disk-floppy-q35.x86_64-latest.args        |  2 +
 ...are-auto-bios-stateless.x86_64-latest.args |  2 +
 .../firmware-auto-bios.x86_64-latest.args     |  2 +
 ...-auto-efi-enrolled-keys.x86_64-latest.args |  2 +
 ...-auto-efi-loader-secure.x86_64-latest.args |  2 +
 ...to-efi-no-enrolled-keys.x86_64-latest.args |  2 +
 ...are-auto-efi-no-secboot.x86_64-latest.args |  2 +
 ...firmware-auto-efi-nvram.x86_64-latest.args |  2 +
 ...rmware-auto-efi-secboot.x86_64-latest.args |  2 +
 ...ware-auto-efi-stateless.x86_64-latest.args |  2 +
 .../firmware-auto-efi.x86_64-latest.args      |  2 +
 .../firmware-manual-efi-acpi-q35.args         |  2 +
 .../firmware-manual-efi-secure.args           |  2 +
 .../firmware-manual-noefi-acpi-q35.args       |  2 +
 .../firmware-manual-noefi-noacpi-q35.args     |  2 +
 ...dev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args |  2 +
 ...ev-scsi-vhost-scsi-pcie.x86_64-latest.args |  2 +
 .../hvf-x86_64-q35-headless.args              |  2 +
 .../intel-iommu-aw-bits.x86_64-latest.args    |  2 +
 .../qemuxml2argvdata/intel-iommu-aw-bits.xml  |  1 +
 ...ntel-iommu-caching-mode.x86_64-latest.args |  2 +
 .../intel-iommu-caching-mode.xml              |  1 +
 ...ntel-iommu-device-iotlb.x86_64-latest.args |  2 +
 .../intel-iommu-device-iotlb.xml              |  1 +
 .../intel-iommu-eim.x86_64-latest.args        |  2 +
 tests/qemuxml2argvdata/intel-iommu-eim.xml    |  1 +
 .../intel-iommu.x86_64-latest.args            |  2 +
 tests/qemuxml2argvdata/intel-iommu.xml        |  1 +
 ...othreads-ids-pool-sizes.x86_64-latest.args |  2 +
 .../iothreads-ids-pool-sizes.xml              |  1 +
 .../machine-smm-off.x86_64-latest.args        |  2 +
 .../machine-smm-on.x86_64-latest.args         |  2 +
 tests/qemuxml2argvdata/pcie-expander-bus.args |  2 +
 .../pcie-root-port-model-generic.args         |  2 +
 .../pcie-root-port-model-ioh3420.args         |  2 +
 ...cie-root-port-nohotplug.x86_64-latest.args |  2 +
 tests/qemuxml2argvdata/pcie-root-port.args    |  2 +
 tests/qemuxml2argvdata/pcie-root.args         |  2 +
 .../pcie-switch-downstream-port.args          |  2 +
 .../pcie-switch-upstream-port.args            |  2 +
 tests/qemuxml2argvdata/pcihole64-q35.args     |  2 +
 ...q35-default-devices-only.x86_64-4.2.0.args |  2 +
 ...35-default-devices-only.x86_64-latest.args |  2 +
 .../q35-multifunction.x86_64-4.2.0.args       |  2 +
 .../q35-multifunction.x86_64-latest.args      |  2 +
 .../q35-pci-force-address.args                |  2 +
 .../q35-pcie-autoadd.x86_64-4.2.0.args        |  2 +
 .../q35-pcie-autoadd.x86_64-latest.args       |  2 +
 .../q35-pcie.x86_64-4.2.0.args                |  2 +
 .../q35-pcie.x86_64-latest.args               |  2 +
 .../q35-pm-disable-fallback.args              |  2 +
 tests/qemuxml2argvdata/q35-pm-disable.args    |  2 +
 tests/qemuxml2argvdata/q35-usb2-multi.args    |  2 +
 tests/qemuxml2argvdata/q35-usb2-reorder.args  |  2 +
 tests/qemuxml2argvdata/q35-usb2.args          |  2 +
 .../q35-virt-manager-basic.x86_64-4.2.0.args  |  2 +
 .../q35-virt-manager-basic.x86_64-latest.args |  2 +
 tests/qemuxml2argvdata/q35.args               |  2 +
 .../sgx-epc.x86_64-7.0.0.args                 |  2 +
 tests/qemuxml2argvdata/sgx-epc.xml            |  1 +
 .../tseg-explicit-size.x86_64-latest.args     |  2 +
 .../usb-controller-default-q35.args           |  2 +
 .../usb-controller-explicit-q35.args          |  2 +
 .../user-aliases2.x86_64-latest.args          |  2 +
 .../vcpu-placement-static.args                |  2 +
 .../vcpu-placement-static.xml                 |  1 +
 ...vhost-user-fs-hugepages.x86_64-latest.args |  2 +
 .../vhost-user-fs-hugepages.xml               |  1 +
 .../virtio-iommu-x86_64.x86_64-latest.args    |  2 +
 ...virtio-non-transitional.x86_64-latest.args |  2 +
 .../virtio-transitional.x86_64-latest.args    |  2 +
 .../watchdog-q35-multiple.x86_64-latest.args  | 40 +++++++++
 .../watchdog-q35-multiple.xml                 | 25 ++++++
 ...default-cpu-kvm-q35-4.2.x86_64-latest.args |  2 +
 ...efault-cpu-tcg-features.x86_64-latest.args |  2 +
 .../x86_64-default-cpu-tcg-features.xml       |  1 +
 ...default-cpu-tcg-q35-4.2.x86_64-latest.args |  2 +
 .../x86_64-q35-graphics.x86_64-latest.args    |  2 +
 .../x86_64-q35-headless.x86_64-latest.args    |  2 +
 tests/qemuxml2argvtest.c                      |  1 +
 tests/qemuxml2xmloutdata/autoindex.xml        |  1 +
 ...ware-auto-bios-stateless.x86_64-latest.xml |  1 +
 .../firmware-auto-bios.x86_64-latest.xml      |  1 +
 ...e-auto-efi-enrolled-keys.x86_64-latest.xml |  1 +
 ...e-auto-efi-loader-secure.x86_64-latest.xml |  1 +
 ...uto-efi-no-enrolled-keys.x86_64-latest.xml |  1 +
 ...ware-auto-efi-no-secboot.x86_64-latest.xml |  1 +
 .../firmware-auto-efi-nvram.x86_64-latest.xml |  1 +
 ...irmware-auto-efi-secboot.x86_64-latest.xml |  1 +
 .../firmware-auto-efi.x86_64-latest.xml       |  1 +
 ...dev-scsi-vhost-scsi-pcie.x86_64-latest.xml |  1 +
 .../hvf-x86_64-q35-headless.xml               |  1 +
 .../machine-smm-off.x86_64-latest.xml         |  1 +
 .../machine-smm-on.x86_64-latest.xml          |  1 +
 .../net-isolated-port.x86_64-latest.xml       |  1 +
 .../qemuxml2xmloutdata/pcie-expander-bus.xml  |  1 +
 .../pcie-root-port-model-generic.xml          |  1 +
 .../pcie-root-port-model-ioh3420.xml          |  1 +
 ...pcie-root-port-nohotplug.x86_64-latest.xml |  1 +
 tests/qemuxml2xmloutdata/pcie-root-port.xml   |  1 +
 tests/qemuxml2xmloutdata/pcie-root.xml        |  1 +
 .../pcie-switch-downstream-port.xml           |  1 +
 .../pcie-switch-upstream-port.xml             |  1 +
 tests/qemuxml2xmloutdata/pcihole64-q35.xml    |  1 +
 ...q35-default-devices-only.x86_64-latest.xml |  1 +
 .../q35-multifunction.x86_64-latest.xml       |  1 +
 .../q35-pci-force-address.xml                 |  1 +
 .../q35-pcie-autoadd.x86_64-latest.xml        |  1 +
 .../q35-pcie.x86_64-latest.xml                |  1 +
 tests/qemuxml2xmloutdata/q35-usb2-multi.xml   |  1 +
 tests/qemuxml2xmloutdata/q35-usb2-reorder.xml |  1 +
 tests/qemuxml2xmloutdata/q35-usb2.xml         |  1 +
 .../q35-virt-manager-basic.x86_64-latest.xml  |  1 +
 tests/qemuxml2xmloutdata/q35.xml              |  1 +
 .../tseg-explicit-size.x86_64-latest.xml      |  1 +
 .../usb-controller-default-q35.xml            |  1 +
 .../usb-controller-explicit-q35.xml           |  1 +
 .../virtio-iommu-x86_64.x86_64-latest.xml     |  1 +
 .../virtio-non-transitional.x86_64-latest.xml |  1 +
 .../virtio-transitional.x86_64-latest.xml     |  1 +
 .../watchdog-q35-multiple.x86_64-latest.xml   | 51 ++++++++++++
 ...-default-cpu-kvm-q35-4.2.x86_64-latest.xml |  1 +
 ...-default-cpu-tcg-q35-4.2.x86_64-latest.xml |  1 +
 .../x86_64-q35-graphics.x86_64-latest.xml     |  1 +
 .../x86_64-q35-headless.x86_64-latest.xml     |  1 +
 tests/qemuxml2xmltest.c                       |  1 +
 153 files changed, 601 insertions(+), 97 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/watchdog-q35-multiple.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/watchdog-q35-multiple.xml
 create mode 100644 tests/qemuxml2xmloutdata/watchdog-q35-multiple.x86_64-latest.xml

-- 
2.39.1
Re: [PATCH 0/7] qemu: Fix implicit q35 watchdog
Posted by Michal Prívozník 1 year, 3 months ago
On 1/23/23 15:57, Martin Kletzander wrote:
> More info in commit messages (duh).
> 
> Martin Kletzander (7):
>   Avoid unnecessary nesting
>   Support multiple watchdog devices
>   Add iTCO watchdog support
>   qemu: Enable iTCO watchdog by disabling its noreboot pin strap
>   qemu: Add implicit watchdog for q35 machine types
>   Document change to multiple watchdogs
>   news: Add information about iTCO watchdog changes
> 

>  153 files changed, 601 insertions(+), 97 deletions(-)


Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal