[PATCH 0/7] qemu: Don't use deprecated '-no-acpi' and RFC: fix ACPI config for machine types not supporting ACPI

Peter Krempa posted 7 patches 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1677511354.git.pkrempa@redhat.com
src/qemu/qemu_capabilities.c                  |  89 ++--
src/qemu/qemu_capabilities.h                  |   4 +
src/qemu/qemu_capspriv.h                      |   3 +-
src/qemu/qemu_command.c                       |  51 ++
src/qemu/qemu_monitor.h                       |   1 +
src/qemu/qemu_monitor_json.c                  |  12 +
.../caps_4.2.0.x86_64.xml                     |   2 +-
.../caps_5.0.0.x86_64.xml                     |   2 +-
.../caps_5.1.0.x86_64.xml                     |   2 +-
.../caps_5.2.0.x86_64.xml                     |   2 +-
.../caps_6.0.0.x86_64.xml                     |   2 +-
.../caps_6.1.0.x86_64.xml                     |   2 +-
.../caps_6.2.0.aarch64.xml                    |   2 +-
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml |   1 +
.../caps_6.2.0.x86_64.xml                     |   2 +-
.../caps_7.0.0.aarch64.xml                    |   2 +-
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml |   1 +
.../caps_7.0.0.x86_64.xml                     |   2 +-
.../qemucapabilitiesdata/caps_7.1.0.ppc64.xml |   1 +
.../caps_7.1.0.x86_64.xml                     |   2 +-
.../caps_7.2.0.x86_64.xml                     |   2 +-
.../caps_8.0.0.x86_64.replies                 | 471 ++++++++++++------
.../caps_8.0.0.x86_64.xml                     | 244 ++++-----
...fault-cpu-kvm-virt-4.2.aarch64-latest.args |   3 +-
...fault-cpu-tcg-virt-4.2.aarch64-latest.args |   3 +-
.../aarch64-features-sve.aarch64-latest.args  |   3 +-
.../aarch64-tpm.aarch64-latest.args           |   3 +-
.../aarch64-virt-graphics.aarch64-latest.args |   2 +-
.../aarch64-virt-headless.aarch64-latest.args |   2 +-
...h64-virtio-pci-default.aarch64-latest.args |   3 +-
.../audio-alsa-best.x86_64-latest.args        |   3 +-
.../audio-alsa-full.x86_64-latest.args        |   3 +-
.../audio-alsa-minimal.x86_64-latest.args     |   3 +-
.../audio-coreaudio-best.x86_64-latest.args   |   3 +-
.../audio-coreaudio-full.x86_64-latest.args   |   3 +-
...audio-coreaudio-minimal.x86_64-latest.args |   3 +-
...udio-default-nographics.x86_64-latest.args |   3 +-
.../audio-default-sdl.x86_64-latest.args      |   3 +-
.../audio-default-spice.x86_64-latest.args    |   3 +-
.../audio-default-vnc.x86_64-latest.args      |   3 +-
.../audio-file-best.x86_64-latest.args        |   3 +-
.../audio-file-full.x86_64-latest.args        |   3 +-
.../audio-file-minimal.x86_64-latest.args     |   3 +-
.../audio-jack-full.x86_64-latest.args        |   3 +-
.../audio-jack-minimal.x86_64-latest.args     |   3 +-
.../audio-many-backends.x86_64-latest.args    |   3 +-
.../audio-none-best.x86_64-latest.args        |   3 +-
.../audio-none-full.x86_64-latest.args        |   3 +-
.../audio-none-minimal.x86_64-latest.args     |   3 +-
.../audio-oss-best.x86_64-latest.args         |   3 +-
.../audio-oss-full.x86_64-latest.args         |   3 +-
.../audio-oss-minimal.x86_64-latest.args      |   3 +-
.../audio-pulseaudio-best.x86_64-latest.args  |   3 +-
.../audio-pulseaudio-full.x86_64-latest.args  |   3 +-
...udio-pulseaudio-minimal.x86_64-latest.args |   3 +-
.../audio-sdl-best.x86_64-latest.args         |   3 +-
.../audio-sdl-full.x86_64-latest.args         |   3 +-
.../audio-sdl-minimal.x86_64-latest.args      |   3 +-
.../audio-spice-best.x86_64-latest.args       |   3 +-
.../audio-spice-full.x86_64-latest.args       |   3 +-
.../audio-spice-minimal.x86_64-latest.args    |   3 +-
.../blkdeviotune-group-num.x86_64-latest.args |   3 +-
...blkdeviotune-max-length.x86_64-latest.args |   3 +-
.../blkdeviotune-max.x86_64-latest.args       |   3 +-
.../blkdeviotune.x86_64-latest.args           |   3 +-
.../boot-cdrom.x86_64-latest.args             |   3 +-
.../boot-complex.x86_64-latest.args           |   3 +-
.../boot-floppy-q35.x86_64-latest.args        |   3 +-
.../boot-floppy.x86_64-latest.args            |   3 +-
...boot-menu-disable-drive.x86_64-latest.args |   3 +-
.../boot-menu-disable.x86_64-latest.args      |   3 +-
...enu-enable-with-timeout.x86_64-latest.args |   3 +-
.../boot-menu-enable.x86_64-latest.args       |   3 +-
.../boot-multi.x86_64-latest.args             |   3 +-
.../boot-network.x86_64-latest.args           |   3 +-
.../boot-order.x86_64-latest.args             |   3 +-
...l-qemu-vdagent-features.x86_64-latest.args |   3 +-
.../channel-qemu-vdagent.x86_64-latest.args   |   3 +-
.../channel-unix-guestfwd.x86_64-latest.args  |   3 +-
.../clock-absolute.x86_64-latest.args         |   3 +-
.../clock-timer-armvtimer.aarch64-latest.args |   3 +-
.../console-compat-auto.x86_64-latest.args    |   3 +-
.../console-compat-chardev.x86_64-latest.args |   3 +-
.../console-compat.x86_64-latest.args         |   3 +-
.../console-virtio-unix.x86_64-latest.args    |   3 +-
.../controller-usb-order.x86_64-latest.args   |   3 +-
.../controller-virtio-scsi.x86_64-latest.args |   3 +-
...-Icelake-Server-pconfig.x86_64-latest.args |   3 +-
.../cpu-eoi-disabled.x86_64-latest.args       |   2 +-
.../cpu-eoi-enabled.x86_64-latest.args        |   2 +-
.../cpu-host-model.x86_64-4.2.0.args          |   3 +-
.../cpu-host-model.x86_64-5.0.0.args          |   3 +-
.../cpu-host-model.x86_64-5.1.0.args          |   3 +-
.../cpu-host-model.x86_64-5.2.0.args          |   3 +-
.../cpu-host-model.x86_64-6.0.0.args          |   3 +-
.../cpu-host-model.x86_64-6.1.0.args          |   3 +-
.../cpu-host-model.x86_64-latest.args         |   3 +-
.../cpu-translation.x86_64-latest.args        |   3 +-
.../cputune-cpuset-big-id.x86_64-latest.args  |   3 +-
.../crypto-builtin.x86_64-latest.args         |   3 +-
...ult-video-type-aarch64.aarch64-latest.args |   3 +-
...default-video-type-ppc64.ppc64-latest.args |   2 +-
.../devices-acpi-index.x86_64-latest.args     |   2 +-
.../disk-aio-io_uring.x86_64-latest.args      |   3 +-
.../disk-aio.x86_64-latest.args               |   3 +-
.../disk-arm-virtio-sd.aarch64-latest.args    |   3 +-
...-backing-chains-noindex.x86_64-latest.args |   3 +-
.../disk-blockio.x86_64-latest.args           |   3 +-
.../disk-boot-cdrom.x86_64-latest.args        |   3 +-
.../disk-boot-disk.x86_64-latest.args         |   3 +-
.../disk-cache.x86_64-latest.args             |   3 +-
.../disk-cdrom-bus-other.x86_64-latest.args   |   3 +-
...m-empty-network-invalid.x86_64-latest.args |   3 +-
.../disk-cdrom-network.x86_64-latest.args     |   2 +-
.../disk-cdrom-tray.x86_64-latest.args        |   3 +-
.../disk-cdrom.x86_64-latest.args             |   3 +-
.../disk-copy_on_read.x86_64-latest.args      |   3 +-
.../disk-detect-zeroes.x86_64-latest.args     |   3 +-
.../disk-discard.x86_64-latest.args           |   3 +-
.../disk-error-policy.x86_64-latest.args      |   3 +-
.../disk-floppy-q35.x86_64-latest.args        |   3 +-
.../disk-floppy-tray.x86_64-latest.args       |   3 +-
.../disk-floppy.x86_64-latest.args            |   3 +-
.../disk-fmt-qcow.x86_64-latest.args          |   3 +-
.../disk-geometry.x86_64-latest.args          |   3 +-
.../disk-ide-split.x86_64-latest.args         |   3 +-
.../disk-ide-wwn.x86_64-latest.args           |   3 +-
.../disk-ioeventfd.x86_64-latest.args         |   3 +-
.../disk-metadata-cache.x86_64-latest.args    |   3 +-
.../disk-network-gluster.x86_64-latest.args   |   3 +-
.../disk-network-http.x86_64-latest.args      |   3 +-
.../disk-network-iscsi.x86_64-latest.args     |   3 +-
.../disk-network-nbd.x86_64-latest.args       |   3 +-
.../disk-network-nfs.x86_64-latest.args       |   3 +-
...-network-rbd-encryption.x86_64-latest.args |   3 +-
...sk-network-rbd-no-colon.x86_64-latest.args |   3 +-
.../disk-network-rbd.x86_64-latest.args       |   3 +-
.../disk-network-sheepdog.x86_64-6.0.0.args   |   3 +-
...isk-network-source-auth.x86_64-latest.args |   3 +-
...rk-tlsx509-nbd-hostname.x86_64-latest.args |   3 +-
...disk-network-tlsx509-nbd.x86_64-5.2.0.args |   3 +-
...isk-network-tlsx509-nbd.x86_64-latest.args |   3 +-
...isk-network-tlsx509-vxhs.x86_64-5.0.0.args |   3 +-
.../disk-no-boot.x86_64-latest.args           |   3 +-
.../disk-nvme.x86_64-latest.args              |   3 +-
.../disk-order.x86_64-latest.args             |   3 +-
.../disk-readonly-disk.x86_64-latest.args     |   3 +-
.../disk-rotation.x86_64-latest.args          |   3 +-
.../disk-sata-device.x86_64-latest.args       |   3 +-
.../disk-scsi-device-auto.x86_64-latest.args  |   3 +-
.../disk-scsi-disk-split.x86_64-latest.args   |   3 +-
.../disk-scsi-disk-vpd.x86_64-latest.args     |   3 +-
.../disk-scsi-disk-wwn.x86_64-latest.args     |   3 +-
...sk-scsi-lun-passthrough.x86_64-latest.args |   3 +-
.../disk-scsi.x86_64-latest.args              |   3 +-
.../disk-serial.x86_64-latest.args            |   3 +-
.../disk-shared.x86_64-latest.args            |   3 +-
.../disk-slices.x86_64-latest.args            |   3 +-
.../disk-snapshot.x86_64-latest.args          |   3 +-
.../disk-source-fd.x86_64-latest.args         |   3 +-
.../disk-source-pool-mode.x86_64-latest.args  |   3 +-
.../disk-source-pool.x86_64-latest.args       |   3 +-
.../disk-transient.x86_64-latest.args         |   3 +-
...sk-usb-device-removable.x86_64-latest.args |   3 +-
.../disk-usb-device.x86_64-latest.args        |   3 +-
.../disk-vhostuser-numa.x86_64-4.2.0.args     |   3 +-
.../disk-vhostuser-numa.x86_64-latest.args    |   3 +-
.../disk-vhostuser.x86_64-latest.args         |   3 +-
.../disk-virtio-queues.x86_64-latest.args     |   3 +-
...virtio-scsi-reservations.x86_64-5.2.0.args |   3 +-
...irtio-scsi-reservations.x86_64-latest.args |   3 +-
.../disk-virtio.x86_64-latest.args            |   3 +-
.../encrypted-disk-usage.x86_64-latest.args   |   3 +-
.../encrypted-disk.x86_64-latest.args         |   3 +-
.../eoi-disabled.x86_64-latest.args           |   2 +-
.../eoi-enabled.x86_64-latest.args            |   2 +-
.../event_idx.x86_64-latest.args              |   3 +-
...d-memory-numa-topology4.x86_64-latest.args |   3 +-
.../fips-enabled.x86_64-5.1.0.args            |   3 +-
.../fips-enabled.x86_64-latest.args           |   3 +-
...are-auto-bios-stateless.x86_64-latest.args |   2 +-
.../firmware-auto-bios.x86_64-latest.args     |   2 +-
...mware-auto-efi-aarch64.aarch64-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 +-
...manual-bios-rw-implicit.x86_64-latest.args |   2 +-
...firmware-manual-bios-rw.x86_64-latest.args |   2 +-
...e-manual-efi-nvram-file.x86_64-latest.args |   2 +-
...efi-nvram-network-iscsi.x86_64-latest.args |   2 +-
...l-efi-nvram-network-nbd.x86_64-latest.args |   2 +-
...nual-efi-nvram-template.x86_64-latest.args |   2 +-
...re-manual-efi-stateless.x86_64-latest.args |   2 +-
.../floppy-drive-fat.x86_64-latest.args       |   3 +-
.../qemuxml2argvdata/fs9p.x86_64-latest.args  |   3 +-
.../genid-auto.x86_64-latest.args             |   2 +-
.../qemuxml2argvdata/genid.x86_64-latest.args |   2 +-
...egl-headless-rendernode.x86_64-latest.args |   3 +-
.../graphics-egl-headless.x86_64-latest.args  |   3 +-
...s-spice-agent-file-xfer.x86_64-latest.args |   3 +-
...aphics-spice-agentmouse.x86_64-latest.args |   3 +-
...s-spice-auto-socket-cfg.x86_64-latest.args |   3 +-
...phics-spice-auto-socket.x86_64-latest.args |   3 +-
...phics-spice-compression.x86_64-latest.args |   3 +-
...hics-spice-egl-headless.x86_64-latest.args |   3 +-
...pice-gl-auto-rendernode.x86_64-latest.args |   3 +-
.../graphics-spice-no-args.x86_64-latest.args |   3 +-
.../graphics-spice-qxl-vga.x86_64-latest.args |   3 +-
.../graphics-spice-sasl.x86_64-latest.args    |   3 +-
.../graphics-spice-socket.x86_64-latest.args  |   3 +-
.../graphics-spice-timeout.x86_64-latest.args |   2 +-
...raphics-spice-usb-redir.x86_64-latest.args |   3 +-
.../graphics-spice.x86_64-latest.args         |   3 +-
...ics-vnc-auto-socket-cfg.x86_64-latest.args |   3 +-
...raphics-vnc-auto-socket.x86_64-latest.args |   3 +-
...aphics-vnc-egl-headless.x86_64-latest.args |   3 +-
...hics-vnc-no-listen-attr.x86_64-latest.args |   3 +-
.../graphics-vnc-none.x86_64-latest.args      |   3 +-
.../graphics-vnc-policy.x86_64-latest.args    |   3 +-
.../graphics-vnc-power.x86_64-latest.args     |   3 +-
...remove-generated-socket.x86_64-latest.args |   3 +-
.../graphics-vnc-sasl.x86_64-latest.args      |   3 +-
...-vnc-socket-new-cmdline.x86_64-latest.args |   3 +-
.../graphics-vnc-socket.x86_64-latest.args    |   3 +-
.../graphics-vnc-tls-secret.x86_64-5.2.0.args |   3 +-
...graphics-vnc-tls-secret.x86_64-latest.args |   3 +-
.../graphics-vnc-tls.x86_64-latest.args       |   3 +-
.../graphics-vnc-websocket.x86_64-latest.args |   3 +-
.../graphics-vnc.x86_64-latest.args           |   3 +-
...tdev-mdev-display-ramfb.x86_64-latest.args |   3 +-
...play-spice-egl-headless.x86_64-latest.args |   3 +-
...ev-display-spice-opengl.x86_64-latest.args |   3 +-
...isplay-vnc-egl-headless.x86_64-latest.args |   3 +-
...ostdev-mdev-display-vnc.x86_64-latest.args |   3 +-
...tdev-pci-address-device.x86_64-latest.args |   3 +-
.../hostdev-pci-address.x86_64-latest.args    |   3 +-
.../hostdev-scsi-lsi.x86_64-latest.args       |   3 +-
...dev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args |   3 +-
...ev-scsi-vhost-scsi-pcie.x86_64-latest.args |   3 +-
...ostdev-scsi-virtio-scsi.x86_64-latest.args |   3 +-
...usb-address-device-boot.x86_64-latest.args |   3 +-
...tdev-usb-address-device.x86_64-latest.args |   3 +-
.../hostdev-usb-address.x86_64-latest.args    |   3 +-
.../hugepages-default-2M.x86_64-latest.args   |   3 +-
...ges-default-system-size.x86_64-latest.args |   3 +-
.../hugepages-default.x86_64-latest.args      |   3 +-
.../hugepages-memaccess.x86_64-latest.args    |   3 +-
.../hugepages-memaccess2.x86_64-latest.args   |   3 +-
.../hugepages-memaccess3.x86_64-latest.args   |   3 +-
.../hugepages-nodeset.x86_64-latest.args      |   3 +-
...gepages-numa-default-2M.x86_64-latest.args |   3 +-
...pages-numa-default-dimm.x86_64-latest.args |   3 +-
.../hugepages-numa-default.x86_64-latest.args |   3 +-
...pages-numa-nodeset-part.x86_64-latest.args |   3 +-
.../hugepages-numa-nodeset.x86_64-latest.args |   3 +-
.../hugepages-nvdimm.x86_64-latest.args       |   3 +-
.../hugepages-shared.x86_64-latest.args       |   3 +-
.../hyperv-off.x86_64-latest.args             |   2 +-
.../hyperv-panic.x86_64-latest.args           |   2 +-
.../hyperv-passthrough.x86_64-6.1.0.args      |   2 +-
.../hyperv-passthrough.x86_64-latest.args     |   2 +-
.../hyperv-stimer-direct.x86_64-latest.args   |   2 +-
.../hyperv.x86_64-latest.args                 |   2 +-
.../input-linux.x86_64-latest.args            |   3 +-
.../intel-iommu-aw-bits.x86_64-latest.args    |   3 +-
...ntel-iommu-caching-mode.x86_64-latest.args |   3 +-
...ntel-iommu-device-iotlb.x86_64-latest.args |   3 +-
.../intel-iommu-eim.x86_64-latest.args        |   3 +-
.../intel-iommu.x86_64-latest.args            |   3 +-
.../iommu-smmuv3.aarch64-latest.args          |   3 +-
...othreads-ids-pool-sizes.x86_64-latest.args |   3 +-
...othreads-virtio-scsi-pci.x86_64-5.2.0.args |   3 +-
...threads-virtio-scsi-pci.x86_64-latest.args |   3 +-
.../kvmclock+eoi-disabled.x86_64-latest.args  |   2 +-
...nch-security-sev-direct.x86_64-latest.args |   3 +-
...ev-missing-platform-info.x86_64-6.0.0.args |   3 +-
.../launch-security-sev.x86_64-6.0.0.args     |   3 +-
.../luks-disks-source-qcow2.x86_64-5.2.0.args |   3 +-
...luks-disks-source-qcow2.x86_64-latest.args |   3 +-
.../luks-disks-source.x86_64-latest.args      |   3 +-
.../luks-disks.x86_64-latest.args             |   3 +-
.../machine-smm-off.x86_64-latest.args        |   3 +-
.../machine-smm-on.x86_64-latest.args         |   3 +-
...memory-default-hugepage.x86_64-latest.args |   3 +-
.../memfd-memory-numa.x86_64-latest.args      |   3 +-
...emory-hotplug-dimm-addr.x86_64-latest.args |   3 +-
...y-hotplug-nvdimm-access.x86_64-latest.args |   3 +-
...ory-hotplug-nvdimm-align.x86_64-5.2.0.args |   3 +-
...ry-hotplug-nvdimm-align.x86_64-latest.args |   3 +-
...ory-hotplug-nvdimm-label.x86_64-5.2.0.args |   3 +-
...ry-hotplug-nvdimm-label.x86_64-latest.args |   3 +-
...mory-hotplug-nvdimm-pmem.x86_64-5.2.0.args |   3 +-
...ory-hotplug-nvdimm-pmem.x86_64-latest.args |   3 +-
...-hotplug-nvdimm-readonly.x86_64-5.2.0.args |   3 +-
...hotplug-nvdimm-readonly.x86_64-latest.args |   3 +-
.../memory-hotplug-nvdimm.x86_64-latest.args  |   3 +-
...mory-hotplug-virtio-mem.x86_64-latest.args |   3 +-
...mory-hotplug-virtio-pmem.x86_64-5.2.0.args |   3 +-
...ory-hotplug-virtio-pmem.x86_64-latest.args |   3 +-
.../misc-no-reboot.x86_64-5.2.0.args          |   3 +-
.../misc-no-reboot.x86_64-latest.args         |   3 +-
.../mlock-off.x86_64-latest.args              |   3 +-
.../mlock-on.x86_64-latest.args               |   3 +-
.../name-escape.x86_64-latest.args            |   3 +-
.../net-user-passt.x86_64-7.2.0.args          |   3 +-
.../net-user-passt.x86_64-latest.args         |   3 +-
.../net-user.x86_64-latest.args               |   3 +-
.../net-vdpa-multiqueue.x86_64-latest.args    |   3 +-
.../net-vdpa.x86_64-latest.args               |   3 +-
.../net-vhostuser.x86_64-latest.args          |   3 +-
.../net-virtio-rss.x86_64-latest.args         |   3 +-
.../numatune-hmat.x86_64-latest.args          |   2 +-
...emnode-restrictive-mode.x86_64-latest.args |   3 +-
.../numatune-memnode.x86_64-5.2.0.args        |   3 +-
.../numatune-memnode.x86_64-latest.args       |   3 +-
.../numatune-system-memory.x86_64-latest.args |   3 +-
.../pages-dimm-discard.x86_64-latest.args     |   3 +-
...pages-discard-hugepages.x86_64-latest.args |   3 +-
.../pages-discard.x86_64-latest.args          |   3 +-
.../panic-double.x86_64-latest.args           |   2 +-
.../panic-no-address.x86_64-latest.args       |   3 +-
.../qemuxml2argvdata/panic.x86_64-latest.args |   3 +-
...arallel-parport-chardev.x86_64-latest.args |   3 +-
.../parallel-tcp-chardev.x86_64-latest.args   |   3 +-
.../parallel-unix-chardev.x86_64-latest.args  |   3 +-
...pi-root-hotplug-disable.x86_64-latest.args |   3 +-
...cpi-root-hotplug-enable.x86_64-latest.args |   3 +-
.../pci-serial-dev-chardev.x86_64-latest.args |   3 +-
...e-expander-bus-aarch64.aarch64-latest.args |   3 +-
...cie-root-port-nohotplug.x86_64-latest.args |   3 +-
...ault-cpu-kvm-pseries-2.7.ppc64-latest.args |   2 +-
...ault-cpu-kvm-pseries-3.1.ppc64-latest.args |   2 +-
...ault-cpu-kvm-pseries-4.2.ppc64-latest.args |   2 +-
...ault-cpu-tcg-pseries-2.7.ppc64-latest.args |   2 +-
...ault-cpu-tcg-pseries-3.1.ppc64-latest.args |   2 +-
...ault-cpu-tcg-pseries-4.2.ppc64-latest.args |   2 +-
.../ppc64-pseries-graphics.ppc64-latest.args  |   2 +-
.../ppc64-pseries-headless.ppc64-latest.args  |   2 +-
.../ppc64-tpmproxy-single.ppc64-latest.args   |   2 +-
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args |   2 +-
.../pseries-basic.ppc64-latest.args           |   2 +-
.../pseries-console-virtio.ppc64-latest.args  |   2 +-
...eries-cpu-compat-power10.ppc64-latest.args |   2 +-
...series-cpu-compat-power9.ppc64-latest.args |   2 +-
.../pseries-cpu-compat.ppc64-latest.args      |   2 +-
.../pseries-cpu-exact.ppc64-latest.args       |   2 +-
.../pseries-cpu-le.ppc64-latest.args          |   2 +-
.../pseries-features.ppc64-latest.args        |   2 +-
.../pseries-hostdevs-1.ppc64-latest.args      |   2 +-
.../pseries-hostdevs-2.ppc64-latest.args      |   2 +-
.../pseries-hostdevs-3.ppc64-latest.args      |   2 +-
.../pseries-many-buses-1.ppc64-latest.args    |   2 +-
.../pseries-many-buses-2.ppc64-latest.args    |   2 +-
.../pseries-many-devices.ppc64-latest.args    |   2 +-
.../pseries-nvram.ppc64-latest.args           |   2 +-
.../pseries-panic-missing.ppc64-latest.args   |   2 +-
...pseries-panic-no-address.ppc64-latest.args |   2 +-
...ries-phb-default-missing.ppc64-latest.args |   2 +-
.../pseries-phb-numa-node.ppc64-latest.args   |   2 +-
.../pseries-phb-simple.ppc64-latest.args      |   2 +-
.../pseries-serial-native.ppc64-latest.args   |   2 +-
.../pseries-serial-pci.ppc64-latest.args      |   2 +-
.../pseries-serial-usb.ppc64-latest.args      |   2 +-
.../pseries-usb-default.ppc64-latest.args     |   2 +-
.../pseries-usb-kbd.ppc64-latest.args         |   2 +-
.../pseries-usb-multi.ppc64-latest.args       |   2 +-
...series-vio-user-assigned.ppc64-latest.args |   2 +-
.../pseries-vio.ppc64-latest.args             |   2 +-
.../pv-spinlock-disabled.x86_64-latest.args   |   2 +-
.../pv-spinlock-enabled.x86_64-latest.args    |   2 +-
.../pvpanic-pci-aarch64.aarch64-latest.args   |   2 +-
...pci-no-address-aarch64.aarch64-latest.args |   2 +-
.../pvpanic-pci-x86_64.x86_64-latest.args     |   3 +-
...q35-default-devices-only.x86_64-4.2.0.args |   3 +-
...35-default-devices-only.x86_64-latest.args |   3 +-
.../q35-multifunction.x86_64-4.2.0.args       |   3 +-
.../q35-multifunction.x86_64-latest.args      |   3 +-
.../q35-pcie-autoadd.x86_64-4.2.0.args        |   3 +-
.../q35-pcie-autoadd.x86_64-latest.args       |   3 +-
.../q35-pcie.x86_64-4.2.0.args                |   3 +-
.../q35-pcie.x86_64-latest.args               |   3 +-
.../q35-virt-manager-basic.x86_64-4.2.0.args  |   2 +-
.../q35-virt-manager-basic.x86_64-latest.args |   2 +-
.../qemu-ns.x86_64-latest.args                |   3 +-
.../serial-debugcon.x86_64-latest.args        |   3 +-
...rial-dev-chardev-iobase.x86_64-latest.args |   3 +-
.../serial-dev-chardev.x86_64-latest.args     |   3 +-
.../serial-file-chardev.x86_64-latest.args    |   3 +-
.../serial-file-log.x86_64-latest.args        |   3 +-
.../serial-many-chardev.x86_64-latest.args    |   3 +-
.../serial-pty-chardev.x86_64-latest.args     |   3 +-
.../serial-spiceport.x86_64-latest.args       |   3 +-
.../serial-tcp-chardev.x86_64-latest.args     |   3 +-
...rial-tcp-telnet-chardev.x86_64-latest.args |   3 +-
...p-tlsx509-chardev-notls.x86_64-latest.args |   3 +-
...-tlsx509-chardev-verify.x86_64-latest.args |   3 +-
...ial-tcp-tlsx509-chardev.x86_64-latest.args |   3 +-
...-tlsx509-secret-chardev.x86_64-latest.args |   3 +-
.../serial-udp-chardev.x86_64-latest.args     |   3 +-
.../serial-unix-chardev.x86_64-latest.args    |   3 +-
.../serial-vc-chardev.x86_64-latest.args      |   3 +-
.../sgx-epc.x86_64-7.0.0.args                 |   3 +-
...rtcard-passthrough-unix.x86_64-latest.args |   3 +-
.../tpm-emulator-spapr.ppc64-latest.args      |   2 +-
.../tpm-emulator-tpm2-enc.x86_64-latest.args  |   2 +-
...pm-emulator-tpm2-pstate.x86_64-latest.args |   2 +-
.../tpm-emulator-tpm2.x86_64-latest.args      |   2 +-
.../tpm-emulator.x86_64-latest.args           |   2 +-
.../tpm-external.x86_64-latest.args           |   2 +-
.../tpm-passthrough-crb.x86_64-latest.args    |   2 +-
.../tpm-passthrough.x86_64-latest.args        |   2 +-
.../tseg-explicit-size.x86_64-latest.args     |   3 +-
.../usb-redir-unix.x86_64-latest.args         |   3 +-
.../user-aliases-usb.x86_64-latest.args       |   2 +-
.../user-aliases.x86_64-latest.args           |   2 +-
.../user-aliases2.x86_64-latest.args          |   3 +-
...vhost-user-fs-fd-memory.x86_64-latest.args |   3 +-
...vhost-user-fs-hugepages.x86_64-latest.args |   2 +-
...host-user-gpu-secondary.x86_64-latest.args |   3 +-
.../vhost-user-vga.x86_64-latest.args         |   3 +-
.../vhost-vsock-auto.x86_64-latest.args       |   3 +-
.../vhost-vsock.x86_64-latest.args            |   3 +-
...eo-bochs-display-device.x86_64-latest.args |   3 +-
...video-qxl-device-vram64.x86_64-latest.args |   3 +-
...o-qxl-sec-device-vram64.x86_64-latest.args |   3 +-
...eo-ramfb-display-device.x86_64-latest.args |   3 +-
...video-virtio-vga-gpu-gl.x86_64-latest.args |   3 +-
.../virtio-9p-createmode.x86_64-latest.args   |   3 +-
.../virtio-9p-multidevs.x86_64-latest.args    |   3 +-
.../virtio-iommu-aarch64.aarch64-latest.args  |   2 +-
.../virtio-iommu-x86_64.x86_64-latest.args    |   2 +-
.../virtio-lun.x86_64-latest.args             |   3 +-
...virtio-non-transitional.x86_64-latest.args |   3 +-
...-options-controller-ats.x86_64-latest.args |   3 +-
...ptions-controller-iommu.x86_64-latest.args |   3 +-
...tions-controller-packed.x86_64-latest.args |   3 +-
...virtio-options-disk-ats.x86_64-latest.args |   3 +-
...rtio-options-disk-iommu.x86_64-latest.args |   3 +-
...tio-options-disk-packed.x86_64-latest.args |   3 +-
.../virtio-options-fs-ats.x86_64-latest.args  |   3 +-
...virtio-options-fs-iommu.x86_64-latest.args |   3 +-
...irtio-options-fs-packed.x86_64-latest.args |   3 +-
...irtio-options-input-ats.x86_64-latest.args |   3 +-
...tio-options-input-iommu.x86_64-latest.args |   3 +-
...io-options-input-packed.x86_64-latest.args |   3 +-
...-options-memballoon-ats.x86_64-latest.args |   3 +-
...loon-freepage-reporting.x86_64-latest.args |   3 +-
...ptions-memballoon-iommu.x86_64-latest.args |   3 +-
...tions-memballoon-packed.x86_64-latest.args |   3 +-
.../virtio-options-net-ats.x86_64-latest.args |   3 +-
...irtio-options-net-iommu.x86_64-latest.args |   3 +-
...rtio-options-net-packed.x86_64-latest.args |   3 +-
.../virtio-options-rng-ats.x86_64-latest.args |   3 +-
...irtio-options-rng-iommu.x86_64-latest.args |   3 +-
...rtio-options-rng-packed.x86_64-latest.args |   3 +-
...irtio-options-video-ats.x86_64-latest.args |   3 +-
...tio-options-video-iommu.x86_64-latest.args |   3 +-
...io-options-video-packed.x86_64-latest.args |   3 +-
.../virtio-options.x86_64-latest.args         |   3 +-
.../virtio-rng-builtin.x86_64-5.2.0.args      |   3 +-
.../virtio-rng-builtin.x86_64-latest.args     |   3 +-
.../virtio-rng-egd-unix.x86_64-5.2.0.args     |   3 +-
.../virtio-rng-egd-unix.x86_64-latest.args    |   3 +-
.../virtio-transitional.x86_64-latest.args    |   3 +-
.../watchdog-device.x86_64-latest.args        |   3 +-
.../watchdog-dump.x86_64-latest.args          |   3 +-
.../watchdog-injectnmi.x86_64-latest.args     |   3 +-
.../watchdog-q35-multiple.x86_64-latest.args  |   3 +-
.../watchdog.x86_64-latest.args               |   3 +-
.../x86-kvm-32-on-64.x86_64-latest.args       |   3 +-
...-default-cpu-kvm-pc-4.2.x86_64-latest.args |   2 +-
...default-cpu-kvm-q35-4.2.x86_64-latest.args |   2 +-
...efault-cpu-tcg-features.x86_64-latest.args |   2 +-
...-default-cpu-tcg-pc-4.2.x86_64-latest.args |   2 +-
...default-cpu-tcg-q35-4.2.x86_64-latest.args |   2 +-
.../x86_64-pc-graphics.x86_64-latest.args     |   2 +-
.../x86_64-pc-headless.x86_64-latest.args     |   2 +-
.../x86_64-q35-graphics.x86_64-latest.args    |   2 +-
.../x86_64-q35-headless.x86_64-latest.args    |   2 +-
tests/testutilsqemu.c                         |   9 +-
485 files changed, 1044 insertions(+), 1145 deletions(-)
[PATCH 0/7] qemu: Don't use deprecated '-no-acpi' and RFC: fix ACPI config for machine types not supporting ACPI
Posted by Peter Krempa 1 year, 1 month ago
The first part of the series is a straightforward replacement of
'-no-acpi' by '-machine acpi=on/off' based on configuration.

