Now that qemu fixed device unplug when JSON syntax is used with -device we can re-enable the feature. Since the old capability string representation is condemned by suggesting filtering it as a workaround we must introduce a new string. To achieve this the original capability position is renamed to X_QEMU_CAPS_DEVICE_JSON_BROKEN_HOTPLUG and a new position with the original name QEMU_CAPS_DEVICE_JSON is introduced to prevent us having to change the rest of the code. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- Warning! patch truncated, see cover letter. src/qemu/qemu_capabilities.c | 6 ++- src/qemu/qemu_capabilities.h | 5 ++- .../caps_7.0.0.x86_64.xml | 1 + .../audio-alsa-best.x86_64-latest.args | 4 +- .../audio-alsa-full.x86_64-latest.args | 4 +- .../audio-alsa-minimal.x86_64-latest.args | 4 +- .../audio-coreaudio-best.x86_64-latest.args | 4 +- .../audio-coreaudio-full.x86_64-latest.args | 4 +- ...audio-coreaudio-minimal.x86_64-latest.args | 4 +- ...udio-default-nographics.x86_64-latest.args | 4 +- .../audio-default-sdl.x86_64-latest.args | 6 +-- .../audio-default-spice.x86_64-latest.args | 6 +-- .../audio-default-vnc.x86_64-latest.args | 6 +-- .../audio-file-best.x86_64-latest.args | 4 +- .../audio-file-full.x86_64-latest.args | 4 +- .../audio-file-minimal.x86_64-latest.args | 4 +- .../audio-jack-full.x86_64-latest.args | 4 +- .../audio-jack-minimal.x86_64-latest.args | 4 +- .../audio-many-backends.x86_64-latest.args | 14 +++---- .../audio-none-best.x86_64-latest.args | 4 +- .../audio-none-full.x86_64-latest.args | 4 +- .../audio-none-minimal.x86_64-latest.args | 4 +- .../audio-oss-best.x86_64-latest.args | 4 +- .../audio-oss-full.x86_64-latest.args | 4 +- .../audio-oss-minimal.x86_64-latest.args | 4 +- .../audio-pulseaudio-best.x86_64-latest.args | 4 +- .../audio-pulseaudio-full.x86_64-latest.args | 4 +- ...udio-pulseaudio-minimal.x86_64-latest.args | 4 +- .../audio-sdl-best.x86_64-latest.args | 4 +- .../audio-sdl-full.x86_64-latest.args | 4 +- .../audio-sdl-minimal.x86_64-latest.args | 4 +- .../audio-spice-best.x86_64-latest.args | 4 +- .../audio-spice-full.x86_64-latest.args | 4 +- .../audio-spice-minimal.x86_64-latest.args | 4 +- .../blkdeviotune-group-num.x86_64-latest.args | 8 ++-- ...blkdeviotune-max-length.x86_64-latest.args | 8 ++-- .../blkdeviotune-max.x86_64-latest.args | 8 ++-- .../blkdeviotune.x86_64-latest.args | 8 ++-- .../channel-unix-guestfwd.x86_64-latest.args | 4 +- .../console-compat-auto.x86_64-latest.args | 8 ++-- .../console-compat-chardev.x86_64-latest.args | 8 ++-- .../console-compat.x86_64-latest.args | 6 +-- .../console-virtio-unix.x86_64-latest.args | 10 ++--- .../controller-usb-order.x86_64-latest.args | 8 ++-- .../controller-virtio-scsi.x86_64-latest.args | 24 +++++------ ...-Icelake-Server-pconfig.x86_64-latest.args | 4 +- .../cpu-host-model.x86_64-latest.args | 10 ++--- .../cpu-translation.x86_64-latest.args | 4 +- .../cputune-cpuset-big-id.x86_64-latest.args | 6 +-- .../devices-acpi-index.x86_64-latest.args | 16 +++---- .../disk-aio-io_uring.x86_64-latest.args | 6 +-- .../disk-aio.x86_64-latest.args | 8 ++-- ...-backing-chains-noindex.x86_64-latest.args | 16 +++---- .../disk-blockio.x86_64-latest.args | 8 ++-- .../disk-boot-cdrom.x86_64-latest.args | 6 +-- .../disk-boot-disk.x86_64-latest.args | 6 +-- .../disk-cache.x86_64-latest.args | 14 +++---- .../disk-cdrom-bus-other.x86_64-latest.args | 6 +-- ...m-empty-network-invalid.x86_64-latest.args | 4 +- .../disk-cdrom-network.x86_64-latest.args | 10 ++--- .../disk-cdrom-tray.x86_64-latest.args | 10 ++--- .../disk-cdrom.x86_64-latest.args | 10 ++--- .../disk-copy_on_read.x86_64-latest.args | 12 +++--- .../disk-detect-zeroes.x86_64-latest.args | 8 ++-- .../disk-discard.x86_64-latest.args | 8 ++-- .../disk-error-policy.x86_64-latest.args | 8 ++-- .../disk-floppy-q35.x86_64-latest.args | 12 +++--- .../disk-floppy-tray.x86_64-latest.args | 10 ++--- .../disk-floppy.x86_64-latest.args | 8 ++-- .../disk-fmt-qcow.x86_64-latest.args | 6 +-- .../disk-geometry.x86_64-latest.args | 6 +-- .../disk-ide-split.x86_64-latest.args | 8 ++-- .../disk-ide-wwn.x86_64-latest.args | 6 +-- .../disk-ioeventfd.x86_64-latest.args | 12 +++--- .../disk-metadata-cache.x86_64-latest.args | 8 ++-- .../disk-network-gluster.x86_64-latest.args | 8 ++-- .../disk-network-http.x86_64-latest.args | 10 ++--- .../disk-network-iscsi.x86_64-latest.args | 18 ++++---- .../disk-network-nbd.x86_64-latest.args | 12 +++--- .../disk-network-nfs.x86_64-latest.args | 6 +-- ...-network-rbd-encryption.x86_64-latest.args | 12 +++--- ...sk-network-rbd-no-colon.x86_64-latest.args | 8 ++-- .../disk-network-rbd.x86_64-latest.args | 14 +++---- ...isk-network-source-auth.x86_64-latest.args | 8 ++-- ...isk-network-tlsx509-nbd.x86_64-latest.args | 4 +- .../disk-no-boot.x86_64-latest.args | 8 ++-- .../disk-nvme.x86_64-latest.args | 12 +++--- .../disk-order.x86_64-latest.args | 12 +++--- .../disk-readonly-disk.x86_64-latest.args | 8 ++-- .../disk-rotation.x86_64-latest.args | 12 +++--- .../disk-sata-device.x86_64-latest.args | 8 ++-- .../disk-scsi-device-auto.x86_64-latest.args | 10 ++--- .../disk-scsi-disk-split.x86_64-latest.args | 20 ++++----- .../disk-scsi-disk-vpd.x86_64-latest.args | 12 +++--- .../disk-scsi-disk-wwn.x86_64-latest.args | 12 +++--- ...sk-scsi-lun-passthrough.x86_64-latest.args | 12 +++--- .../disk-scsi.x86_64-latest.args | 26 ++++++------ .../disk-serial.x86_64-latest.args | 8 ++-- .../disk-shared.x86_64-latest.args | 14 +++---- .../disk-slices.x86_64-latest.args | 14 +++---- .../disk-snapshot.x86_64-latest.args | 10 ++--- .../disk-source-pool-mode.x86_64-latest.args | 12 +++--- .../disk-source-pool.x86_64-latest.args | 14 +++---- .../disk-transient.x86_64-latest.args | 6 +-- ...sk-usb-device-removable.x86_64-latest.args | 8 ++-- .../disk-usb-device.x86_64-latest.args | 8 ++-- .../disk-vhostuser.x86_64-latest.args | 8 ++-- .../disk-virtio-queues.x86_64-latest.args | 8 ++-- ...irtio-scsi-reservations.x86_64-latest.args | 10 ++--- .../disk-virtio.x86_64-latest.args | 10 ++--- .../encrypted-disk-usage.x86_64-latest.args | 6 +-- .../encrypted-disk.x86_64-latest.args | 6 +-- .../eoi-disabled.x86_64-latest.args | 4 +- .../eoi-enabled.x86_64-latest.args | 4 +- .../event_idx.x86_64-latest.args | 12 +++--- ...d-memory-numa-topology4.x86_64-latest.args | 4 +- .../fips-enabled.x86_64-latest.args | 6 +-- .../floppy-drive-fat.x86_64-latest.args | 6 +-- .../qemuxml2argvdata/fs9p.x86_64-latest.args | 6 +-- .../genid-auto.x86_64-latest.args | 4 +- .../qemuxml2argvdata/genid.x86_64-latest.args | 4 +- ...egl-headless-rendernode.x86_64-latest.args | 6 +-- .../graphics-egl-headless.x86_64-latest.args | 6 +-- ...s-spice-agent-file-xfer.x86_64-latest.args | 8 ++-- ...aphics-spice-agentmouse.x86_64-latest.args | 10 ++--- ...s-spice-auto-socket-cfg.x86_64-latest.args | 4 +- ...phics-spice-auto-socket.x86_64-latest.args | 4 +- ...phics-spice-compression.x86_64-latest.args | 8 ++-- ...hics-spice-egl-headless.x86_64-latest.args | 6 +-- ...pice-gl-auto-rendernode.x86_64-latest.args | 6 +-- .../graphics-spice-no-args.x86_64-latest.args | 6 +-- .../graphics-spice-qxl-vga.x86_64-latest.args | 8 ++-- .../graphics-spice-sasl.x86_64-latest.args | 6 +-- .../graphics-spice-socket.x86_64-latest.args | 4 +- .../graphics-spice-timeout.x86_64-latest.args | 14 +++---- ...raphics-spice-usb-redir.x86_64-latest.args | 16 +++---- .../graphics-spice.x86_64-latest.args | 8 ++-- ...ics-vnc-auto-socket-cfg.x86_64-latest.args | 6 +-- ...raphics-vnc-auto-socket.x86_64-latest.args | 4 +- ...aphics-vnc-egl-headless.x86_64-latest.args | 6 +-- ...hics-vnc-no-listen-attr.x86_64-latest.args | 6 +-- .../graphics-vnc-none.x86_64-latest.args | 4 +- .../graphics-vnc-policy.x86_64-latest.args | 6 +-- .../graphics-vnc-power.x86_64-latest.args | 6 +-- ...remove-generated-socket.x86_64-latest.args | 6 +-- .../graphics-vnc-sasl.x86_64-latest.args | 6 +-- ...-vnc-socket-new-cmdline.x86_64-latest.args | 4 +- .../graphics-vnc-socket.x86_64-latest.args | 4 +- ...graphics-vnc-tls-secret.x86_64-latest.args | 4 +- .../graphics-vnc-tls.x86_64-latest.args | 4 +- .../graphics-vnc-websocket.x86_64-latest.args | 4 +- .../graphics-vnc.x86_64-latest.args | 6 +-- ...tdev-mdev-display-ramfb.x86_64-latest.args | 8 ++-- ...play-spice-egl-headless.x86_64-latest.args | 6 +-- ...ev-display-spice-opengl.x86_64-latest.args | 6 +-- ...isplay-vnc-egl-headless.x86_64-latest.args | 6 +-- ...ostdev-mdev-display-vnc.x86_64-latest.args | 6 +-- .../hostdev-scsi-lsi.x86_64-latest.args | 20 ++++----- ...ostdev-scsi-virtio-scsi.x86_64-latest.args | 22 +++++----- .../hugepages-memaccess3.x86_64-latest.args | 2 +- .../hugepages-nvdimm.x86_64-latest.args | 4 +- .../hyperv-off.x86_64-latest.args | 4 +- .../hyperv-panic.x86_64-latest.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 | 4 +- .../intel-iommu-aw-bits.x86_64-latest.args | 2 +- ...ntel-iommu-caching-mode.x86_64-latest.args | 2 +- ...ntel-iommu-device-iotlb.x86_64-latest.args | 2 +- .../intel-iommu-eim.x86_64-latest.args | 2 +- .../intel-iommu.x86_64-latest.args | 2 +- ...threads-virtio-scsi-pci.x86_64-latest.args | 10 ++--- .../kvmclock+eoi-disabled.x86_64-latest.args | 4 +- ...nch-security-sev-direct.x86_64-latest.args | 4 +- ...luks-disks-source-qcow2.x86_64-latest.args | 16 +++---- .../luks-disks-source.x86_64-latest.args | 14 +++---- .../luks-disks.x86_64-latest.args | 8 ++-- ...memory-default-hugepage.x86_64-latest.args | 4 +- .../memfd-memory-numa.x86_64-latest.args | 6 +-- ...y-hotplug-nvdimm-access.x86_64-latest.args | 8 ++-- ...ry-hotplug-nvdimm-align.x86_64-latest.args | 8 ++-- ...ry-hotplug-nvdimm-label.x86_64-latest.args | 8 ++-- ...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 8 ++-- ...hotplug-nvdimm-readonly.x86_64-latest.args | 8 ++-- .../memory-hotplug-nvdimm.x86_64-latest.args | 8 ++-- ...mory-hotplug-virtio-mem.x86_64-latest.args | 10 ++--- ...ory-hotplug-virtio-pmem.x86_64-latest.args | 8 ++-- .../misc-no-reboot.x86_64-latest.args | 4 +- .../mlock-off.x86_64-latest.args | 2 +- .../mlock-on.x86_64-latest.args | 2 +- .../name-escape.x86_64-latest.args | 20 ++++----- .../net-vdpa.x86_64-latest.args | 4 +- .../net-vhostuser.x86_64-latest.args | 8 ++-- .../numatune-hmat.x86_64-latest.args | 4 +- ...emnode-restrictive-mode.x86_64-latest.args | 4 +- .../numatune-memnode.x86_64-latest.args | 4 +- .../numatune-system-memory.x86_64-latest.args | 2 +- .../os-firmware-bios.x86_64-latest.args | 16 +++---- ...re-efi-no-enrolled-keys.x86_64-latest.args | 6 +-- ...os-firmware-efi-secboot.x86_64-latest.args | 16 +++---- .../os-firmware-efi.x86_64-latest.args | 16 +++---- .../panic-double.x86_64-latest.args | 4 +- .../panic-no-address.x86_64-latest.args | 8 ++-- .../qemuxml2argvdata/panic.x86_64-latest.args | 8 ++-- ...arallel-parport-chardev.x86_64-latest.args | 8 ++-- .../parallel-tcp-chardev.x86_64-latest.args | 8 ++-- .../parallel-unix-chardev.x86_64-latest.args | 8 ++-- ...pi-root-hotplug-disable.x86_64-latest.args | 4 +- ...cpi-root-hotplug-enable.x86_64-latest.args | 4 +- .../pci-serial-dev-chardev.x86_64-latest.args | 8 ++-- ...cie-root-port-nohotplug.x86_64-latest.args | 18 ++++---- .../pv-spinlock-disabled.x86_64-latest.args | 4 +- .../pv-spinlock-enabled.x86_64-latest.args | 4 +- .../qemu-ns.x86_64-latest.args | 6 +-- ...rial-dev-chardev-iobase.x86_64-latest.args | 8 ++-- .../serial-dev-chardev.x86_64-latest.args | 8 ++-- .../serial-file-chardev.x86_64-latest.args | 8 ++-- .../serial-file-log.x86_64-latest.args | 6 +-- .../serial-many-chardev.x86_64-latest.args | 10 ++--- .../serial-pty-chardev.x86_64-latest.args | 8 ++-- ...erial-spiceport-nospice.x86_64-latest.args | 6 +-- .../serial-spiceport.x86_64-latest.args | 12 +++--- .../serial-tcp-chardev.x86_64-latest.args | 8 ++-- ...rial-tcp-telnet-chardev.x86_64-latest.args | 8 ++-- ...p-tlsx509-chardev-notls.x86_64-latest.args | 10 ++--- ...-tlsx509-chardev-verify.x86_64-latest.args | 10 ++--- ...ial-tcp-tlsx509-chardev.x86_64-latest.args | 10 ++--- ...-tlsx509-secret-chardev.x86_64-latest.args | 10 ++--- .../serial-udp-chardev.x86_64-latest.args | 10 ++--- .../serial-unix-chardev.x86_64-latest.args | 8 ++-- .../serial-vc-chardev.x86_64-latest.args | 8 ++-- ...rtcard-passthrough-unix.x86_64-latest.args | 8 ++-- .../tpm-emulator-tpm2-enc.x86_64-latest.args | 6 +-- ...pm-emulator-tpm2-pstate.x86_64-latest.args | 6 +-- .../tpm-emulator-tpm2.x86_64-latest.args | 6 +-- .../tpm-emulator.x86_64-latest.args | 6 +-- .../tpm-passthrough-crb.x86_64-latest.args | 6 +-- .../tpm-passthrough.x86_64-latest.args | 6 +-- .../tseg-explicit-size.x86_64-latest.args | 10 ++--- .../usb-redir-unix.x86_64-latest.args | 14 +++---- ...vhost-user-fs-fd-memory.x86_64-latest.args | 2 +- ...vhost-user-fs-hugepages.x86_64-latest.args | 12 +++--- ...host-user-gpu-secondary.x86_64-latest.args | 10 ++--- .../vhost-user-vga.x86_64-latest.args | 8 ++-- .../vhost-vsock-auto.x86_64-latest.args | 6 +-- .../vhost-vsock.x86_64-latest.args | 6 +-- ...eo-bochs-display-device.x86_64-latest.args | 8 ++-- ...video-qxl-device-vram64.x86_64-latest.args | 6 +-- ...o-qxl-sec-device-vram64.x86_64-latest.args | 8 ++-- ...eo-ramfb-display-device.x86_64-latest.args | 8 ++-- ...video-virtio-vga-gpu-gl.x86_64-latest.args | 8 ++-- .../virtio-9p-createmode.x86_64-latest.args | 14 +++---- .../virtio-9p-multidevs.x86_64-latest.args | 12 +++--- .../virtio-lun.x86_64-latest.args | 12 +++--- ...virtio-non-transitional.x86_64-latest.args | 42 +++++++++---------- ...-options-controller-ats.x86_64-latest.args | 12 +++--- ...ptions-controller-iommu.x86_64-latest.args | 12 +++--- ...tions-controller-packed.x86_64-latest.args | 12 +++--- ...virtio-options-disk-ats.x86_64-latest.args | 8 ++-- ...rtio-options-disk-iommu.x86_64-latest.args | 8 ++-- ...tio-options-disk-packed.x86_64-latest.args | 8 ++-- .../virtio-options-fs-ats.x86_64-latest.args | 8 ++-- ...virtio-options-fs-iommu.x86_64-latest.args | 8 ++-- ...irtio-options-fs-packed.x86_64-latest.args | 8 ++-- ...irtio-options-input-ats.x86_64-latest.args | 8 ++-- ...tio-options-input-iommu.x86_64-latest.args | 8 ++-- ...io-options-input-packed.x86_64-latest.args | 8 ++-- ...-options-memballoon-ats.x86_64-latest.args | 4 +- ...loon-freepage-reporting.x86_64-latest.args | 4 +- ...ptions-memballoon-iommu.x86_64-latest.args | 4 +- ...tions-memballoon-packed.x86_64-latest.args | 4 +- .../virtio-options-net-ats.x86_64-latest.args | 8 ++-- ...irtio-options-net-iommu.x86_64-latest.args | 8 ++-- ...rtio-options-net-packed.x86_64-latest.args | 8 ++-- .../virtio-options-rng-ats.x86_64-latest.args | 8 ++-- ...irtio-options-rng-iommu.x86_64-latest.args | 8 ++-- ...rtio-options-rng-packed.x86_64-latest.args | 8 ++-- ...irtio-options-video-ats.x86_64-latest.args | 8 ++-- ...tio-options-video-iommu.x86_64-latest.args | 8 ++-- ...io-options-video-packed.x86_64-latest.args | 8 ++-- .../virtio-options.x86_64-latest.args | 28 ++++++------- .../virtio-rng-builtin.x86_64-latest.args | 6 +-- .../virtio-rng-egd-unix.x86_64-latest.args | 6 +-- .../virtio-transitional.x86_64-latest.args | 26 ++++++------ .../watchdog-device.x86_64-latest.args | 8 ++-- .../watchdog-dump.x86_64-latest.args | 8 ++-- .../watchdog-injectnmi.x86_64-latest.args | 8 ++-- .../watchdog.x86_64-latest.args | 6 +-- ...-default-cpu-kvm-pc-4.2.x86_64-latest.args | 6 +-- ...default-cpu-kvm-q35-4.2.x86_64-latest.args | 14 +++---- ...efault-cpu-tcg-features.x86_64-latest.args | 10 ++--- ...-default-cpu-tcg-pc-4.2.x86_64-latest.args | 6 +-- ...default-cpu-tcg-q35-4.2.x86_64-latest.args | 14 +++---- .../x86_64-pc-graphics.x86_64-latest.args | 20 ++++----- .../x86_64-pc-headless.x86_64-latest.args | 16 +++---- .../x86_64-q35-graphics.x86_64-latest.args | 34 +++++++-------- .../x86_64-q35-headless.x86_64-latest.args | 30 ++++++------- 298 files changed, 1207 insertions(+), 1199 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 5f1eb5014c..a71d3b912f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -649,11 +649,14 @@ VIR_ENUM_IMPL(virQEMUCaps, "chardev.json", /* QEMU_CAPS_CHARDEV_JSON */ /* 415 */ - "device.json", /* QEMU_CAPS_DEVICE_JSON */ + "device.json", /* X_QEMU_CAPS_DEVICE_JSON_BROKEN_HOTPLUG */ "query-dirty-rate", /* QEMU_CAPS_QUERY_DIRTY_RATE */ "rbd-encryption", /* QEMU_CAPS_RBD_ENCRYPTION */ "sev-guest-kernel-hashes", /* QEMU_CAPS_SEV_GUEST_KERNEL_HASHES */ "sev-inject-launch-secret", /* QEMU_CAPS_SEV_INJECT_LAUNCH_SECRET */ + + /* 420 */ + "device.json+hotplug", /* QEMU_CAPS_DEVICE_JSON */ ); @@ -1556,6 +1559,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "chardev-add/arg-type/backend/+socket/data/reconnect", QEMU_CAPS_CHARDEV_RECONNECT }, { "chardev-add/arg-type/backend/+file/data/logfile", QEMU_CAPS_CHARDEV_LOGFILE }, { "chardev-add/arg-type/backend/+file/data/logappend", QEMU_CAPS_CHARDEV_FILE_APPEND }, + { "device_add/$json-cli-hotplug", QEMU_CAPS_DEVICE_JSON }, { "human-monitor-command/$savevm-monitor-nodes", QEMU_CAPS_SAVEVM_MONITOR_NODES }, { "migrate-set-parameters/arg-type/max-bandwidth", QEMU_CAPS_MIGRATION_PARAM_BANDWIDTH }, { "migrate-set-parameters/arg-type/downtime-limit", QEMU_CAPS_MIGRATION_PARAM_DOWNTIME }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index e3a3ab4445..2c1b6a99c4 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -628,12 +628,15 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_CHARDEV_JSON, /* -chardev accepts JSON */ /* 415 */ - QEMU_CAPS_DEVICE_JSON, /* -device accepts JSON (must not be used - users are filtering the capbility) */ + X_QEMU_CAPS_DEVICE_JSON_BROKEN_HOTPLUG, /* -device accepts JSON (must not be used - users are filtering the capbility) */ QEMU_CAPS_QUERY_DIRTY_RATE, /* accepts query-dirty-rate */ QEMU_CAPS_RBD_ENCRYPTION, /* Ceph RBD encryption support */ QEMU_CAPS_SEV_GUEST_KERNEL_HASHES, /* sev-guest.kernel-hashes= */ QEMU_CAPS_SEV_INJECT_LAUNCH_SECRET, /* 'sev-inject-launch-secret' qmp command present */ + /* 420 */ + QEMU_CAPS_DEVICE_JSON, /* -device accepts JSON (and works with hot-unplug) */ + QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index a33b989e21..6b80e7817e 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -241,6 +241,7 @@ <flag name='rbd-encryption'/> <flag name='sev-guest-kernel-hashes'/> <flag name='sev-inject-launch-secret'/> + <flag name='device.json+hotplug'/> <version>6002050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100243</microcodeVersion> diff --git a/tests/qemuxml2argvdata/audio-alsa-best.x86_64-latest.args b/tests/qemuxml2argvdata/audio-alsa-best.x86_64-latest.args index 4fcffcff19..563c33af45 100644 --- a/tests/qemuxml2argvdata/audio-alsa-best.x86_64-latest.args +++ b/tests/qemuxml2argvdata/audio-alsa-best.x86_64-latest.args @@ -27,10 +27,10 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -no-shutdown \ -no-acpi \ -boot strict=on \ --device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ +-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ -blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \ --device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \ +-device '{"driver":"ide-cd","bus":"ide.1","unit":0,"drive":"libvirt-1-format","id":"ide0-1-0","bootindex":1}' \ -audiodev '{"id":"audio1","driver":"alsa","timer-period":50,"in":{"mixing-engine":true,"fixed-settings":true,"voices":1,"frequency":44100,"channels":2,"format":"s16","dev":"/dev/dsp0"},"out":{"mixing-engine":true,"fixed-settings":true,"voices":2,"frequency":22050,"channels":4,"format":"f32","dev":"/dev/dsp1"}}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on [ ... truncated ... ]