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