'-no-acpi' was recently deprecated by qemu thus we must adapt.

The second part of this series fixes the use of ACPI (or lack thereof)
for ARM machine types which don't support ACPI. We'll break such
commandline by adding '-no-acpi' due to historical baggage.

The second part is RFC as it's based on a qemu patch I'll be posting
along this series. This posting will also illustrate to qemu devs how
libvirt itends to use the added information.

I'll post the link to the qemu patch once I submit it.

Peter Krempa (7):
  qemu: capabilities: Introduce QEMU_CAPS_MACHINE_ACPI
  qemu: Use '-machine acpi=on/off' instead of deprecated '-no-acpi'
  qemu: capabilities: Refactor XML parsing in virQEMUCapsLoadMachines

   RFC BELOW:

  qemu: capabilities: Extract whether machine type supports ACPI
  qemu: capabilities: Introduce virQEMUCapsMachineSupportsACPI
  XXX: tests: qemucapabilitiesdata: Regenerate with support for 'acpi'
    in 'query-machines'
  qemu: command: Don't format '-machine acpi=off' for machine types not
    supporting ACPI

 src/qemu/qemu_capabilities.c                  |  89 ++--
 src/qemu/qemu_capabilities.h                  |   4 +
 src/qemu/qemu_capspriv.h                      |   3 +-
 src/qemu/qemu_command.c                       |  51 ++
 src/qemu/qemu_monitor.h                       |   1 +
 src/qemu/qemu_monitor_json.c                  |  12 +
 .../caps_4.2.0.x86_64.xml                     |   2 +-
 .../caps_5.0.0.x86_64.xml                     |   2 +-
 .../caps_5.1.0.x86_64.xml                     |   2 +-
 .../caps_5.2.0.x86_64.xml                     |   2 +-
 .../caps_6.0.0.x86_64.xml                     |   2 +-
 .../caps_6.1.0.x86_64.xml                     |   2 +-
 .../caps_6.2.0.aarch64.xml                    |   2 +-
 .../qemucapabilitiesdata/caps_6.2.0.ppc64.xml |   1 +
 .../caps_6.2.0.x86_64.xml                     |   2 +-
 .../caps_7.0.0.aarch64.xml                    |   2 +-
 .../qemucapabilitiesdata/caps_7.0.0.ppc64.xml |   1 +
 .../caps_7.0.0.x86_64.xml                     |   2 +-
 .../qemucapabilitiesdata/caps_7.1.0.ppc64.xml |   1 +
 .../caps_7.1.0.x86_64.xml                     |   2 +-
 .../caps_7.2.0.x86_64.xml                     |   2 +-
 .../caps_8.0.0.x86_64.replies                 | 471 ++++++++++++------
 .../caps_8.0.0.x86_64.xml                     | 244 ++++-----
 ...fault-cpu-kvm-virt-4.2.aarch64-latest.args |   3 +-
 ...fault-cpu-tcg-virt-4.2.aarch64-latest.args |   3 +-
 .../aarch64-features-sve.aarch64-latest.args  |   3 +-
 .../aarch64-tpm.aarch64-latest.args           |   3 +-
 .../aarch64-virt-graphics.aarch64-latest.args |   2 +-
 .../aarch64-virt-headless.aarch64-latest.args |   2 +-
 ...h64-virtio-pci-default.aarch64-latest.args |   3 +-
 .../audio-alsa-best.x86_64-latest.args        |   3 +-
 .../audio-alsa-full.x86_64-latest.args        |   3 +-
 .../audio-alsa-minimal.x86_64-latest.args     |   3 +-
 .../audio-coreaudio-best.x86_64-latest.args   |   3 +-
 .../audio-coreaudio-full.x86_64-latest.args   |   3 +-
 ...audio-coreaudio-minimal.x86_64-latest.args |   3 +-
 ...udio-default-nographics.x86_64-latest.args |   3 +-
 .../audio-default-sdl.x86_64-latest.args      |   3 +-
 .../audio-default-spice.x86_64-latest.args    |   3 +-
 .../audio-default-vnc.x86_64-latest.args      |   3 +-
 .../audio-file-best.x86_64-latest.args        |   3 +-
 .../audio-file-full.x86_64-latest.args        |   3 +-
 .../audio-file-minimal.x86_64-latest.args     |   3 +-
 .../audio-jack-full.x86_64-latest.args        |   3 +-
 .../audio-jack-minimal.x86_64-latest.args     |   3 +-
 .../audio-many-backends.x86_64-latest.args    |   3 +-
 .../audio-none-best.x86_64-latest.args        |   3 +-
 .../audio-none-full.x86_64-latest.args        |   3 +-
 .../audio-none-minimal.x86_64-latest.args     |   3 +-
 .../audio-oss-best.x86_64-latest.args         |   3 +-
 .../audio-oss-full.x86_64-latest.args         |   3 +-
 .../audio-oss-minimal.x86_64-latest.args      |   3 +-
 .../audio-pulseaudio-best.x86_64-latest.args  |   3 +-
 .../audio-pulseaudio-full.x86_64-latest.args  |   3 +-
 ...udio-pulseaudio-minimal.x86_64-latest.args |   3 +-
 .../audio-sdl-best.x86_64-latest.args         |   3 +-
 .../audio-sdl-full.x86_64-latest.args         |   3 +-
 .../audio-sdl-minimal.x86_64-latest.args      |   3 +-
 .../audio-spice-best.x86_64-latest.args       |   3 +-
 .../audio-spice-full.x86_64-latest.args       |   3 +-
 .../audio-spice-minimal.x86_64-latest.args    |   3 +-
 .../blkdeviotune-group-num.x86_64-latest.args |   3 +-
 ...blkdeviotune-max-length.x86_64-latest.args |   3 +-
 .../blkdeviotune-max.x86_64-latest.args       |   3 +-
 .../blkdeviotune.x86_64-latest.args           |   3 +-
 .../boot-cdrom.x86_64-latest.args             |   3 +-
 .../boot-complex.x86_64-latest.args           |   3 +-
 .../boot-floppy-q35.x86_64-latest.args        |   3 +-
 .../boot-floppy.x86_64-latest.args            |   3 +-
 ...boot-menu-disable-drive.x86_64-latest.args |   3 +-
 .../boot-menu-disable.x86_64-latest.args      |   3 +-
 ...enu-enable-with-timeout.x86_64-latest.args |   3 +-
 .../boot-menu-enable.x86_64-latest.args       |   3 +-
 .../boot-multi.x86_64-latest.args             |   3 +-
 .../boot-network.x86_64-latest.args           |   3 +-
 .../boot-order.x86_64-latest.args             |   3 +-
 ...l-qemu-vdagent-features.x86_64-latest.args |   3 +-
 .../channel-qemu-vdagent.x86_64-latest.args   |   3 +-
 .../channel-unix-guestfwd.x86_64-latest.args  |   3 +-
 .../clock-absolute.x86_64-latest.args         |   3 +-
 .../clock-timer-armvtimer.aarch64-latest.args |   3 +-
 .../console-compat-auto.x86_64-latest.args    |   3 +-
 .../console-compat-chardev.x86_64-latest.args |   3 +-
 .../console-compat.x86_64-latest.args         |   3 +-
 .../console-virtio-unix.x86_64-latest.args    |   3 +-
 .../controller-usb-order.x86_64-latest.args   |   3 +-
 .../controller-virtio-scsi.x86_64-latest.args |   3 +-
 ...-Icelake-Server-pconfig.x86_64-latest.args |   3 +-
 .../cpu-eoi-disabled.x86_64-latest.args       |   2 +-
 .../cpu-eoi-enabled.x86_64-latest.args        |   2 +-
 .../cpu-host-model.x86_64-4.2.0.args          |   3 +-
 .../cpu-host-model.x86_64-5.0.0.args          |   3 +-
 .../cpu-host-model.x86_64-5.1.0.args          |   3 +-
 .../cpu-host-model.x86_64-5.2.0.args          |   3 +-
 .../cpu-host-model.x86_64-6.0.0.args          |   3 +-
 .../cpu-host-model.x86_64-6.1.0.args          |   3 +-
 .../cpu-host-model.x86_64-latest.args         |   3 +-
 .../cpu-translation.x86_64-latest.args        |   3 +-
 .../cputune-cpuset-big-id.x86_64-latest.args  |   3 +-
 .../crypto-builtin.x86_64-latest.args         |   3 +-
 ...ult-video-type-aarch64.aarch64-latest.args |   3 +-
 ...default-video-type-ppc64.ppc64-latest.args |   2 +-
 .../devices-acpi-index.x86_64-latest.args     |   2 +-
 .../disk-aio-io_uring.x86_64-latest.args      |   3 +-
 .../disk-aio.x86_64-latest.args               |   3 +-
 .../disk-arm-virtio-sd.aarch64-latest.args    |   3 +-
 ...-backing-chains-noindex.x86_64-latest.args |   3 +-
 .../disk-blockio.x86_64-latest.args           |   3 +-
 .../disk-boot-cdrom.x86_64-latest.args        |   3 +-
 .../disk-boot-disk.x86_64-latest.args         |   3 +-
 .../disk-cache.x86_64-latest.args             |   3 +-
 .../disk-cdrom-bus-other.x86_64-latest.args   |   3 +-
 ...m-empty-network-invalid.x86_64-latest.args |   3 +-
 .../disk-cdrom-network.x86_64-latest.args     |   2 +-
 .../disk-cdrom-tray.x86_64-latest.args        |   3 +-
 .../disk-cdrom.x86_64-latest.args             |   3 +-
 .../disk-copy_on_read.x86_64-latest.args      |   3 +-
 .../disk-detect-zeroes.x86_64-latest.args     |   3 +-
 .../disk-discard.x86_64-latest.args           |   3 +-
 .../disk-error-policy.x86_64-latest.args      |   3 +-
 .../disk-floppy-q35.x86_64-latest.args        |   3 +-
 .../disk-floppy-tray.x86_64-latest.args       |   3 +-
 .../disk-floppy.x86_64-latest.args            |   3 +-
 .../disk-fmt-qcow.x86_64-latest.args          |   3 +-
 .../disk-geometry.x86_64-latest.args          |   3 +-
 .../disk-ide-split.x86_64-latest.args         |   3 +-
 .../disk-ide-wwn.x86_64-latest.args           |   3 +-
 .../disk-ioeventfd.x86_64-latest.args         |   3 +-
 .../disk-metadata-cache.x86_64-latest.args    |   3 +-
 .../disk-network-gluster.x86_64-latest.args   |   3 +-
 .../disk-network-http.x86_64-latest.args      |   3 +-
 .../disk-network-iscsi.x86_64-latest.args     |   3 +-
 .../disk-network-nbd.x86_64-latest.args       |   3 +-
 .../disk-network-nfs.x86_64-latest.args       |   3 +-
 ...-network-rbd-encryption.x86_64-latest.args |   3 +-
 ...sk-network-rbd-no-colon.x86_64-latest.args |   3 +-
 .../disk-network-rbd.x86_64-latest.args       |   3 +-
 .../disk-network-sheepdog.x86_64-6.0.0.args   |   3 +-
 ...isk-network-source-auth.x86_64-latest.args |   3 +-
 ...rk-tlsx509-nbd-hostname.x86_64-latest.args |   3 +-
 ...disk-network-tlsx509-nbd.x86_64-5.2.0.args |   3 +-
 ...isk-network-tlsx509-nbd.x86_64-latest.args |   3 +-
 ...isk-network-tlsx509-vxhs.x86_64-5.0.0.args |   3 +-
 .../disk-no-boot.x86_64-latest.args           |   3 +-
 .../disk-nvme.x86_64-latest.args              |   3 +-
 .../disk-order.x86_64-latest.args             |   3 +-
 .../disk-readonly-disk.x86_64-latest.args     |   3 +-
 .../disk-rotation.x86_64-latest.args          |   3 +-
 .../disk-sata-device.x86_64-latest.args       |   3 +-
 .../disk-scsi-device-auto.x86_64-latest.args  |   3 +-
 .../disk-scsi-disk-split.x86_64-latest.args   |   3 +-
 .../disk-scsi-disk-vpd.x86_64-latest.args     |   3 +-
 .../disk-scsi-disk-wwn.x86_64-latest.args     |   3 +-
 ...sk-scsi-lun-passthrough.x86_64-latest.args |   3 +-
 .../disk-scsi.x86_64-latest.args              |   3 +-
 .../disk-serial.x86_64-latest.args            |   3 +-
 .../disk-shared.x86_64-latest.args            |   3 +-
 .../disk-slices.x86_64-latest.args            |   3 +-
 .../disk-snapshot.x86_64-latest.args          |   3 +-
 .../disk-source-fd.x86_64-latest.args         |   3 +-
 .../disk-source-pool-mode.x86_64-latest.args  |   3 +-
 .../disk-source-pool.x86_64-latest.args       |   3 +-
 .../disk-transient.x86_64-latest.args         |   3 +-
 ...sk-usb-device-removable.x86_64-latest.args |   3 +-
 .../disk-usb-device.x86_64-latest.args        |   3 +-
 .../disk-vhostuser-numa.x86_64-4.2.0.args     |   3 +-
 .../disk-vhostuser-numa.x86_64-latest.args    |   3 +-
 .../disk-vhostuser.x86_64-latest.args         |   3 +-
 .../disk-virtio-queues.x86_64-latest.args     |   3 +-
 ...virtio-scsi-reservations.x86_64-5.2.0.args |   3 +-
 ...irtio-scsi-reservations.x86_64-latest.args |   3 +-
 .../disk-virtio.x86_64-latest.args            |   3 +-
 .../encrypted-disk-usage.x86_64-latest.args   |   3 +-
 .../encrypted-disk.x86_64-latest.args         |   3 +-
 .../eoi-disabled.x86_64-latest.args           |   2 +-
 .../eoi-enabled.x86_64-latest.args            |   2 +-
 .../event_idx.x86_64-latest.args              |   3 +-
 ...d-memory-numa-topology4.x86_64-latest.args |   3 +-
 .../fips-enabled.x86_64-5.1.0.args            |   3 +-
 .../fips-enabled.x86_64-latest.args           |   3 +-
 ...are-auto-bios-stateless.x86_64-latest.args |   2 +-
 .../firmware-auto-bios.x86_64-latest.args     |   2 +-
 ...mware-auto-efi-aarch64.aarch64-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 +-
 ...manual-bios-rw-implicit.x86_64-latest.args |   2 +-
 ...firmware-manual-bios-rw.x86_64-latest.args |   2 +-
 ...e-manual-efi-nvram-file.x86_64-latest.args |   2 +-
 ...efi-nvram-network-iscsi.x86_64-latest.args |   2 +-
 ...l-efi-nvram-network-nbd.x86_64-latest.args |   2 +-
 ...nual-efi-nvram-template.x86_64-latest.args |   2 +-
 ...re-manual-efi-stateless.x86_64-latest.args |   2 +-
 .../floppy-drive-fat.x86_64-latest.args       |   3 +-
 .../qemuxml2argvdata/fs9p.x86_64-latest.args  |   3 +-
 .../genid-auto.x86_64-latest.args             |   2 +-
 .../qemuxml2argvdata/genid.x86_64-latest.args |   2 +-
 ...egl-headless-rendernode.x86_64-latest.args |   3 +-
 .../graphics-egl-headless.x86_64-latest.args  |   3 +-
 ...s-spice-agent-file-xfer.x86_64-latest.args |   3 +-
 ...aphics-spice-agentmouse.x86_64-latest.args |   3 +-
 ...s-spice-auto-socket-cfg.x86_64-latest.args |   3 +-
 ...phics-spice-auto-socket.x86_64-latest.args |   3 +-
 ...phics-spice-compression.x86_64-latest.args |   3 +-
 ...hics-spice-egl-headless.x86_64-latest.args |   3 +-
 ...pice-gl-auto-rendernode.x86_64-latest.args |   3 +-
 .../graphics-spice-no-args.x86_64-latest.args |   3 +-
 .../graphics-spice-qxl-vga.x86_64-latest.args |   3 +-
 .../graphics-spice-sasl.x86_64-latest.args    |   3 +-
 .../graphics-spice-socket.x86_64-latest.args  |   3 +-
 .../graphics-spice-timeout.x86_64-latest.args |   2 +-
 ...raphics-spice-usb-redir.x86_64-latest.args |   3 +-
 .../graphics-spice.x86_64-latest.args         |   3 +-
 ...ics-vnc-auto-socket-cfg.x86_64-latest.args |   3 +-
 ...raphics-vnc-auto-socket.x86_64-latest.args |   3 +-
 ...aphics-vnc-egl-headless.x86_64-latest.args |   3 +-
 ...hics-vnc-no-listen-attr.x86_64-latest.args |   3 +-
 .../graphics-vnc-none.x86_64-latest.args      |   3 +-
 .../graphics-vnc-policy.x86_64-latest.args    |   3 +-
 .../graphics-vnc-power.x86_64-latest.args     |   3 +-
 ...remove-generated-socket.x86_64-latest.args |   3 +-
 .../graphics-vnc-sasl.x86_64-latest.args      |   3 +-
 ...-vnc-socket-new-cmdline.x86_64-latest.args |   3 +-
 .../graphics-vnc-socket.x86_64-latest.args    |   3 +-
 .../graphics-vnc-tls-secret.x86_64-5.2.0.args |   3 +-
 ...graphics-vnc-tls-secret.x86_64-latest.args |   3 +-
 .../graphics-vnc-tls.x86_64-latest.args       |   3 +-
 .../graphics-vnc-websocket.x86_64-latest.args |   3 +-
 .../graphics-vnc.x86_64-latest.args           |   3 +-
 ...tdev-mdev-display-ramfb.x86_64-latest.args |   3 +-
 ...play-spice-egl-headless.x86_64-latest.args |   3 +-
 ...ev-display-spice-opengl.x86_64-latest.args |   3 +-
 ...isplay-vnc-egl-headless.x86_64-latest.args |   3 +-
 ...ostdev-mdev-display-vnc.x86_64-latest.args |   3 +-
 ...tdev-pci-address-device.x86_64-latest.args |   3 +-
 .../hostdev-pci-address.x86_64-latest.args    |   3 +-
 .../hostdev-scsi-lsi.x86_64-latest.args       |   3 +-
 ...dev-scsi-vhost-scsi-pcie.x86_64-4.2.0.args |   3 +-
 ...ev-scsi-vhost-scsi-pcie.x86_64-latest.args |   3 +-
 ...ostdev-scsi-virtio-scsi.x86_64-latest.args |   3 +-
 ...usb-address-device-boot.x86_64-latest.args |   3 +-
 ...tdev-usb-address-device.x86_64-latest.args |   3 +-
 .../hostdev-usb-address.x86_64-latest.args    |   3 +-
 .../hugepages-default-2M.x86_64-latest.args   |   3 +-
 ...ges-default-system-size.x86_64-latest.args |   3 +-
 .../hugepages-default.x86_64-latest.args      |   3 +-
 .../hugepages-memaccess.x86_64-latest.args    |   3 +-
 .../hugepages-memaccess2.x86_64-latest.args   |   3 +-
 .../hugepages-memaccess3.x86_64-latest.args   |   3 +-
 .../hugepages-nodeset.x86_64-latest.args      |   3 +-
 ...gepages-numa-default-2M.x86_64-latest.args |   3 +-
 ...pages-numa-default-dimm.x86_64-latest.args |   3 +-
 .../hugepages-numa-default.x86_64-latest.args |   3 +-
 ...pages-numa-nodeset-part.x86_64-latest.args |   3 +-
 .../hugepages-numa-nodeset.x86_64-latest.args |   3 +-
 .../hugepages-nvdimm.x86_64-latest.args       |   3 +-
 .../hugepages-shared.x86_64-latest.args       |   3 +-
 .../hyperv-off.x86_64-latest.args             |   2 +-
 .../hyperv-panic.x86_64-latest.args           |   2 +-
 .../hyperv-passthrough.x86_64-6.1.0.args      |   2 +-
 .../hyperv-passthrough.x86_64-latest.args     |   2 +-
 .../hyperv-stimer-direct.x86_64-latest.args   |   2 +-
 .../hyperv.x86_64-latest.args                 |   2 +-
 .../input-linux.x86_64-latest.args            |   3 +-
 .../intel-iommu-aw-bits.x86_64-latest.args    |   3 +-
 ...ntel-iommu-caching-mode.x86_64-latest.args |   3 +-
 ...ntel-iommu-device-iotlb.x86_64-latest.args |   3 +-
 .../intel-iommu-eim.x86_64-latest.args        |   3 +-
 .../intel-iommu.x86_64-latest.args            |   3 +-
 .../iommu-smmuv3.aarch64-latest.args          |   3 +-
 ...othreads-ids-pool-sizes.x86_64-latest.args |   3 +-
 ...othreads-virtio-scsi-pci.x86_64-5.2.0.args |   3 +-
 ...threads-virtio-scsi-pci.x86_64-latest.args |   3 +-
 .../kvmclock+eoi-disabled.x86_64-latest.args  |   2 +-
 ...nch-security-sev-direct.x86_64-latest.args |   3 +-
 ...ev-missing-platform-info.x86_64-6.0.0.args |   3 +-
 .../launch-security-sev.x86_64-6.0.0.args     |   3 +-
 .../luks-disks-source-qcow2.x86_64-5.2.0.args |   3 +-
 ...luks-disks-source-qcow2.x86_64-latest.args |   3 +-
 .../luks-disks-source.x86_64-latest.args      |   3 +-
 .../luks-disks.x86_64-latest.args             |   3 +-
 .../machine-smm-off.x86_64-latest.args        |   3 +-
 .../machine-smm-on.x86_64-latest.args         |   3 +-
 ...memory-default-hugepage.x86_64-latest.args |   3 +-
 .../memfd-memory-numa.x86_64-latest.args      |   3 +-
 ...emory-hotplug-dimm-addr.x86_64-latest.args |   3 +-
 ...y-hotplug-nvdimm-access.x86_64-latest.args |   3 +-
 ...ory-hotplug-nvdimm-align.x86_64-5.2.0.args |   3 +-
 ...ry-hotplug-nvdimm-align.x86_64-latest.args |   3 +-
 ...ory-hotplug-nvdimm-label.x86_64-5.2.0.args |   3 +-
 ...ry-hotplug-nvdimm-label.x86_64-latest.args |   3 +-
 ...mory-hotplug-nvdimm-pmem.x86_64-5.2.0.args |   3 +-
 ...ory-hotplug-nvdimm-pmem.x86_64-latest.args |   3 +-
 ...-hotplug-nvdimm-readonly.x86_64-5.2.0.args |   3 +-
 ...hotplug-nvdimm-readonly.x86_64-latest.args |   3 +-
 .../memory-hotplug-nvdimm.x86_64-latest.args  |   3 +-
 ...mory-hotplug-virtio-mem.x86_64-latest.args |   3 +-
 ...mory-hotplug-virtio-pmem.x86_64-5.2.0.args |   3 +-
 ...ory-hotplug-virtio-pmem.x86_64-latest.args |   3 +-
 .../misc-no-reboot.x86_64-5.2.0.args          |   3 +-
 .../misc-no-reboot.x86_64-latest.args         |   3 +-
 .../mlock-off.x86_64-latest.args              |   3 +-
 .../mlock-on.x86_64-latest.args               |   3 +-
 .../name-escape.x86_64-latest.args            |   3 +-
 .../net-user-passt.x86_64-7.2.0.args          |   3 +-
 .../net-user-passt.x86_64-latest.args         |   3 +-
 .../net-user.x86_64-latest.args               |   3 +-
 .../net-vdpa-multiqueue.x86_64-latest.args    |   3 +-
 .../net-vdpa.x86_64-latest.args               |   3 +-
 .../net-vhostuser.x86_64-latest.args          |   3 +-
 .../net-virtio-rss.x86_64-latest.args         |   3 +-
 .../numatune-hmat.x86_64-latest.args          |   2 +-
 ...emnode-restrictive-mode.x86_64-latest.args |   3 +-
 .../numatune-memnode.x86_64-5.2.0.args        |   3 +-
 .../numatune-memnode.x86_64-latest.args       |   3 +-
 .../numatune-system-memory.x86_64-latest.args |   3 +-
 .../pages-dimm-discard.x86_64-latest.args     |   3 +-
 ...pages-discard-hugepages.x86_64-latest.args |   3 +-
 .../pages-discard.x86_64-latest.args          |   3 +-
 .../panic-double.x86_64-latest.args           |   2 +-
 .../panic-no-address.x86_64-latest.args       |   3 +-
 .../qemuxml2argvdata/panic.x86_64-latest.args |   3 +-
 ...arallel-parport-chardev.x86_64-latest.args |   3 +-
 .../parallel-tcp-chardev.x86_64-latest.args   |   3 +-
 .../parallel-unix-chardev.x86_64-latest.args  |   3 +-
 ...pi-root-hotplug-disable.x86_64-latest.args |   3 +-
 ...cpi-root-hotplug-enable.x86_64-latest.args |   3 +-
 .../pci-serial-dev-chardev.x86_64-latest.args |   3 +-
 ...e-expander-bus-aarch64.aarch64-latest.args |   3 +-
 ...cie-root-port-nohotplug.x86_64-latest.args |   3 +-
 ...ault-cpu-kvm-pseries-2.7.ppc64-latest.args |   2 +-
 ...ault-cpu-kvm-pseries-3.1.ppc64-latest.args |   2 +-
 ...ault-cpu-kvm-pseries-4.2.ppc64-latest.args |   2 +-
 ...ault-cpu-tcg-pseries-2.7.ppc64-latest.args |   2 +-
 ...ault-cpu-tcg-pseries-3.1.ppc64-latest.args |   2 +-
 ...ault-cpu-tcg-pseries-4.2.ppc64-latest.args |   2 +-
 .../ppc64-pseries-graphics.ppc64-latest.args  |   2 +-
 .../ppc64-pseries-headless.ppc64-latest.args  |   2 +-
 .../ppc64-tpmproxy-single.ppc64-latest.args   |   2 +-
 .../ppc64-tpmproxy-with-tpm.ppc64-latest.args |   2 +-
 .../pseries-basic.ppc64-latest.args           |   2 +-
 .../pseries-console-virtio.ppc64-latest.args  |   2 +-
 ...eries-cpu-compat-power10.ppc64-latest.args |   2 +-
 ...series-cpu-compat-power9.ppc64-latest.args |   2 +-
 .../pseries-cpu-compat.ppc64-latest.args      |   2 +-
 .../pseries-cpu-exact.ppc64-latest.args       |   2 +-
 .../pseries-cpu-le.ppc64-latest.args          |   2 +-
 .../pseries-features.ppc64-latest.args        |   2 +-
 .../pseries-hostdevs-1.ppc64-latest.args      |   2 +-
 .../pseries-hostdevs-2.ppc64-latest.args      |   2 +-
 .../pseries-hostdevs-3.ppc64-latest.args      |   2 +-
 .../pseries-many-buses-1.ppc64-latest.args    |   2 +-
 .../pseries-many-buses-2.ppc64-latest.args    |   2 +-
 .../pseries-many-devices.ppc64-latest.args    |   2 +-
 .../pseries-nvram.ppc64-latest.args           |   2 +-
 .../pseries-panic-missing.ppc64-latest.args   |   2 +-
 ...pseries-panic-no-address.ppc64-latest.args |   2 +-
 ...ries-phb-default-missing.ppc64-latest.args |   2 +-
 .../pseries-phb-numa-node.ppc64-latest.args   |   2 +-
 .../pseries-phb-simple.ppc64-latest.args      |   2 +-
 .../pseries-serial-native.ppc64-latest.args   |   2 +-
 .../pseries-serial-pci.ppc64-latest.args      |   2 +-
 .../pseries-serial-usb.ppc64-latest.args      |   2 +-
 .../pseries-usb-default.ppc64-latest.args     |   2 +-
 .../pseries-usb-kbd.ppc64-latest.args         |   2 +-
 .../pseries-usb-multi.ppc64-latest.args       |   2 +-
 ...series-vio-user-assigned.ppc64-latest.args |   2 +-
 .../pseries-vio.ppc64-latest.args             |   2 +-
 .../pv-spinlock-disabled.x86_64-latest.args   |   2 +-
 .../pv-spinlock-enabled.x86_64-latest.args    |   2 +-
 .../pvpanic-pci-aarch64.aarch64-latest.args   |   2 +-
 ...pci-no-address-aarch64.aarch64-latest.args |   2 +-
 .../pvpanic-pci-x86_64.x86_64-latest.args     |   3 +-
 ...q35-default-devices-only.x86_64-4.2.0.args |   3 +-
 ...35-default-devices-only.x86_64-latest.args |   3 +-
 .../q35-multifunction.x86_64-4.2.0.args       |   3 +-
 .../q35-multifunction.x86_64-latest.args      |   3 +-
 .../q35-pcie-autoadd.x86_64-4.2.0.args        |   3 +-
 .../q35-pcie-autoadd.x86_64-latest.args       |   3 +-
 .../q35-pcie.x86_64-4.2.0.args                |   3 +-
 .../q35-pcie.x86_64-latest.args               |   3 +-
 .../q35-virt-manager-basic.x86_64-4.2.0.args  |   2 +-
 .../q35-virt-manager-basic.x86_64-latest.args |   2 +-
 .../qemu-ns.x86_64-latest.args                |   3 +-
 .../serial-debugcon.x86_64-latest.args        |   3 +-
 ...rial-dev-chardev-iobase.x86_64-latest.args |   3 +-
 .../serial-dev-chardev.x86_64-latest.args     |   3 +-
 .../serial-file-chardev.x86_64-latest.args    |   3 +-
 .../serial-file-log.x86_64-latest.args        |   3 +-
 .../serial-many-chardev.x86_64-latest.args    |   3 +-
 .../serial-pty-chardev.x86_64-latest.args     |   3 +-
 .../serial-spiceport.x86_64-latest.args       |   3 +-
 .../serial-tcp-chardev.x86_64-latest.args     |   3 +-
 ...rial-tcp-telnet-chardev.x86_64-latest.args |   3 +-
 ...p-tlsx509-chardev-notls.x86_64-latest.args |   3 +-
 ...-tlsx509-chardev-verify.x86_64-latest.args |   3 +-
 ...ial-tcp-tlsx509-chardev.x86_64-latest.args |   3 +-
 ...-tlsx509-secret-chardev.x86_64-latest.args |   3 +-
 .../serial-udp-chardev.x86_64-latest.args     |   3 +-
 .../serial-unix-chardev.x86_64-latest.args    |   3 +-
 .../serial-vc-chardev.x86_64-latest.args      |   3 +-
 .../sgx-epc.x86_64-7.0.0.args                 |   3 +-
 ...rtcard-passthrough-unix.x86_64-latest.args |   3 +-
 .../tpm-emulator-spapr.ppc64-latest.args      |   2 +-
 .../tpm-emulator-tpm2-enc.x86_64-latest.args  |   2 +-
 ...pm-emulator-tpm2-pstate.x86_64-latest.args |   2 +-
 .../tpm-emulator-tpm2.x86_64-latest.args      |   2 +-
 .../tpm-emulator.x86_64-latest.args           |   2 +-
 .../tpm-external.x86_64-latest.args           |   2 +-
 .../tpm-passthrough-crb.x86_64-latest.args    |   2 +-
 .../tpm-passthrough.x86_64-latest.args        |   2 +-
 .../tseg-explicit-size.x86_64-latest.args     |   3 +-
 .../usb-redir-unix.x86_64-latest.args         |   3 +-
 .../user-aliases-usb.x86_64-latest.args       |   2 +-
 .../user-aliases.x86_64-latest.args           |   2 +-
 .../user-aliases2.x86_64-latest.args          |   3 +-
 ...vhost-user-fs-fd-memory.x86_64-latest.args |   3 +-
 ...vhost-user-fs-hugepages.x86_64-latest.args |   2 +-
 ...host-user-gpu-secondary.x86_64-latest.args |   3 +-
 .../vhost-user-vga.x86_64-latest.args         |   3 +-
 .../vhost-vsock-auto.x86_64-latest.args       |   3 +-
 .../vhost-vsock.x86_64-latest.args            |   3 +-
 ...eo-bochs-display-device.x86_64-latest.args |   3 +-
 ...video-qxl-device-vram64.x86_64-latest.args |   3 +-
 ...o-qxl-sec-device-vram64.x86_64-latest.args |   3 +-
 ...eo-ramfb-display-device.x86_64-latest.args |   3 +-
 ...video-virtio-vga-gpu-gl.x86_64-latest.args |   3 +-
 .../virtio-9p-createmode.x86_64-latest.args   |   3 +-
 .../virtio-9p-multidevs.x86_64-latest.args    |   3 +-
 .../virtio-iommu-aarch64.aarch64-latest.args  |   2 +-
 .../virtio-iommu-x86_64.x86_64-latest.args    |   2 +-
 .../virtio-lun.x86_64-latest.args             |   3 +-
 ...virtio-non-transitional.x86_64-latest.args |   3 +-
 ...-options-controller-ats.x86_64-latest.args |   3 +-
 ...ptions-controller-iommu.x86_64-latest.args |   3 +-
 ...tions-controller-packed.x86_64-latest.args |   3 +-
 ...virtio-options-disk-ats.x86_64-latest.args |   3 +-
 ...rtio-options-disk-iommu.x86_64-latest.args |   3 +-
 ...tio-options-disk-packed.x86_64-latest.args |   3 +-
 .../virtio-options-fs-ats.x86_64-latest.args  |   3 +-
 ...virtio-options-fs-iommu.x86_64-latest.args |   3 +-
 ...irtio-options-fs-packed.x86_64-latest.args |   3 +-
 ...irtio-options-input-ats.x86_64-latest.args |   3 +-
 ...tio-options-input-iommu.x86_64-latest.args |   3 +-
 ...io-options-input-packed.x86_64-latest.args |   3 +-
 ...-options-memballoon-ats.x86_64-latest.args |   3 +-
 ...loon-freepage-reporting.x86_64-latest.args |   3 +-
 ...ptions-memballoon-iommu.x86_64-latest.args |   3 +-
 ...tions-memballoon-packed.x86_64-latest.args |   3 +-
 .../virtio-options-net-ats.x86_64-latest.args |   3 +-
 ...irtio-options-net-iommu.x86_64-latest.args |   3 +-
 ...rtio-options-net-packed.x86_64-latest.args |   3 +-
 .../virtio-options-rng-ats.x86_64-latest.args |   3 +-
 ...irtio-options-rng-iommu.x86_64-latest.args |   3 +-
 ...rtio-options-rng-packed.x86_64-latest.args |   3 +-
 ...irtio-options-video-ats.x86_64-latest.args |   3 +-
 ...tio-options-video-iommu.x86_64-latest.args |   3 +-
 ...io-options-video-packed.x86_64-latest.args |   3 +-
 .../virtio-options.x86_64-latest.args         |   3 +-
 .../virtio-rng-builtin.x86_64-5.2.0.args      |   3 +-
 .../virtio-rng-builtin.x86_64-latest.args     |   3 +-
 .../virtio-rng-egd-unix.x86_64-5.2.0.args     |   3 +-
 .../virtio-rng-egd-unix.x86_64-latest.args    |   3 +-
 .../virtio-transitional.x86_64-latest.args    |   3 +-
 .../watchdog-device.x86_64-latest.args        |   3 +-
 .../watchdog-dump.x86_64-latest.args          |   3 +-
 .../watchdog-injectnmi.x86_64-latest.args     |   3 +-
 .../watchdog-q35-multiple.x86_64-latest.args  |   3 +-
 .../watchdog.x86_64-latest.args               |   3 +-
 .../x86-kvm-32-on-64.x86_64-latest.args       |   3 +-
 ...-default-cpu-kvm-pc-4.2.x86_64-latest.args |   2 +-
 ...default-cpu-kvm-q35-4.2.x86_64-latest.args |   2 +-
 ...efault-cpu-tcg-features.x86_64-latest.args |   2 +-
 ...-default-cpu-tcg-pc-4.2.x86_64-latest.args |   2 +-
 ...default-cpu-tcg-q35-4.2.x86_64-latest.args |   2 +-
 .../x86_64-pc-graphics.x86_64-latest.args     |   2 +-
 .../x86_64-pc-headless.x86_64-latest.args     |   2 +-
 .../x86_64-q35-graphics.x86_64-latest.args    |   2 +-
 .../x86_64-q35-headless.x86_64-latest.args    |   2 +-
 tests/testutilsqemu.c                         |   9 +-
 485 files changed, 1044 insertions(+), 1145 deletions(-)

-- 
2.39.2
Re: [PATCH 0/7] qemu: Don't use deprecated '-no-acpi' and RFC: fix ACPI config for machine types not supporting ACPI
Posted by Daniel P. Berrangé 1 year, 1 month ago
On Mon, Feb 27, 2023 at 04:27:36PM +0100, Peter Krempa wrote:
> The first part of the series is a straightforward replacement of
> '-no-acpi' by '-machine acpi=on/off' based on configuration.
> 
> '-no-acpi' was recently deprecated by qemu thus we must adapt.
> 
> The second part of this series fixes the use of ACPI (or lack thereof)
> for ARM machine types which don't support ACPI. We'll break such
> commandline by adding '-no-acpi' due to historical baggage.

Which machine types are you considering here ?  Would that be
any machine type except the 'virt' machine type I guess ?

Today we just do this in the QEMU driver:

    if ((ARCH_IS_X86(guestarch) || guestarch == VIR_ARCH_AARCH64))
        virCapabilitiesAddGuestFeatureWithToggle(guest, VIR_CAPS_GUEST_FEATURE_TYPE_ACPI,
                                                 true, true);

and virt-install/virt-manager look at this to decide whether
to add <acpi/> in the domain XML.

So if we're moving this capability into domain capabilities,
to become per-machine type variable, we'll need code changes
to any apps using the historical capability.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Re: [PATCH 0/7] qemu: Don't use deprecated '-no-acpi' and RFC: fix ACPI config for machine types not supporting ACPI
Posted by Peter Krempa 1 year, 1 month ago
On Mon, Feb 27, 2023 at 16:26:36 +0000, Daniel P. Berrangé wrote:
> On Mon, Feb 27, 2023 at 04:27:36PM +0100, Peter Krempa wrote:
> > The first part of the series is a straightforward replacement of
> > '-no-acpi' by '-machine acpi=on/off' based on configuration.
> > 
> > '-no-acpi' was recently deprecated by qemu thus we must adapt.
> > 
> > The second part of this series fixes the use of ACPI (or lack thereof)
> > for ARM machine types which don't support ACPI. We'll break such
> > commandline by adding '-no-acpi' due to historical baggage.
> 
> Which machine types are you considering here ? Would that be
> any machine type except the 'virt' machine type I guess ?

Indeed:

$ grep machine tests/qemucapabilitiesdata/caps_8.0.0.aarch64.xml | grep "acpi='no'"
  <machine type='tcg' name='integratorcp' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='integrator.ram' acpi='no'/>
  <machine type='tcg' name='qcom-dc-scm-v1-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='mori-bmc' maxCpus='2' defaultCPU='cortex-a9-arm-cpu' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='ast2600-evb' maxCpus='2' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='borzoi' maxCpus='1' defaultCPU='pxa270-c0-arm-cpu' acpi='no'/>
  <machine type='tcg' name='spitz' maxCpus='1' defaultCPU='pxa270-c0-arm-cpu' acpi='no'/>
  <machine type='tcg' name='nuri' maxCpus='2' acpi='no'/>
  <machine type='tcg' name='mcimx7d-sabre' maxCpus='2' defaultRAMid='mcimx7d-sabre.ram' acpi='no'/>
  <machine type='tcg' name='romulus-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='npcm750-evb' maxCpus='2' defaultCPU='cortex-a9-arm-cpu' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='rainier-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='mps3-an547' maxCpus='1' defaultCPU='cortex-m55-arm-cpu' defaultRAMid='DDR' acpi='no'/>
  <machine type='tcg' name='musca-b1' maxCpus='2' defaultCPU='cortex-m33-arm-cpu' acpi='no'/>
  <machine type='tcg' name='realview-pbx-a9' maxCpus='4' defaultCPU='cortex-a9-arm-cpu' acpi='no'/>
  <machine type='tcg' name='kzm' maxCpus='1' defaultRAMid='kzm.ram' acpi='no'/>
  <machine type='tcg' name='versatileab' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='versatile.ram' acpi='no'/>
  <machine type='tcg' name='fby35-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='musca-a' maxCpus='2' defaultCPU='cortex-m33-arm-cpu' acpi='no'/>
  <machine type='tcg' name='mcimx6ul-evk' maxCpus='1' defaultRAMid='mcimx6ul-evk.ram' acpi='no'/>
  <machine type='tcg' name='smdkc210' maxCpus='2' acpi='no'/>
  <machine type='tcg' name='sx1' maxCpus='1' defaultCPU='ti925t-arm-cpu' defaultRAMid='omap1.dram' acpi='no'/>
  <machine type='tcg' name='imx25-pdk' maxCpus='1' defaultRAMid='imx25.ram' acpi='no'/>
  <machine type='tcg' name='stm32vldiscovery' maxCpus='1' acpi='no'/>
  <machine type='tcg' name='orangepi-pc' maxCpus='4' defaultCPU='cortex-a7-arm-cpu' defaultRAMid='orangepi.ram' acpi='no'/>
  <machine type='tcg' name='quanta-q71l-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='z2' maxCpus='1' defaultCPU='pxa270-c5-arm-cpu' acpi='no'/>
  <machine type='tcg' name='xilinx-zynq-a9' maxCpus='1' defaultCPU='cortex-a9-arm-cpu' defaultRAMid='zynq.ext_ram' acpi='no'/>
  <machine type='tcg' name='xlnx-zcu102' maxCpus='6' defaultRAMid='ddr-ram' acpi='no'/>
  <machine type='tcg' name='tosa' maxCpus='1' acpi='no'/>
  <machine type='tcg' name='mps2-an500' maxCpus='1' defaultCPU='cortex-m7-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
  <machine type='tcg' name='mps2-an521' maxCpus='2' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
  <machine type='tcg' name='sabrelite' maxCpus='4' defaultRAMid='sabrelite.ram' acpi='no'/>
  <machine type='tcg' name='mps2-an511' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
  <machine type='tcg' name='canon-a1100' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='realview-eb' maxCpus='1' defaultCPU='arm926-arm-cpu' acpi='no'/>
  <machine type='tcg' name='quanta-gbs-bmc' maxCpus='2' defaultCPU='cortex-a9-arm-cpu' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='emcraft-sf2' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' acpi='no'/>
  <machine type='tcg' name='realview-pb-a8' maxCpus='1' defaultCPU='cortex-a8-arm-cpu' acpi='no'/>
  <machine type='tcg' name='sbsa-ref' maxCpus='512' defaultCPU='cortex-a57-arm-cpu' defaultRAMid='sbsa-ref.ram' acpi='no'/>
  <machine type='tcg' name='raspi1ap' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='palmetto-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='sx1-v1' maxCpus='1' defaultCPU='ti925t-arm-cpu' defaultRAMid='omap1.dram' acpi='no'/>
  <machine type='tcg' name='n810' maxCpus='1' defaultCPU='arm1136-r2-arm-cpu' defaultRAMid='omap2.dram' acpi='no'/>
  <machine type='tcg' name='g220a-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='n800' maxCpus='1' defaultCPU='arm1136-r2-arm-cpu' defaultRAMid='omap2.dram' acpi='no'/>
  <machine type='tcg' name='tacoma-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='bletchley-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='quanta-gsj' maxCpus='2' defaultCPU='cortex-a9-arm-cpu' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='versatilepb' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='versatile.ram' acpi='no'/>
  <machine type='tcg' name='terrier' maxCpus='1' defaultCPU='pxa270-c5-arm-cpu' acpi='no'/>
  <machine type='tcg' name='mainstone' maxCpus='1' defaultCPU='pxa270-c5-arm-cpu' acpi='no'/>
  <machine type='tcg' name='realview-eb-mpcore' maxCpus='4' defaultCPU='arm11mpcore-arm-cpu' acpi='no'/>
  <machine type='tcg' name='supermicrox11-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='witherspoon-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='qcom-firework-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='mps3-an524' maxCpus='2' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='DDR' acpi='no'/>
  <machine type='tcg' name='kudo-bmc' maxCpus='2' defaultCPU='cortex-a9-arm-cpu' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='vexpress-a9' maxCpus='4' defaultCPU='cortex-a9-arm-cpu' defaultRAMid='vexpress.highmem' acpi='no'/>
  <machine type='tcg' name='midway' maxCpus='4' defaultRAMid='highbank.dram' acpi='no'/>
  <machine type='tcg' name='musicpal' maxCpus='1' defaultCPU='arm926-arm-cpu' defaultRAMid='musicpal.ram' acpi='no'/>
  <machine type='tcg' name='lm3s811evb' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' acpi='no'/>
  <machine type='tcg' name='lm3s6965evb' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' acpi='no'/>
  <machine type='tcg' name='supermicro-x11spi-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='microbit' maxCpus='1' acpi='no'/>
  <machine type='tcg' name='fby35' maxCpus='3' acpi='no'/>
  <machine type='tcg' name='mps2-an505' maxCpus='1' defaultCPU='cortex-m33-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
  <machine type='tcg' name='mps2-an385' maxCpus='1' defaultCPU='cortex-m3-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
  <machine type='tcg' name='raspi3ap' maxCpus='4' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='cubieboard' maxCpus='1' defaultCPU='cortex-a8-arm-cpu' defaultRAMid='cubieboard.ram' acpi='no'/>
  <machine type='tcg' name='ast1030-evb' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='verdex' maxCpus='1' defaultCPU='pxa270-c0-arm-cpu' acpi='no'/>
  <machine type='tcg' name='netduino2' maxCpus='1' acpi='no'/>
  <machine type='tcg' name='xlnx-versal-virt' maxCpus='4' defaultRAMid='ddr' acpi='no'/>
  <machine type='tcg' name='mps2-an386' maxCpus='1' defaultCPU='cortex-m4-arm-cpu' defaultRAMid='mps.ram' acpi='no'/>
  <machine type='tcg' name='olimex-stm32-h405' maxCpus='1' defaultCPU='cortex-m4-arm-cpu' acpi='no'/>
  <machine type='tcg' name='raspi3b' maxCpus='4' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='raspi2b' maxCpus='4' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='vexpress-a15' maxCpus='4' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='vexpress.highmem' acpi='no'/>
  <machine type='tcg' name='fuji-bmc' maxCpus='2' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='sonorapass-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='cheetah' maxCpus='1' defaultCPU='ti925t-arm-cpu' defaultRAMid='omap1.dram' acpi='no'/>
  <machine type='tcg' name='ast2500-evb' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='highbank' maxCpus='4' defaultRAMid='highbank.dram' acpi='no'/>
  <machine type='tcg' name='akita' maxCpus='1' defaultCPU='pxa270-c0-arm-cpu' acpi='no'/>
  <machine type='tcg' name='connex' maxCpus='1' acpi='no'/>
  <machine type='tcg' name='netduinoplus2' maxCpus='1' acpi='no'/>
  <machine type='tcg' name='collie' maxCpus='1' defaultCPU='sa1110-arm-cpu' defaultRAMid='strongarm.sdram' acpi='no'/>
  <machine type='tcg' name='raspi0' maxCpus='1' defaultRAMid='ram' acpi='no'/>
  <machine type='tcg' name='fp5280g2-bmc' maxCpus='1' defaultRAMid='ram' acpi='no'/>


In contrast to those which do report ACPI:

$ grep machine tests/qemucapabilitiesdata/caps_8.0.0.aarch64.xml | grep "acpi='yes'"
  <machine type='tcg' name='virt-2.7' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-3.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-5.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-2.10' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-2.8' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-3.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-5.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-2.11' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-2.9' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-5.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-2.12' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-7.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-4.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-7.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-4.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-7.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-4.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-6.0' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-8.0' alias='virt' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-6.1' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-6.2' maxCpus='512' defaultCPU='cortex-a15-arm-cpu' defaultRAMid='mach-virt.ram' acpi='yes'/>
  <machine type='tcg' name='virt-2.6' maxCpus='255' defaultCPU='cortex-a15-arm-cpu' numaMemSupported='yes' defaultRAMid='mach-virt.ram' acpi='yes'/>

> Today we just do this in the QEMU driver:
> 
>     if ((ARCH_IS_X86(guestarch) || guestarch == VIR_ARCH_AARCH64))
>         virCapabilitiesAddGuestFeatureWithToggle(guest, VIR_CAPS_GUEST_FEATURE_TYPE_ACPI,
>                                                  true, true);
> 
> and virt-install/virt-manager look at this to decide whether
> to add <acpi/> in the domain XML.
> 
> So if we're moving this capability into domain capabilities,
> to become per-machine type variable, we'll need code changes
> to any apps using the historical capability.

Okay so this then also should be exposed in domain capabilities, because
this series simply deals with formatting it on the commandline, rather
than any discoverability.

The main problem reported as issue is that with ARM if you don't add
'<acpi/>' to the XML we format '-no-acpi' which gets turned into
acpi=off inside qemu and then the commandline parser moans that 'acpi'
property of the machine was not found.

If you try to work it aroud by adding '<acpi/>' to suppress '-no-acpi'
then in turn libvirt moans that for uusing acpi you need UEFI.