[PATCH v2 08/17] qemu: assume -drive argument is always available

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

 



As of QEMU 0.9.1 the -drive argument can be used to configure
all disks, so the QEMU driver can assume it is always available
and drop support for -hda/-cdrom/etc.

Many of the tests need updating because a great many were
running without CAPS_DRIVE set, so using the -hda legacy
syntax.

Fixing the tests uncovered a bug in the argv -> xml
convertor which failed to handle disk with if=floppy.

Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
---
 src/qemu/qemu_capabilities.c                       |  52 ++-
 src/qemu/qemu_capabilities.h                       |   2 +-
 src/qemu/qemu_command.c                            | 357 +++++++--------------
 src/qemu/qemu_hotplug.c                            |   3 +-
 tests/qemucapabilitiesdata/caps_1.2.2-1.caps       |   1 -
 tests/qemucapabilitiesdata/caps_1.3.1-1.caps       |   1 -
 tests/qemucapabilitiesdata/caps_1.4.2-1.caps       |   1 -
 tests/qemucapabilitiesdata/caps_1.5.3-1.caps       |   1 -
 tests/qemucapabilitiesdata/caps_1.6.0-1.caps       |   1 -
 tests/qemucapabilitiesdata/caps_1.6.50-1.caps      |   1 -
 tests/qemucapabilitiesdata/caps_2.1.1-1.caps       |   1 -
 tests/qemucaps2xmldata/all_1.6.0-1.caps            |   1 -
 tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps |   1 -
 tests/qemuhelptest.c                               |   8 -
 tests/qemuhotplugtest.c                            |   1 -
 .../qemuxml2argv-balloon-device-auto.args          |   3 +-
 .../qemuxml2argv-balloon-device-period.args        |   3 +-
 .../qemuxml2argv-balloon-device.args               |   3 +-
 tests/qemuxml2argvdata/qemuxml2argv-bios.args      |   3 +-
 .../qemuxml2argv-blkiotune-device.args             |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-boot-cdrom.args  |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-boot-floppy.args |   4 +-
 .../qemuxml2argv-boot-menu-disable.args            |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-boot-multi.args  |   2 +-
 .../qemuxml2argv-boot-network.args                 |   2 +-
 .../qemuxml2argv-channel-guestfwd.args             |   3 +-
 .../qemuxml2argv-channel-spicevmc-old.args         |   3 +-
 .../qemuxml2argv-channel-spicevmc.args             |   3 +-
 .../qemuxml2argv-channel-virtio-auto.args          |   3 +-
 .../qemuxml2argv-channel-virtio-autoadd.args       |   3 +-
 .../qemuxml2argv-channel-virtio-autoassign.args    |   3 +-
 .../qemuxml2argv-channel-virtio-default.args       |   3 +-
 .../qemuxml2argv-channel-virtio-state.args         |   3 +-
 .../qemuxml2argv-channel-virtio-unix.args          |   3 +-
 .../qemuxml2argv-channel-virtio.args               |   3 +-
 .../qemuxml2argv-clock-catchup.args                |   2 +-
 .../qemuxml2argv-clock-france.args                 |   2 +-
 .../qemuxml2argv-clock-hpet-off.args               |   2 +-
 ...muxml2argv-clock-localtime-basis-localtime.args |   2 +-
 .../qemuxml2argv-clock-localtime.args              |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args |   8 +-
 tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml  |   2 +-
 .../qemuxml2argv-clock-variable.args               |   2 +-
 .../qemuxml2argv-console-compat-auto.args          |   2 +-
 .../qemuxml2argv-console-compat-chardev.args       |   3 +-
 .../qemuxml2argv-console-compat.args               |   2 +-
 .../qemuxml2argv-console-virtio-many.args          |   3 +-
 .../qemuxml2argv-console-virtio.args               |   3 +-
 ...qemuxml2argv-cpu-host-passthrough-features.args |   2 +-
 .../qemuxml2argv-cputune-zero-shares.args          |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-cputune.args   |   2 +-
 ...qemuxml2argv-disk-cdrom-tray-no-device-cap.args |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-disk-cdrom.args  |   4 +-
 ...emuxml2argv-disk-floppy-tray-no-device-cap.args |   5 +-
 .../qemuxml2argvdata/qemuxml2argv-disk-floppy.args |   6 +-
 .../qemuxml2argvdata/qemuxml2argv-disk-iscsi.args  |   5 +-
 tests/qemuxml2argvdata/qemuxml2argv-disk-many.args |   8 +-
 tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args  |   2 +-
 .../qemuxml2argv-fips-enabled.args                 |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-fs9p.args      |   3 +-
 .../qemuxml2argv-graphics-sdl-fullscreen.args      |   2 +-
 .../qemuxml2argv-graphics-sdl.args                 |   2 +-
 ...emuxml2argv-graphics-spice-agent-file-xfer.args |   3 +-
 .../qemuxml2argv-graphics-spice-agentmouse.args    |   3 +-
 .../qemuxml2argv-graphics-spice-compression.args   |   3 +-
 .../qemuxml2argv-graphics-spice-qxl-vga.args       |   3 +-
 .../qemuxml2argv-graphics-spice-sasl.args          |   3 +-
 .../qemuxml2argv-graphics-spice.args               |   3 +-
 .../qemuxml2argv-graphics-vnc-policy.args          |   2 +-
 .../qemuxml2argv-graphics-vnc-sasl.args            |   2 +-
 .../qemuxml2argv-graphics-vnc-socket.args          |   2 +-
 .../qemuxml2argv-graphics-vnc-tls.args             |   2 +-
 .../qemuxml2argv-graphics-vnc.args                 |   2 +-
 .../qemuxml2argv-hostdev-pci-address-device.args   |   3 +-
 .../qemuxml2argv-hostdev-pci-address.args          |   2 +-
 ...muxml2argv-hostdev-usb-address-device-boot.args |   3 +-
 .../qemuxml2argv-hostdev-usb-address-device.args   |   3 +-
 .../qemuxml2argv-hostdev-usb-address.args          |   2 +-
 .../qemuxml2argv-hostdev-vfio-multidomain.args     |   3 +-
 .../qemuxml2argv-hostdev-vfio.args                 |   3 +-
 .../qemuxml2argv-hugepages-pages.args              |   2 +-
 .../qemuxml2argv-hugepages-pages2.args             |   2 +-
 .../qemuxml2argv-hugepages-pages3.args             |   2 +-
 .../qemuxml2argv-hugepages-pages5.args             |   2 +-
 .../qemuxml2argv-hugepages-pages6.args             |   2 +-
 .../qemuxml2argv-hugepages-shared.args             |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-hugepages.args |   2 +-
 .../qemuxml2argv-input-usbmouse-addr.args          |   3 +-
 .../qemuxml2argv-input-usbmouse.args               |   2 +-
 .../qemuxml2argv-input-usbtablet.args              |   2 +-
 .../qemuxml2argv-iothreads-ids-partial.args        |   2 +-
 .../qemuxml2argv-iothreads-ids.args                |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-iothreads.args |   2 +-
 .../qemuxml2argv-kvm-pit-delay.args                |   2 +-
 .../qemuxml2argv-kvm-pit-device.args               |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-lease.args     |   2 +-
 .../qemuxml2argv-machine-aliases1.args             |   2 +-
 .../qemuxml2argv-machine-aliases2.args             |   2 +-
 .../qemuxml2argv-machine-core-off.args             |   2 +-
 .../qemuxml2argv-machine-core-on.args              |   2 +-
 .../qemuxml2argv-machine-usb-opt.args              |   2 +-
 .../qemuxml2argv-machine-vmport-opt.args           |   2 +-
 .../qemuxml2argv-memory-hotplug-dimm-addr.args     |   3 +-
 .../qemuxml2argv-memory-hotplug-dimm.args          |   3 +-
 .../qemuxml2argv-memory-hotplug.args               |   2 +-
 .../qemuxml2argv-memtune-unlimited.args            |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-memtune.args   |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-metadata.args  |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-migrate.args   |   2 +-
 .../qemuxml2argv-minimal-msg-timestamp.args        |   2 +-
 .../qemuxml2argv-minimal-s390.args                 |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-minimal.args   |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args |   2 +-
 .../qemuxml2argv-misc-disable-s3.args              |   2 +-
 .../qemuxml2argv-misc-disable-suspends.args        |   2 +-
 .../qemuxml2argv-misc-enable-s4.args               |   2 +-
 .../qemuxml2argv-misc-no-reboot.args               |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args |   2 +-
 .../qemuxml2argv-monitor-json.args                 |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-net-client.args  |   2 +-
 .../qemuxml2argv-net-eth-ifname.args               |   2 +-
 .../qemuxml2argv-net-eth-names.args                |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-net-eth.args   |   2 +-
 .../qemuxml2argv-net-hostdev-multidomain.args      |   3 +-
 .../qemuxml2argv-net-hostdev-vfio-multidomain.args |   3 +-
 .../qemuxml2argv-net-hostdev-vfio.args             |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-net-hostdev.args |   3 +-
 tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-net-server.args  |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-net-udp.args   |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-net-user.args  |   2 +-
 .../qemuxml2argv-net-vhostuser-multiq.args         |   3 +-
 .../qemuxml2argv-net-vhostuser.args                |   3 +-
 .../qemuxml2argv-net-virtio-device.args            |   3 +-
 .../qemuxml2argv-net-virtio-disable-offloads.args  |   3 +-
 .../qemuxml2argv-net-virtio-netdev.args            |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-net-virtio.args  |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-no-shutdown.args |   3 +-
 .../qemuxml2argv-nographics-vga.args               |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-nographics.args  |   2 +-
 .../qemuxml2argv-nosharepages.args                 |   2 +-
 ...qemuxml2argv-numad-auto-memory-vcpu-cpuset.args |   2 +-
 ...d-auto-memory-vcpu-no-cpuset-and-placement.args |   2 +-
 ...muxml2argv-numad-auto-vcpu-static-numatune.args |   2 +-
 ...qemuxml2argv-numad-static-memory-auto-vcpu.args |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-numad.args     |   2 +-
 ...qemuxml2argv-numatune-auto-nodeset-invalid.args |   2 +-
 .../qemuxml2argv-numatune-memory.args              |   2 +-
 .../qemuxml2argv-panic-no-address.args             |   3 +-
 tests/qemuxml2argvdata/qemuxml2argv-panic.args     |   3 +-
 .../qemuxml2argv-parallel-parport-chardev.args     |   3 +-
 .../qemuxml2argv-parallel-tcp-chardev.args         |   3 +-
 .../qemuxml2argv-parallel-tcp.args                 |   2 +-
 .../qemuxml2argv-pci-autoadd-addr.args             |   3 +-
 .../qemuxml2argv-pci-autoadd-idx.args              |   3 +-
 tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args   |   3 +-
 .../qemuxml2argv-pci-serial-dev-chardev.args       |   3 +-
 .../qemuxml2argv-qemu-ns-no-env.args               |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args   |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-restore-v1.args  |   2 +-
 .../qemuxml2argv-restore-v2-fd.args                |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-restore-v2.args  |   2 +-
 .../qemuxml2argv-seclabel-dac-none.args            |   2 +-
 .../qemuxml2argv-seclabel-dynamic-baselabel.args   |   2 +-
 .../qemuxml2argv-seclabel-dynamic-labelskip.args   |   2 +-
 .../qemuxml2argv-seclabel-dynamic-override.args    |   4 +-
 .../qemuxml2argv-seclabel-dynamic-relabel.args     |   2 +-
 .../qemuxml2argv-seclabel-dynamic.args             |   2 +-
 .../qemuxml2argv-seclabel-none.args                |   2 +-
 .../qemuxml2argv-seclabel-static-labelskip.args    |   2 +-
 .../qemuxml2argv-seclabel-static-relabel.args      |   2 +-
 .../qemuxml2argv-seclabel-static.args              |   2 +-
 .../qemuxml2argv-serial-dev-chardev-iobase.args    |   3 +-
 .../qemuxml2argv-serial-dev-chardev.args           |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-serial-dev.args  |   2 +-
 .../qemuxml2argv-serial-file-chardev.args          |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-serial-file.args |   2 +-
 .../qemuxml2argv-serial-many-chardev.args          |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-serial-many.args |   2 +-
 .../qemuxml2argv-serial-pty-chardev.args           |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-serial-pty.args  |   2 +-
 .../qemuxml2argv-serial-spiceport-nospice.args     |   2 +-
 .../qemuxml2argv-serial-spiceport.args             |   3 +-
 .../qemuxml2argv-serial-tcp-chardev.args           |   3 +-
 .../qemuxml2argv-serial-tcp-telnet-chardev.args    |   3 +-
 .../qemuxml2argv-serial-tcp-telnet.args            |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-serial-tcp.args  |   2 +-
 .../qemuxml2argv-serial-udp-chardev.args           |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-serial-udp.args  |   2 +-
 .../qemuxml2argv-serial-unix-chardev.args          |   3 +-
 .../qemuxml2argvdata/qemuxml2argv-serial-unix.args |   2 +-
 .../qemuxml2argv-serial-vc-chardev.args            |   3 +-
 tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-smbios.args    |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-smp.args       |   2 +-
 .../qemuxml2argv-sound-device.args                 |   3 +-
 tests/qemuxml2argvdata/qemuxml2argv-sound.args     |   2 +-
 .../qemuxml2argv-video-device-pciaddr-default.args |   4 +-
 .../qemuxml2argv-video-qxl-device-vgamem.args      |   4 +-
 .../qemuxml2argv-video-qxl-device.args             |   4 +-
 .../qemuxml2argv-video-qxl-nodevice.args           |   2 +-
 .../qemuxml2argv-video-qxl-sec-device-vgamem.args  |   4 +-
 .../qemuxml2argv-video-qxl-sec-device.args         |   4 +-
 .../qemuxml2argv-video-vga-device-vgamem.args      |   4 +-
 .../qemuxml2argv-video-vga-device.args             |   4 +-
 .../qemuxml2argv-video-vga-nodevice.args           |   2 +-
 .../qemuxml2argv-watchdog-device.args              |   3 +-
 .../qemuxml2argv-watchdog-dump.args                |   2 +-
 .../qemuxml2argv-watchdog-injectnmi.args           |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-watchdog.args  |   2 +-
 tests/qemuxml2argvtest.c                           | 348 ++++++++++----------
 tests/qemuxml2xmltest.c                            |   1 -
 .../qemuxmlns-qemu-ns-commandline-ns0.args         |   2 +-
 .../qemuxmlns-qemu-ns-commandline-ns1.args         |   2 +-
 .../qemuxmlns-qemu-ns-commandline.args             |   2 +-
 .../qemuxmlns-qemu-ns-domain-commandline-ns0.args  |   2 +-
 .../qemuxmlns-qemu-ns-domain-commandline.args      |   2 +-
 .../qemuxmlns-qemu-ns-domain-ns0.args              |   2 +-
 tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args  |   2 +-
 220 files changed, 609 insertions(+), 685 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 79d1692..6ba32a8 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1088,6 +1088,7 @@ virQEMUCapsComputeCmdFlags(const char *help,
 {
     const char *p;
     const char *fsdev, *netdev;
+    const char *cache;
 
     if (strstr(help, "-no-kvm"))
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_KVM);
@@ -1104,29 +1105,27 @@ virQEMUCapsComputeCmdFlags(const char *help,
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_XEN_DOMID);
     else if (strstr(help, "-domid"))
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_DOMID);
-    if (strstr(help, "-drive")) {
-        const char *cache = strstr(help, "cache=");
-
-        virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE);
-        if (cache && (p = strchr(cache, ']'))) {
-            if (memmem(cache, p - cache, "on|off", sizeof("on|off") - 1) == NULL)
-                virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_V2);
-            if (memmem(cache, p - cache, "directsync", sizeof("directsync") - 1))
-                virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC);
-            if (memmem(cache, p - cache, "unsafe", sizeof("unsafe") - 1))
-                virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_UNSAFE);
-        }
-        if (strstr(help, "format="))
-            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT);
-        if (strstr(help, "readonly="))
-            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_READONLY);
-        if (strstr(help, "aio=threads|native"))
-            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_AIO);
-        if (strstr(help, "copy-on-read=on|off"))
-            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_COPY_ON_READ);
-        if (strstr(help, "bps="))
-            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE);
-    }
+
+    cache = strstr(help, "cache=");
+    if (cache && (p = strchr(cache, ']'))) {
+        if (memmem(cache, p - cache, "on|off", sizeof("on|off") - 1) == NULL)
+            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_V2);
+        if (memmem(cache, p - cache, "directsync", sizeof("directsync") - 1))
+            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC);
+        if (memmem(cache, p - cache, "unsafe", sizeof("unsafe") - 1))
+            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_UNSAFE);
+    }
+    if (strstr(help, "format="))
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT);
+    if (strstr(help, "readonly="))
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_READONLY);
+    if (strstr(help, "aio=threads|native"))
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_AIO);
+    if (strstr(help, "copy-on-read=on|off"))
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_COPY_ON_READ);
+    if (strstr(help, "bps="))
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE);
+
     if ((p = strstr(help, "-vga")) && !strstr(help, "-std-vga")) {
         const char *nl = strstr(p, "\n");
 
@@ -3214,7 +3213,6 @@ static qemuMonitorCallbacks callbacks = {
 static void
 virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps)
 {
-    virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_NAME);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_UUID);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_VNET_HDR);
@@ -3938,8 +3936,7 @@ virQEMUCapsFillDomainLoaderCaps(virQEMUCapsPtr qemuCaps,
     VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->type,
                              VIR_DOMAIN_LOADER_TYPE_ROM);
 
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE) &&
-        virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT))
+    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT))
         VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->type,
                                  VIR_DOMAIN_LOADER_TYPE_PFLASH);
 
@@ -4023,8 +4020,7 @@ virQEMUCapsFillDomainDeviceHostdevCaps(virQEMUCapsPtr qemuCaps,
     VIR_DOMAIN_CAPS_ENUM_SET(hostdev->subsysType,
                              VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB,
                              VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI);
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE) &&
-        virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) &&
+    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) &&
         virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC))
         VIR_DOMAIN_CAPS_ENUM_SET(hostdev->subsysType,
                                  VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI);
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 5b241b4..6f314d0 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -49,7 +49,7 @@ typedef enum {
     X_QEMU_CAPS_KQEMU, /* Whether KQEMU is compiled in */
     X_QEMU_CAPS_VNC_COLON, /* VNC takes or address + display */
     X_QEMU_CAPS_NO_REBOOT, /* Is the -no-reboot flag available */
-    QEMU_CAPS_DRIVE, /* Is the new -drive arg available */
+    X_QEMU_CAPS_DRIVE, /* Is the new -drive arg available */
     QEMU_CAPS_DRIVE_BOOT, /* Does -drive support boot=on */
 
     /* 5 */
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index df1eb89..75f7b48 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -777,20 +777,6 @@ int qemuDomainNetVLAN(virDomainNetDefPtr def)
 }
 
 
-/* Names used before -drive existed */
-static int qemuAssignDeviceDiskAliasLegacy(virDomainDiskDefPtr disk)
-{
-    char *dev_name;
-
-    if (VIR_STRDUP(dev_name,
-                   disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM &&
-                   STREQ(disk->dst, "hdc") ? "cdrom" : disk->dst) < 0)
-        return -1;
-    disk->info.alias = dev_name;
-    return 0;
-}
-
-
 char *qemuDeviceDriveHostAlias(virDomainDiskDefPtr disk,
                                virQEMUCapsPtr qemuCaps)
 {
@@ -970,14 +956,10 @@ qemuAssignDeviceDiskAlias(virDomainDefPtr vmdef,
                           virDomainDiskDefPtr def,
                           virQEMUCapsPtr qemuCaps)
 {
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE)) {
-        if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE))
-            return qemuAssignDeviceDiskAliasCustom(vmdef, def, qemuCaps);
-        else
-            return qemuAssignDeviceDiskAliasFixed(def);
-    } else {
-        return qemuAssignDeviceDiskAliasLegacy(def);
-    }
+    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE))
+        return qemuAssignDeviceDiskAliasCustom(vmdef, def, qemuCaps);
+    else
+        return qemuAssignDeviceDiskAliasFixed(def);
 }
 
 
@@ -9087,11 +9069,6 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd,
         break;
 
     case VIR_DOMAIN_LOADER_TYPE_PFLASH:
-        if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE)) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("this QEMU binary doesn't support -drive"));
-            goto cleanup;
-        }
         if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                            _("this QEMU binary doesn't support passing "
@@ -9270,6 +9247,7 @@ qemuBuildCommandLine(virConnectPtr conn,
     char *boot_order_str = NULL, *boot_opts_str = NULL;
     virBuffer fdc_opts = VIR_BUFFER_INITIALIZER;
     char *fdc_opts_str = NULL;
+    int bootCD = 0, bootFloppy = 0, bootDisk = 0;
 
     VIR_DEBUG("conn=%p driver=%p def=%p mon=%p json=%d "
               "qemuCaps=%p migrateFrom=%s migrateFD=%d "
@@ -10084,111 +10062,122 @@ qemuBuildCommandLine(virConnectPtr conn,
         VIR_FREE(optstr);
     }
 
-    /* If QEMU supports -drive param instead of old -hda, -hdb, -cdrom .. */
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE)) {
-        int bootCD = 0, bootFloppy = 0, bootDisk = 0;
-
-        if ((virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_BOOT) || emitBootindex)) {
-            /* bootDevs will get translated into either bootindex=N or boot=on
-             * depending on what qemu supports */
-            for (i = 0; i < def->os.nBootDevs; i++) {
-                switch (def->os.bootDevs[i]) {
-                case VIR_DOMAIN_BOOT_CDROM:
-                    bootCD = i + 1;
-                    break;
-                case VIR_DOMAIN_BOOT_FLOPPY:
-                    bootFloppy = i + 1;
-                    break;
-                case VIR_DOMAIN_BOOT_DISK:
-                    bootDisk = i + 1;
-                    break;
-                }
+    if ((virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_BOOT) || emitBootindex)) {
+        /* bootDevs will get translated into either bootindex=N or boot=on
+         * depending on what qemu supports */
+        for (i = 0; i < def->os.nBootDevs; i++) {
+            switch (def->os.bootDevs[i]) {
+            case VIR_DOMAIN_BOOT_CDROM:
+                bootCD = i + 1;
+                break;
+            case VIR_DOMAIN_BOOT_FLOPPY:
+                bootFloppy = i + 1;
+                break;
+            case VIR_DOMAIN_BOOT_DISK:
+                bootDisk = i + 1;
+                break;
             }
         }
+    }
 
-        for (i = 0; i < def->ndisks; i++) {
-            char *optstr;
-            int bootindex = 0;
-            virDomainDiskDefPtr disk = def->disks[i];
-            bool withDeviceArg = false;
-            bool deviceFlagMasked = false;
-
-            /* Unless we have -device, then USB disks need special
-               handling */
-            if ((disk->bus == VIR_DOMAIN_DISK_BUS_USB) &&
-                !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
-                if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) {
-                    virCommandAddArg(cmd, "-usbdevice");
-                    virCommandAddArgFormat(cmd, "disk:%s", disk->src->path);
-                } else {
-                    virReportError(VIR_ERR_INTERNAL_ERROR,
-                                   _("unsupported usb disk type for '%s'"),
-                                   disk->src->path);
-                    goto error;
-                }
-                continue;
-            }
-
-            /* PowerPC pseries based VMs do not support floppy device */
-            if ((disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) &&
-                ARCH_IS_PPC64(def->os.arch) && STRPREFIX(def->os.machine, "pseries")) {
-                virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                               _("PowerPC pseries machines do not support floppy device"));
+    for (i = 0; i < def->ndisks; i++) {
+        char *optstr;
+        int bootindex = 0;
+        virDomainDiskDefPtr disk = def->disks[i];
+        bool withDeviceArg = false;
+        bool deviceFlagMasked = false;
+
+        /* Unless we have -device, then USB disks need special
+           handling */
+        if ((disk->bus == VIR_DOMAIN_DISK_BUS_USB) &&
+            !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
+            if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) {
+                virCommandAddArg(cmd, "-usbdevice");
+                virCommandAddArgFormat(cmd, "disk:%s", disk->src->path);
+            } else {
+                virReportError(VIR_ERR_INTERNAL_ERROR,
+                               _("unsupported usb disk type for '%s'"),
+                               disk->src->path);
                 goto error;
             }
+            continue;
+        }
 
-            switch (disk->device) {
-            case VIR_DOMAIN_DISK_DEVICE_CDROM:
-                bootindex = bootCD;
-                bootCD = 0;
-                break;
-            case VIR_DOMAIN_DISK_DEVICE_FLOPPY:
-                bootindex = bootFloppy;
-                bootFloppy = 0;
-                break;
-            case VIR_DOMAIN_DISK_DEVICE_DISK:
-            case VIR_DOMAIN_DISK_DEVICE_LUN:
-                bootindex = bootDisk;
-                bootDisk = 0;
-                break;
+        /* PowerPC pseries based VMs do not support floppy device */
+        if ((disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) &&
+            ARCH_IS_PPC64(def->os.arch) && STRPREFIX(def->os.machine, "pseries")) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("PowerPC pseries machines do not support floppy device"));
+            goto error;
+        }
+
+        switch (disk->device) {
+        case VIR_DOMAIN_DISK_DEVICE_CDROM:
+            bootindex = bootCD;
+            bootCD = 0;
+            break;
+        case VIR_DOMAIN_DISK_DEVICE_FLOPPY:
+            bootindex = bootFloppy;
+            bootFloppy = 0;
+            break;
+        case VIR_DOMAIN_DISK_DEVICE_DISK:
+        case VIR_DOMAIN_DISK_DEVICE_LUN:
+            bootindex = bootDisk;
+            bootDisk = 0;
+            break;
+        }
+
+        virCommandAddArg(cmd, "-drive");
+
+        /* Unfortunately it is not possible to use
+           -device for floppies, xen PV, or SD
+           devices. Fortunately, those don't need
+           static PCI addresses, so we don't really
+           care that we can't use -device */
+        if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
+            if (disk->bus != VIR_DOMAIN_DISK_BUS_XEN &&
+                disk->bus != VIR_DOMAIN_DISK_BUS_SD) {
+                withDeviceArg = true;
+            } else {
+                virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE);
+                deviceFlagMasked = true;
             }
+        }
+        optstr = qemuBuildDriveStr(conn, disk,
+                                   emitBootindex ? false : !!bootindex,
+                                   qemuCaps);
+        if (deviceFlagMasked)
+            virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE);
+        if (!optstr)
+            goto error;
+        virCommandAddArg(cmd, optstr);
+        VIR_FREE(optstr);
 
-            virCommandAddArg(cmd, "-drive");
+        if (!emitBootindex)
+            bootindex = 0;
+        else if (disk->info.bootIndex)
+            bootindex = disk->info.bootIndex;
 
-            /* Unfortunately it is not possible to use
-               -device for floppies, xen PV, or SD
-               devices. Fortunately, those don't need
-               static PCI addresses, so we don't really
-               care that we can't use -device */
-            if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
-                if (disk->bus != VIR_DOMAIN_DISK_BUS_XEN &&
-                    disk->bus != VIR_DOMAIN_DISK_BUS_SD) {
-                    withDeviceArg = true;
+        if (withDeviceArg) {
+            if (disk->bus == VIR_DOMAIN_DISK_BUS_FDC) {
+                if (virAsprintf(&optstr, "drive%c=drive-%s",
+                                disk->info.addr.drive.unit ? 'B' : 'A',
+                                disk->info.alias) < 0)
+                    goto error;
+
+                if (!qemuDomainMachineNeedsFDC(def)) {
+                    virCommandAddArg(cmd, "-global");
+                    virCommandAddArgFormat(cmd, "isa-fdc.%s", optstr);
                 } else {
-                    virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE);
-                    deviceFlagMasked = true;
+                    virBufferAsprintf(&fdc_opts, "%s,", optstr);
                 }
-            }
-            optstr = qemuBuildDriveStr(conn, disk,
-                                       emitBootindex ? false : !!bootindex,
-                                       qemuCaps);
-            if (deviceFlagMasked)
-                virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE);
-            if (!optstr)
-                goto error;
-            virCommandAddArg(cmd, optstr);
-            VIR_FREE(optstr);
-
-            if (!emitBootindex)
-                bootindex = 0;
-            else if (disk->info.bootIndex)
-                bootindex = disk->info.bootIndex;
+                VIR_FREE(optstr);
 
-            if (withDeviceArg) {
-                if (disk->bus == VIR_DOMAIN_DISK_BUS_FDC) {
-                    if (virAsprintf(&optstr, "drive%c=drive-%s",
-                                    disk->info.addr.drive.unit ? 'B' : 'A',
-                                    disk->info.alias) < 0)
+                if (bootindex) {
+                    if (virAsprintf(&optstr, "bootindex%c=%d",
+                                    disk->info.addr.drive.unit
+                                    ? 'B' : 'A',
+                                    bootindex) < 0)
                         goto error;
 
                     if (!qemuDomainMachineNeedsFDC(def)) {
@@ -10198,126 +10187,25 @@ qemuBuildCommandLine(virConnectPtr conn,
                         virBufferAsprintf(&fdc_opts, "%s,", optstr);
                     }
                     VIR_FREE(optstr);
-
-                    if (bootindex) {
-                        if (virAsprintf(&optstr, "bootindex%c=%d",
-                                        disk->info.addr.drive.unit
-                                        ? 'B' : 'A',
-                                        bootindex) < 0)
-                            goto error;
-
-                        if (!qemuDomainMachineNeedsFDC(def)) {
-                            virCommandAddArg(cmd, "-global");
-                            virCommandAddArgFormat(cmd, "isa-fdc.%s", optstr);
-                        } else {
-                            virBufferAsprintf(&fdc_opts, "%s,", optstr);
-                        }
-                        VIR_FREE(optstr);
-                    }
-                } else {
-                    virCommandAddArg(cmd, "-device");
-
-                    if (!(optstr = qemuBuildDriveDevStr(def, disk, bootindex,
-                                                        qemuCaps)))
-                        goto error;
-                    virCommandAddArg(cmd, optstr);
-                    VIR_FREE(optstr);
-                }
-            }
-        }
-        /* Newer Q35 machine types require an explicit FDC controller */
-        virBufferTrim(&fdc_opts, ",", -1);
-        if ((fdc_opts_str = virBufferContentAndReset(&fdc_opts))) {
-            virCommandAddArg(cmd, "-device");
-            virCommandAddArgFormat(cmd, "isa-fdc,%s", fdc_opts_str);
-            VIR_FREE(fdc_opts_str);
-        }
-    } else {
-        for (i = 0; i < def->ndisks; i++) {
-            char dev[NAME_MAX];
-            char *file;
-            const char *fmt;
-            virDomainDiskDefPtr disk = def->disks[i];
-
-            if ((disk->src->type == VIR_STORAGE_TYPE_BLOCK) &&
-                (disk->tray_status == VIR_DOMAIN_DISK_TRAY_OPEN)) {
-                virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                               _("tray status 'open' is invalid for "
-                                 "block type disk"));
-                goto error;
-            }
-
-            if (disk->bus == VIR_DOMAIN_DISK_BUS_USB) {
-                if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) {
-                    virCommandAddArg(cmd, "-usbdevice");
-                    virCommandAddArgFormat(cmd, "disk:%s", disk->src->path);
-                } else {
-                    virReportError(VIR_ERR_INTERNAL_ERROR,
-                                   _("unsupported usb disk type for '%s'"),
-                                   disk->src->path);
-                    goto error;
-                }
-                continue;
-            }
-
-            if (STREQ(disk->dst, "hdc") &&
-                disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
-                if (disk->src->path) {
-                    snprintf(dev, NAME_MAX, "-%s", "cdrom");
-                } else {
-                    continue;
                 }
             } else {
-                if (STRPREFIX(disk->dst, "hd") ||
-                    STRPREFIX(disk->dst, "fd")) {
-                    snprintf(dev, NAME_MAX, "-%s", disk->dst);
-                } else {
-                    virReportError(VIR_ERR_INTERNAL_ERROR,
-                                   _("unsupported disk type '%s'"), disk->dst);
-                    goto error;
-                }
-            }
-
-            if (disk->src->type == VIR_STORAGE_TYPE_DIR) {
-                /* QEMU only supports magic FAT format for now */
-                if (disk->src->format > 0 &&
-                    disk->src->format != VIR_STORAGE_FILE_FAT) {
-                    virReportError(VIR_ERR_INTERNAL_ERROR,
-                                   _("unsupported disk driver type for '%s'"),
-                                   virStorageFileFormatTypeToString(disk->src->format));
-                    goto error;
-                }
-                if (!disk->src->readonly) {
-                    virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                                   _("cannot create virtual FAT disks in read-write mode"));
-                    goto error;
-                }
-                if (disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY)
-                    fmt = "fat:floppy:%s";
-                else
-                    fmt = "fat:%s";
+                virCommandAddArg(cmd, "-device");
 
-                if (virAsprintf(&file, fmt, disk->src) < 0)
-                    goto error;
-            } else if (disk->src->type == VIR_STORAGE_TYPE_NETWORK) {
-                virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                               _("network disks are only supported with -drive"));
-                goto error;
-            } else {
-                if (VIR_STRDUP(file, disk->src->path) < 0)
+                if (!(optstr = qemuBuildDriveDevStr(def, disk, bootindex,
+                                                    qemuCaps)))
                     goto error;
+                virCommandAddArg(cmd, optstr);
+                VIR_FREE(optstr);
             }
-
-            /* Don't start with source if the tray is open for
-             * CDROM and Floppy device.
-             */
-            if (!((disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY ||
-                   disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) &&
-                  disk->tray_status == VIR_DOMAIN_DISK_TRAY_OPEN))
-                virCommandAddArgList(cmd, dev, file, NULL);
-            VIR_FREE(file);
         }
     }
+    /* Newer Q35 machine types require an explicit FDC controller */
+    virBufferTrim(&fdc_opts, ",", -1);
+    if ((fdc_opts_str = virBufferContentAndReset(&fdc_opts))) {
+        virCommandAddArg(cmd, "-device");
+        virCommandAddArgFormat(cmd, "isa-fdc,%s", fdc_opts_str);
+        VIR_FREE(fdc_opts_str);
+    }
 
     if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_FSDEV)) {
         for (i = 0; i < def->nfss; i++) {
@@ -11170,8 +11058,7 @@ qemuBuildCommandLine(virConnectPtr conn,
         /* SCSI */
         if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
             hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) {
-            if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE) &&
-                virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) &&
+            if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) &&
                 virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) {
                 char *drvstr;
 
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 8f2fda9..110df3b 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1956,8 +1956,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn,
     bool teardowncgroup = false;
     bool teardownlabel = false;
 
-    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE) ||
-        !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE) ||
+    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE) ||
         !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                        _("SCSI passthrough is not supported by this version of qemu"));
diff --git a/tests/qemucapabilitiesdata/caps_1.2.2-1.caps b/tests/qemucapabilitiesdata/caps_1.2.2-1.caps
index 24a03e2..d639c2b 100644
--- a/tests/qemucapabilitiesdata/caps_1.2.2-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.2.2-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.3.1-1.caps b/tests/qemucapabilitiesdata/caps_1.3.1-1.caps
index 88b8dbc..60e3bea 100644
--- a/tests/qemucapabilitiesdata/caps_1.3.1-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.3.1-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.4.2-1.caps b/tests/qemucapabilitiesdata/caps_1.4.2-1.caps
index 635f2c6..98fe6f7 100644
--- a/tests/qemucapabilitiesdata/caps_1.4.2-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.4.2-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3-1.caps b/tests/qemucapabilitiesdata/caps_1.5.3-1.caps
index 5eb73c8..7df2f54 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.5.3-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0-1.caps b/tests/qemucapabilitiesdata/caps_1.6.0-1.caps
index 6f84a40..bdb6aff 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.6.0-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.50-1.caps b/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
index 55ae85f..14ea911 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1-1.caps b/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
index 1fa1d20..6283efd 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
+++ b/tests/qemucapabilitiesdata/caps_2.1.1-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemucaps2xmldata/all_1.6.0-1.caps b/tests/qemucaps2xmldata/all_1.6.0-1.caps
index 8d55141..95d173a 100644
--- a/tests/qemucaps2xmldata/all_1.6.0-1.caps
+++ b/tests/qemucaps2xmldata/all_1.6.0-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps b/tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps
index d091776..18f0897 100644
--- a/tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps
+++ b/tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='drive'/>
     <flag name='name'/>
     <flag name='uuid'/>
     <flag name='vnet-hdr'/>
diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c
index 4edf6ec..9c329c8 100644
--- a/tests/qemuhelptest.c
+++ b/tests/qemuhelptest.c
@@ -152,7 +152,6 @@ mymain(void)
     DO_TEST_FULL(name, version, is_kvm, kvm_version, VIR_ERR_OK, __VA_ARGS__)
 
     DO_TEST("qemu-0.12.1", 12001, 0, 0,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_NAME,
             QEMU_CAPS_UUID,
             QEMU_CAPS_MIGRATE_QEMU_TCP,
@@ -186,7 +185,6 @@ mymain(void)
             QEMU_CAPS_CPU_HOST,
             QEMU_CAPS_VNC);
     DO_TEST("qemu-kvm-0.12.1.2-rhel60", 12001, 1, 0,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_DRIVE_BOOT,
             QEMU_CAPS_NAME,
             QEMU_CAPS_UUID,
@@ -247,7 +245,6 @@ mymain(void)
             QEMU_CAPS_DEVICE_E1000,
             QEMU_CAPS_DEVICE_VIRTIO_NET);
     DO_TEST("qemu-kvm-0.12.3", 12003, 1, 0,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_DRIVE_BOOT,
             QEMU_CAPS_NAME,
             QEMU_CAPS_UUID,
@@ -288,7 +285,6 @@ mymain(void)
             QEMU_CAPS_CPU_HOST,
             QEMU_CAPS_VNC);
     DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_DRIVE_BOOT,
             QEMU_CAPS_NAME,
             QEMU_CAPS_UUID,
@@ -361,7 +357,6 @@ mymain(void)
             QEMU_CAPS_DEVICE_E1000,
             QEMU_CAPS_DEVICE_VIRTIO_NET);
     DO_TEST("qemu-kvm-0.12.1.2-rhel61", 12001, 1, 0,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_NAME,
             QEMU_CAPS_UUID,
             QEMU_CAPS_VNET_HDR,
@@ -429,7 +424,6 @@ mymain(void)
             QEMU_CAPS_DEVICE_E1000,
             QEMU_CAPS_DEVICE_VIRTIO_NET);
     DO_TEST("qemu-kvm-0.12.1.2-rhel62-beta", 12001, 1, 0,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_NAME,
             QEMU_CAPS_UUID,
             QEMU_CAPS_VNET_HDR,
@@ -505,7 +499,6 @@ mymain(void)
             QEMU_CAPS_DEVICE_E1000,
             QEMU_CAPS_DEVICE_VIRTIO_NET);
     DO_TEST("qemu-1.0", 1000000, 0, 0,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_NAME,
             QEMU_CAPS_UUID,
             QEMU_CAPS_MIGRATE_QEMU_TCP,
@@ -596,7 +589,6 @@ mymain(void)
             QEMU_CAPS_DEVICE_E1000,
             QEMU_CAPS_DEVICE_VIRTIO_NET);
     DO_TEST("qemu-1.1.0", 1001000, 0, 0,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_NAME,
             QEMU_CAPS_UUID,
             QEMU_CAPS_MIGRATE_QEMU_TCP,
diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c
index 2c5c48f..af64067 100644
--- a/tests/qemuhotplugtest.c
+++ b/tests/qemuhotplugtest.c
@@ -71,7 +71,6 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
         goto cleanup;
 
     /* for attach & detach qemu must support -device */
-    virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DRIVE);
     virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE);
     virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_NET_NAME);
     virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI);
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args
index cfb358c..6a7daed 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-auto.args
@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args
index 5f82539..43c1d96 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device-period.args
@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args
index 5f82539..43c1d96 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-balloon-device.args
@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-bios.args b/tests/qemuxml2argvdata/qemuxml2argv-bios.args
index 06cee20..de89365 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-bios.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-bios.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -serial pty \
 -device usb-tablet,id=input0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args b/tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-blkiotune-device.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args b/tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-blkiotune.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args
index 5fbc617..16686c6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot d \
 -usb \
--cdrom /dev/cdrom \
+-drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args
index 5f6ed7f..58613aa 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-floppy.args
@@ -14,8 +14,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot a \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
--fda /tmp/firmware.img \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
+-drive file=/tmp/firmware.img,if=floppy,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args
index f084992..8ed00c2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-menu-disable.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot order=d,menu=off \
 -usb \
--cdrom /dev/cdrom \
+-drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args
index ff9aa33..6fc1a23 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-multi.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot order=dcna,menu=on \
 -usb \
--cdrom /dev/cdrom \
+-drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-boot-network.args b/tests/qemuxml2argvdata/qemuxml2argv-boot-network.args
index 74f198b..8f11056 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-boot-network.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-boot-network.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot n \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
index b9ef218..3f5c289 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pipe,id=charchannel0,path=/tmp/guestfwd \
 -netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=user-channel0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
index 8ccadbd..c61f6d1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc-old.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \
 -boot c \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device spicevmc,bus=virtio-serial1.0,nr=3,id=channel0 \
 -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
 tls-channel=main \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
index 6be65d5..89a1133 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-spicevmc.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \
 -boot c \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev spicevmc,id=charchannel0,name=vdagent \
 -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
 id=channel0,name=com.redhat.spice.0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args
index c59c9ae..b1c22c5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-auto.args
@@ -21,7 +21,8 @@ addr=0x3 \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -device virtio-serial-pci,id=virtio-serial2,bus=pci.0,addr=0x4 \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
 id=channel0,name=org.linux-kvm.port.0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoadd.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoadd.args
index c94ea99..7f48cbf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoadd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoadd.args
@@ -20,7 +20,8 @@ QEMU_AUDIO_DRV=none \
 addr=0x3 \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0x4 \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
 id=channel0,name=org.linux-kvm.port.0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoassign.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoassign.args
index 410929e..0fca735 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoassign.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-autoassign.args
@@ -20,7 +20,8 @@ QEMU_AUDIO_DRV=none \
 addr=0x3 \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel0,\
 id=channel0,name=org.linux-kvm.port.0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-default.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-default.args
index 0e2e69d..6eefe4d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-default.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-default.args
@@ -19,7 +19,8 @@ QEMU_AUDIO_DRV=none \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
 id=channel0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-state.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-state.args
index 674a846..7c3a423 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-state.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-state.args
@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \
 -boot c \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
 id=channel0,name=org.linux-kvm.port.foo \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
index 95b02ee..533a2bd 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio-unix.args
@@ -19,7 +19,8 @@ QEMU_AUDIO_DRV=none \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev socket,id=charchannel0,\
 path=/tmp/domain-QEMUGuest1/org.qemu.guest_agent.0,server,nowait \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args
index 2ff7df0..fdd7279 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args
@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \
 -boot c \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
 id=channel0,name=org.linux-kvm.port.foo \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-catchup.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-catchup.args
index 4f5c1e2..59c30cb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-catchup.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-catchup.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-france.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-france.args
index a2bfc3d..f4503e3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-france.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-france.args
@@ -16,7 +16,7 @@ TZ=Europe/Paris \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-hpet-off.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-hpet-off.args
index 283bc01..8b57b95 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-hpet-off.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-hpet-off.args
@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args
index 5632c20..370c9f1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args
index 32296d1..c59dedf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args
index cfb358c..96829ad 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.args
@@ -10,11 +10,11 @@ QEMU_AUDIO_DRV=none \
 -m 214 \
 -smp 1 \
 -nographic \
--nodefconfig \
--nodefaults \
 -monitor unix:/tmp/test-monitor,server,nowait \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
--device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
+-net none \
+-serial none \
+-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml b/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml
index 138a83a..b40ca80 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-utc.xml
@@ -23,6 +23,6 @@
     <controller type='usb' index='0'/>
     <controller type='ide' index='0'/>
     <controller type='pci' index='0' model='pci-root'/>
-    <memballoon model='virtio'/>
+    <memballoon model='none'/>
   </devices>
 </domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
index 06c3263..15a9fd5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args
index 9fa4cb8..6aec302 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-auto.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial pty \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args
index a849c3f..9319597 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-compat-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-compat.args b/tests/qemuxml2argvdata/qemuxml2argv-console-compat.args
index 9fa4cb8..6aec302 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-compat.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-compat.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial pty \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args
index 95363b9..51b2d5f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio-many.args
@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \
 -boot c \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -chardev pty,id=charconsole1 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args
index 6630530..10856dd 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-console-virtio.args
@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \
 -boot c \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charconsole0 \
 -device virtconsole,chardev=charconsole0,id=console0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough-features.args b/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough-features.args
index 2dc9a96..44c27d9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough-features.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-host-passthrough-features.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cputune-zero-shares.args b/tests/qemuxml2argvdata/qemuxml2argv-cputune-zero-shares.args
index d14c6ce..f9028bb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-cputune-zero-shares.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cputune-zero-shares.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cputune.args b/tests/qemuxml2argvdata/qemuxml2argv-cputune.args
index d14c6ce..f9028bb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-cputune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cputune.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args
index a124208..829252b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom-tray-no-device-cap.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
+-drive if=ide,media=cdrom,bus=1,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args
index 9f55c2a..2d273dd 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.args
@@ -14,8 +14,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
--cdrom /root/boot.iso \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
+-drive file=/root/boot.iso,if=ide,media=cdrom,bus=1,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray-no-device-cap.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray-no-device-cap.args
index b83a9fb..97bab32 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray-no-device-cap.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy-tray-no-device-cap.args
@@ -14,8 +14,9 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
--fda /dev/fd0 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
+-drive file=/dev/fd0,if=floppy,unit=0 \
+-drive if=floppy,unit=1 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args
index c95f467..6cf7e2b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-floppy.args
@@ -14,9 +14,9 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
--fda /dev/fd0 \
--fdb /tmp/firmware.img \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
+-drive file=/dev/fd0,if=floppy,unit=0 \
+-drive file=/tmp/firmware.img,if=floppy,unit=1 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.args
index 8f23385..6f09c83 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-iscsi.args
@@ -14,8 +14,9 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/disk/by-path/ip-192.168.44.1:3260-iscsi-iqn.2011-02.lan.hdserver:\
-hydrar-desktop.win7vm-lun-0 \
+-drive file=/dev/disk/by-path/ip-192.168.44.1:\
+3260-iscsi-iqn.2011-02.lan.hdserver:hydrar-desktop.win7vm-lun-0,if=ide,bus=0,\
+unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-many.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-many.args
index 2eb5c44..e170135 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-many.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-many.args
@@ -14,10 +14,10 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
--hdb /dev/HostVG/QEMUGuest2 \
--hdc /tmp/data.img \
--hdd /tmp/logs.img \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,if=ide,bus=0,unit=1 \
+-drive file=/tmp/data.img,if=ide,bus=1,unit=0 \
+-drive file=/tmp/logs.img,if=ide,bus=1,unit=1 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args
index ebdba3e..9bbb3b7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-usb.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -usbdevice disk:/tmp/usbdisk.img \
 -net none \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-fips-enabled.args b/tests/qemuxml2argvdata/qemuxml2argv-fips-enabled.args
index 347e3db..1e7758b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-fips-enabled.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-fips-enabled.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-fs9p.args b/tests/qemuxml2argvdata/qemuxml2argv-fs9p.args
index 43f7b5f..ebce05a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-fs9p.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-fs9p.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
 -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,\
 bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
index 9821aa8..36b272e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl-fullscreen.args
@@ -14,7 +14,7 @@ DISPLAY=:0.1 \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
index 280832f..01ac3f1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-sdl.args
@@ -14,7 +14,7 @@ DISPLAY=:0.1 \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
index 698fc40..21dd062 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agent-file-xfer.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
 tls-channel=main,plaintext-channel=inputs,disable-agent-file-xfer \
 -vga qxl \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
index 55e5d54..ba215a1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-agentmouse.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \
 -boot c \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev spicevmc,id=charchannel0,name=vdagent \
 -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
 id=channel0,name=com.redhat.spice.0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
index 627df64..c463ad7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-compression.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
 image-compression=auto_glz,jpeg-wan-compression=auto,\
 zlib-glz-wan-compression=auto,playback-compression=on,streaming-video=filter \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
index 59b671b..7b319df 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-qxl-vga.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
 tls-channel=main,plaintext-channel=inputs \
 -vga qxl \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
index 326256f..a5349aa 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-sasl.args
@@ -15,7 +15,8 @@ QEMU_AUDIO_DRV=spice \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -spice port=5903,tls-port=5904,sasl,addr=127.0.0.1,\
 x509-dir=/etc/pki/libvirt-spice,tls-channel=default \
 -vga qxl \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
index 5d8f5ad..955bfc3 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
 tls-channel=default,tls-channel=main,plaintext-channel=inputs,\
 image-compression=auto_glz,jpeg-wan-compression=auto,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
index c253575..7831e0d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args
index fa97ce5..a9f2c36 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.args
index dce34b8..bd9deec 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-socket.args
@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args
index 9067ec0..1ed8ca1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args
index c5341cc..30cdc5a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc.args
@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args
index 116eeeb..e4b5f10 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest2 \
+-drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device pci-assign,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x3 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args
index 7a172d3..ff46d61 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest2 \
+-drive file=/dev/HostVG/QEMUGuest2,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device-boot.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device-boot.args
index a01ce79..79afe03 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device-boot.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device-boot.args
@@ -15,6 +15,7 @@ QEMU_AUDIO_DRV=none \
 -monitor unix:/tmp/test-monitor,server,nowait \
 -no-acpi \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device usb-host,hostbus=14,hostaddr=6,id=hostdev0,bootindex=1 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
index 2dea046..8cc3310 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device usb-host,hostbus=14,hostaddr=6,id=hostdev0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
index 6bc7274..b3591da 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio-multidomain.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio-multidomain.args
index a6df1d8..605cbee 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio-multidomain.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio-multidomain.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest2 \
+-drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device vfio-pci,host=55aa:20:0f.3,id=hostdev0,bus=pci.0,addr=0x3 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args
index 044f8eb..8e04e0c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hostdev-vfio.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest2 \
+-drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device vfio-pci,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x3 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
index 03f607e..d05fa97 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
@@ -29,7 +29,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=3,policy=bind
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
index 77ff6d3..db058a6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
@@ -20,7 +20,7 @@ mem-path=/dev/hugepages2M/libvirt/qemu,size=805306368 \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
index a6a5aa5..76afe8d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
@@ -19,7 +19,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=805306368 \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages5.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages5.args
index 49956a9..2368950 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages5.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages5.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages6.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages6.args
index 3ec7d3b..e55bfea 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages6.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages6.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-shared.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-shared.args
index b20156c..a93d20f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-shared.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-shared.args
@@ -29,7 +29,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=3,policy=bind
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
index a3e38bb..aad459d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args b/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args
index 52e3e7a..5d8fd06 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse-addr.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device usb-mouse,id=input0,bus=usb.0,port=4 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args b/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args
index cc462da..c138ce2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-input-usbmouse.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args b/tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args
index 0482380..145883d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-input-usbtablet.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args
index 884a24a..95ae95b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids-partial.args
@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args
index b041f51..07a5c5d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-iothreads-ids.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-iothreads.args b/tests/qemuxml2argvdata/qemuxml2argv-iothreads.args
index 0a2161d..88689be 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-iothreads.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-iothreads.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
index bf1f296..3f43ea7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
index 7f9d60a..880883b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-lease.args b/tests/qemuxml2argvdata/qemuxml2argv-lease.args
index 9f55c2a..21d605c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-lease.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-lease.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -cdrom /root/boot.iso \
 -net none \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args
index f13edad..c08226c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases1.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
index 2d25d5a..5ae1844 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-aliases2.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args
index a94639d..78f552f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-core-off.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args
index 30c4e89..8be1173 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-core-on.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args
index 6ffbf0e..61b310d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-usb-opt.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-machine-vmport-opt.args b/tests/qemuxml2argvdata/qemuxml2argv-machine-vmport-opt.args
index db28520..c431f16 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-machine-vmport-opt.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-machine-vmport-opt.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm-addr.args b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm-addr.args
index 5c7ec7d..f233c98 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm-addr.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm-addr.args
@@ -19,5 +19,6 @@ mem-path=/dev/hugepages2M/libvirt/qemu,size=536870912,host-nodes=1-3,policy=bind
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm.args b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm.args
index e3cd6dc..4fa9f3f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug-dimm.args
@@ -21,5 +21,6 @@ mem-path=/dev/hugepages2M/libvirt/qemu,size=536870912,host-nodes=1-3,policy=bind
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug.args b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug.args
index 2a7bc00..a422ca2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memory-hotplug.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memtune-unlimited.args b/tests/qemuxml2argvdata/qemuxml2argv-memtune-unlimited.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memtune-unlimited.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memtune-unlimited.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-memtune.args b/tests/qemuxml2argvdata/qemuxml2argv-memtune.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-memtune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-memtune.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-metadata.args b/tests/qemuxml2argvdata/qemuxml2argv-metadata.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-metadata.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-metadata.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-migrate.args b/tests/qemuxml2argvdata/qemuxml2argv-migrate.args
index 116a1ee..69d2e44 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-migrate.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-migrate.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal-msg-timestamp.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal-msg-timestamp.args
index f4928f7..de292a8 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-minimal-msg-timestamp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal-msg-timestamp.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
index 068c4a8..0951c04 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal-s390.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -monitor unix:/tmp/test-monitor,server,nowait \
 -no-acpi \
 -boot c \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=virtio \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-minimal.args b/tests/qemuxml2argvdata/qemuxml2argv-minimal.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-minimal.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-minimal.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args
index 10ea8b3..7371f8d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-acpi.args
@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
 -monitor unix:/tmp/test-monitor,server,nowait \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args
index 835c243..0da13aa 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-s3.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -global PIIX4_PM.disable_s3=1 \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args
index 1a2bc61..0503eae 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-disable-suspends.args
@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
 -global PIIX4_PM.disable_s4=1 \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args
index 58cfef7..703f8e7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-enable-s4.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -global PIIX4_PM.disable_s4=0 \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args
index 3ef9f5e..b8e5600 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-no-reboot.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args b/tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args
index f04944a..079923a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-misc-uuid.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -monitor unix:/tmp/test-monitor,server,nowait \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args b/tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args
index aa799c7..c709697 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-monitor-json.args
@@ -17,5 +17,6 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/hda1 \
+-drive file=/dev/hda1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-client.args b/tests/qemuxml2argvdata/qemuxml2argv-net-client.args
index 8e641fc..40a714b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-client.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-client.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139 \
 -net socket,connect=192.168.0.1:5558,vlan=0 \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args
index 946bd7a..8397241 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139 \
 -net tap,ifname=nic02,script=/etc/qemu-ifup,vlan=0 \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args
index d8e014a..f1c828e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
 -net tap,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
 -net nic,macaddr=00:11:22:33:44:56,vlan=1,model=e1000,name=net1 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth.args b/tests/qemuxml2argvdata/qemuxml2argv-net-eth.args
index 3adcd6b..b4f18fd 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139 \
 -net tap,script=/etc/qemu-ifup,vlan=0 \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-multidomain.args b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-multidomain.args
index 198bec5..923349f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-multidomain.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-multidomain.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device pci-assign,host=2424:21:1c.6,id=hostdev0,bus=pci.0,addr=0x3 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio-multidomain.args b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio-multidomain.args
index 5e32f4e..481748e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio-multidomain.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio-multidomain.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device vfio-pci,host=0021:de:1f.1,id=hostdev0,bus=pci.0,addr=0x3 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args
index 172f7bf..8b396a2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev-vfio.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device vfio-pci,host=03:07.1,id=hostdev0,bus=pci.0,addr=0x3 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args
index f36fe39..fe898fa 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-hostdev.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device pci-assign,host=03:07.1,id=hostdev0,bus=pci.0,addr=0x3 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args b/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
index 3708d2d..a227672 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139 \
 -net socket,mcast=192.0.0.1:5558,vlan=0 \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-server.args b/tests/qemuxml2argvdata/qemuxml2argv-net-server.args
index f2b1840..b2833c0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-server.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-server.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139 \
 -net socket,listen=192.168.0.1:5558,vlan=0 \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-udp.args b/tests/qemuxml2argvdata/qemuxml2argv-net-udp.args
index 8356586..4e67f38 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-udp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-udp.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139 \
 -net socket,udp=192.168.10.1:5555,localaddr=192.168.10.1:5556,vlan=0 \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-user.args b/tests/qemuxml2argvdata/qemuxml2argv-net-user.args
index 27670c0..a92d818 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-user.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-user.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139 \
 -net user,vlan=0 \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser-multiq.args b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser-multiq.args
index 5b5002e..d5abfc6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser-multiq.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser-multiq.args
@@ -15,7 +15,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev socket,id=charnet0,path=/tmp/vhost0.sock,server \
 -netdev type=vhost-user,id=hostnet0,chardev=charnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ee:96:6b,bus=pci.0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
index 0239c69..eaadea6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
@@ -15,7 +15,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev socket,id=charnet0,path=/tmp/vhost0.sock,server \
 -netdev type=vhost-user,id=hostnet0,chardev=charnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ee:96:6b,bus=pci.0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args
index dd381c4..19d8d73 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-net-pci,tx=bh,vlan=0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,\
 addr=0x3 \
 -net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.args
index b746a1c..1b7b1f5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-disable-offloads.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest7 \
+-drive file=/dev/HostVG/QEMUGuest7,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-net-pci,csum=off,gso=off,host_tso4=off,host_tso6=off,host_ecn=off,\
 host_ufo=off,mrg_rxbuf=off,guest_csum=off,guest_tso4=off,guest_tso6=off,\
 guest_ecn=off,guest_ufo=off,vlan=0,id=net0,mac=00:22:44:66:88:aa,bus=pci.0,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args
index cf41a54..6ba80c2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,\
 addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args
index 4227b3b..53afdfc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-virtio.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=virtio \
 -net user,vlan=0 \
 -serial none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args b/tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args
index da6ad0e..dd0c2f6 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-no-shutdown.args
@@ -18,5 +18,6 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/hda1 \
+-drive file=/dev/hda1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args b/tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args
index 07eeee0..b9963bc 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-nographics-vga.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-nographics.args b/tests/qemuxml2argvdata/qemuxml2argv-nographics.args
index a124208..96829ad 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-nographics.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-nographics.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args b/tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args
index c672c4c..4bb1fd4 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-nosharepages.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-cpuset.args b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-cpuset.args
index c92fb84..18cd862 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-cpuset.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-cpuset.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args
index c92fb84..18cd862 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-memory-vcpu-no-cpuset-and-placement.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-vcpu-static-numatune.args b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-vcpu-static-numatune.args
index c92fb84..18cd862 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-vcpu-static-numatune.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad-auto-vcpu-static-numatune.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad-static-memory-auto-vcpu.args b/tests/qemuxml2argvdata/qemuxml2argv-numad-static-memory-auto-vcpu.args
index c92fb84..18cd862 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad-static-memory-auto-vcpu.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad-static-memory-auto-vcpu.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numad.args b/tests/qemuxml2argvdata/qemuxml2argv-numad.args
index c92fb84..18cd862 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numad.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numad.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
index c92fb84..18cd862 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-nodeset-invalid.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args
index c92fb84..18cd862 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memory.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-panic-no-address.args b/tests/qemuxml2argvdata/qemuxml2argv-panic-no-address.args
index ba381e8..eb4af11 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-panic-no-address.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-panic-no-address.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
 -device pvpanic
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-panic.args b/tests/qemuxml2argvdata/qemuxml2argv-panic.args
index 44c5b70..b3ea3df 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-panic.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-panic.args
@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
 -device pvpanic,ioport=1285
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args
index fb9aa15..acaf86a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-parallel-parport-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev parport,id=charparallel0,path=/dev/parport0 \
 -device isa-parallel,chardev=charparallel0,id=parallel0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args
index 6910d06..806bfbf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev socket,id=charparallel0,host=127.0.0.1,port=9999,server,nowait \
 -device isa-parallel,chardev=charparallel0,id=parallel0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args
index 1aed6fc..0546fed 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-parallel-tcp.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel tcp:127.0.0.1:9999,server,nowait
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args
index 4db7c7a..3cf4546 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-addr.args
@@ -21,5 +21,6 @@ QEMU_AUDIO_DRV=none \
 -device pci-bridge,chassis_nr=6,id=pci.6,bus=pci.0,addr=0x8 \
 -device pci-bridge,chassis_nr=7,id=pci.7,bus=pci.0,addr=0x9 \
 -usb \
--cdrom /var/iso/f18kde.iso \
+-drive file=/var/iso/f18kde.iso,if=none,media=cdrom,id=drive-ide0-1-0 \
+-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.7,addr=0x6
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args
index 8f24221..7b23f0a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-autoadd-idx.args
@@ -22,5 +22,6 @@ QEMU_AUDIO_DRV=none \
 -device pci-bridge,chassis_nr=6,id=pci.6,bus=pci.0,addr=0x9 \
 -device pci-bridge,chassis_nr=7,id=pci.7,bus=pci.0,addr=0xa \
 -usb \
--cdrom /var/iso/f18kde.iso \
+-drive file=/var/iso/f18kde.iso,if=none,media=cdrom,id=drive-ide0-1-0 \
+-device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x6
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args
index 732403d..c5d67d2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-rom.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest2 \
+-drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:24:a5:9f,bus=pci.0,addr=0x3,\
 rombar=1 \
 -net user,vlan=0,name=hostnet0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-pci-serial-dev-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-pci-serial-dev-chardev.args
index 273f72c..8b112b7 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-pci-serial-dev-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-pci-serial-dev-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev tty,id=charserial0,path=/dev/ttyS2 \
 -device pci-serial,chardev=charserial0,id=serial0,bus=pci.0,addr=0x4 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args
index 2fa8e38..ee62fcf 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns-no-env.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args
index a208c80..64b13e0 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-qemu-ns.args
@@ -16,7 +16,7 @@ BAR='' \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-restore-v1.args b/tests/qemuxml2argvdata/qemuxml2argv-restore-v1.args
index 7cd8864..a667f0f 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-restore-v1.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-restore-v1.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args
index 8778d5c..2c53a4b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2-fd.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args
index 1d5de00..1720592 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-restore-v2.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dac-none.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dac-none.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dac-none.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dac-none.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-baselabel.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-labelskip.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args
index df3e9e0..7c8123a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-override.args
@@ -15,8 +15,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
--hdb /dev/HostVG/QEMUGuest2 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
+-drive file=/dev/HostVG/QEMUGuest2,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-relabel.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-relabel.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-relabel.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-relabel.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-none.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-relabel.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-static.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev-iobase.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev-iobase.args
index a7ebe3f..6c6e21e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev-iobase.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev-iobase.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev tty,id=charserial0,path=/dev/ttyS2 \
 -device isa-serial,chardev=charserial0,id=serial0,iobase=0x3f8,irq=0x4 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args
index 8383c6e..43aae53 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev tty,id=charserial0,path=/dev/ttyS2 \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args
index f34e75a..26d6361 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-dev.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial /dev/ttyS2 \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args
index 33830a9..e6efc3b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev file,id=charserial0,path=/tmp/serial.log \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-file.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-file.args
index bc1b2f6..bce0d14 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-file.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-file.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial file:/tmp/serial.log \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args
index 99e1ece..2c8d645 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-many-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -chardev file,id=charserial1,path=/tmp/serial.log \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-many.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-many.args
index ef29c3b..555c01d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-many.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-many.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial pty \
 -serial file:/tmp/serial.log \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args
index a849c3f..9319597 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args
index 9fa4cb8..6aec302 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-pty.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial pty \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport-nospice.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport-nospice.args
index ffb6c3a..903d23e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport-nospice.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport-nospice.args
@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
index b65acf6..230aec1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-spiceport.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev spiceport,id=charserial0,name=org.qemu.console.serial.0 \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device usb-tablet,id=input0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args
index dcb04b2..b0e487a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev socket,id=charserial0,host=127.0.0.1,port=9999 \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args
index ab1a87b..e3e29eb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev socket,id=charserial0,host=127.0.0.1,port=9999,telnet,server,nowait \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args
index 3c751d7..a2bd2cd 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-telnet.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial telnet:127.0.0.1:9999,server,nowait \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args
index 75ed31d..061579c 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial tcp:127.0.0.1:9999 \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args
index 75ce912..6633e45 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev udp,id=charserial0,host=127.0.0.1,port=9998,localaddr=127.0.0.1,\
 localport=9999 \
 -device isa-serial,chardev=charserial0,id=serial0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args
index df355c7..382d878 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-udp.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial udp:127.0.0.1:9998@127.0.0.1:9999 \
 -serial udp::9999@:0 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args
index d1cb543..cacf588 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev socket,id=charserial0,path=/tmp/serial.sock \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args
index 7ea3e6a..f4be86b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-unix.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial unix:/tmp/serial.sock \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args
index 6dbca3e..0671173 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc-chardev.args
@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -chardev vc,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args
index 324df17..5ec3a05 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-vc.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial vc \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-smbios.args b/tests/qemuxml2argvdata/qemuxml2argv-smbios.args
index 5c5d9c1..82d8b94 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-smbios.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-smbios.args
@@ -20,7 +20,7 @@ serial=CZC1065993,asset=CZC1065993,location=Upside down' \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-smp.args b/tests/qemuxml2argvdata/qemuxml2argv-smp.args
index 2c849c0..b185b31 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-smp.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-smp.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-sound-device.args b/tests/qemuxml2argvdata/qemuxml2argv-sound-device.args
index 0bf0fd4..eac6954 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-sound-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-sound-device.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -soundhw pcspk \
 -device ES1370,id=sound1,bus=pci.0,addr=0x3 \
 -device sb16,id=sound2 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-sound.args b/tests/qemuxml2argvdata/qemuxml2argv-sound.args
index b5ce69c..f9ffd6e 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-sound.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-sound.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args b/tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args
index d62ef95..8d7289d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-device-pciaddr-default.args
@@ -14,7 +14,9 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
+cache=off \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -vnc 127.0.0.1:-5900 \
 -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,\
 addr=0x3 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args
index e0642e6..c32f732 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args
@@ -15,7 +15,9 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
+cache=off \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,\
 bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args
index 6250cb5..6ea5b2b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args
@@ -15,7 +15,9 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
+cache=off \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,\
 addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args
index 14df37a..1becac9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=ide,bus=0,unit=0,cache=off \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args
index 3dd55bc..90bf011 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args
@@ -15,7 +15,9 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
+cache=off \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,\
 bus=pci.0,addr=0x2 \
 -device qxl,id=video1,ram_size=67108864,vram_size=67108864,vgamem_mb=16,\
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args
index 388c346..22de9de 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args
@@ -15,7 +15,9 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
+cache=off \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,\
 addr=0x2 \
 -device qxl,id=video1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x4 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args
index 0c34393..280d84d 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args
@@ -15,6 +15,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
+cache=off \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args
index 58a2107..2daa002 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args
@@ -15,6 +15,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=none,id=drive-ide0-0-0,\
+cache=off \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device VGA,id=video0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args
index c0f9274..95324be 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /var/lib/libvirt/images/QEMUGuest1 \
+-drive file=/var/lib/libvirt/images/QEMUGuest1,if=ide,bus=0,unit=0,cache=off \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args
index 6c74805..c55c7bb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-device.args
@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
+-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
 -device ib700,id=watchdog0 \
 -watchdog-action poweroff \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args
index 740fc58..85f6ea5 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-dump.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-injectnmi.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-injectnmi.args
index 8184206..44bdab2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog-injectnmi.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog-injectnmi.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-watchdog.args b/tests/qemuxml2argvdata/qemuxml2argv-watchdog.args
index 277195d..5edbee2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-watchdog.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-watchdog.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none \
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 3842bc6..8f2a749 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -611,44 +611,44 @@ mymain(void)
     DO_TEST("boot-floppy-q35",
             QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_ICH9_AHCI);
+            QEMU_CAPS_ICH9_AHCI);
     DO_TEST("bootindex-floppy-q35",
             QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_ICH9_AHCI, QEMU_CAPS_BOOT_MENU,
+            QEMU_CAPS_ICH9_AHCI, QEMU_CAPS_BOOT_MENU,
             QEMU_CAPS_BOOTINDEX);
     DO_TEST("boot-multi", QEMU_CAPS_BOOT_MENU);
     DO_TEST("boot-menu-enable",
-            QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE);
+            QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE);
     DO_TEST("boot-menu-enable",
-            QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE,
             QEMU_CAPS_BOOTINDEX);
     DO_TEST("boot-menu-enable-with-timeout",
             QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_SPLASH_TIMEOUT);
+            QEMU_CAPS_SPLASH_TIMEOUT);
     DO_TEST_FAILURE("boot-menu-enable-with-timeout", QEMU_CAPS_BOOT_MENU);
     DO_TEST_PARSE_ERROR("boot-menu-enable-with-timeout-invalid", NONE);
     DO_TEST("boot-menu-disable", QEMU_CAPS_BOOT_MENU);
     DO_TEST("boot-menu-disable-drive",
-            QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE);
+            QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE);
     DO_TEST("boot-menu-disable-drive-bootindex",
-            QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_BOOT_MENU, QEMU_CAPS_DEVICE,
             QEMU_CAPS_BOOTINDEX);
     DO_TEST_PARSE_ERROR("boot-dev+order",
-            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE,
+            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
     DO_TEST("boot-order",
-            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE,
+            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
     DO_TEST("boot-complex",
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_BOOT,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
     DO_TEST("boot-complex-bootindex",
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_BOOT,
             QEMU_CAPS_BOOTINDEX,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
     DO_TEST("boot-strict",
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_BOOT,
             QEMU_CAPS_BOOTINDEX, QEMU_CAPS_BOOT_STRICT,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
 
@@ -657,9 +657,9 @@ mymain(void)
     DO_TEST_FAILURE("reboot-timeout-enabled", NONE);
 
     DO_TEST("bios", QEMU_CAPS_DEVICE, QEMU_CAPS_SGA);
-    DO_TEST("bios-nvram", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("bios-nvram", QEMU_CAPS_DEVICE,
             QEMU_CAPS_DRIVE_FORMAT, QEMU_CAPS_DRIVE_READONLY);
-    DO_TEST("clock-utc", QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE);
+    DO_TEST("clock-utc", QEMU_CAPS_NODEFCONFIG);
     DO_TEST("clock-localtime", NONE);
     DO_TEST("clock-localtime-basis-localtime", QEMU_CAPS_RTC);
     DO_TEST("clock-variable", QEMU_CAPS_RTC);
@@ -674,7 +674,7 @@ mymain(void)
 
     DO_TEST("cpu-eoi-disabled", QEMU_CAPS_ENABLE_KVM);
     DO_TEST("cpu-eoi-enabled", QEMU_CAPS_ENABLE_KVM);
-    DO_TEST("controller-order", QEMU_CAPS_DRIVE, QEMU_CAPS_PCIDEVICE,
+    DO_TEST("controller-order", QEMU_CAPS_PCIDEVICE,
             QEMU_CAPS_KVM, QEMU_CAPS_DEVICE, QEMU_CAPS_ENABLE_KVM,
             QEMU_CAPS_BOOT_MENU, QEMU_CAPS_PIIX3_USB_UHCI,
             QEMU_CAPS_PCI_MULTIFUNCTION, QEMU_CAPS_DRIVE_AIO,
@@ -698,7 +698,7 @@ mymain(void)
     DO_TEST("hugepages", QEMU_CAPS_MEM_PATH);
     DO_TEST("hugepages-numa", QEMU_CAPS_RTC, QEMU_CAPS_NO_KVM_PIT,
             QEMU_CAPS_DISABLE_S3, QEMU_CAPS_DISABLE_S4,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_ICH9_USB_EHCI1, QEMU_CAPS_PCI_MULTIFUNCTION,
             QEMU_CAPS_SPICE, QEMU_CAPS_CHARDEV_SPICEVMC,
             QEMU_CAPS_VGA, QEMU_CAPS_VGA_QXL,
@@ -723,213 +723,204 @@ mymain(void)
     DO_TEST("nosharepages", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MEM_MERGE);
     DO_TEST("disk-cdrom", NONE);
     DO_TEST("disk-iscsi", NONE);
-    DO_TEST("disk-cdrom-network-http", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE);
-    DO_TEST("disk-cdrom-network-https", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE);
-    DO_TEST("disk-cdrom-network-ftp", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE);
-    DO_TEST("disk-cdrom-network-ftps", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE);
-    DO_TEST("disk-cdrom-network-tftp", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE);
-    DO_TEST("disk-cdrom-empty", QEMU_CAPS_DRIVE);
+    DO_TEST("disk-cdrom-network-http", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE);
+    DO_TEST("disk-cdrom-network-https", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE);
+    DO_TEST("disk-cdrom-network-ftp", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE);
+    DO_TEST("disk-cdrom-network-ftps", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE);
+    DO_TEST("disk-cdrom-network-tftp", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE);
+    DO_TEST("disk-cdrom-empty", NONE);
     DO_TEST("disk-cdrom-tray",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_TX_ALG);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_TX_ALG);
     DO_TEST("disk-cdrom-tray-no-device-cap", NONE);
     DO_TEST("disk-floppy", NONE);
-    DO_TEST_FAILURE("disk-floppy-pseries", QEMU_CAPS_DRIVE);
+    DO_TEST_FAILURE("disk-floppy-pseries", NONE);
     DO_TEST("disk-floppy-tray-no-device-cap", NONE);
     DO_TEST("disk-floppy-tray",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE);
-    DO_TEST("disk-virtio-s390", QEMU_CAPS_DRIVE,
+            QEMU_CAPS_DEVICE);
+    DO_TEST("disk-virtio-s390",
             QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_S390);
     DO_TEST("disk-many", NONE);
-    DO_TEST("disk-virtio", QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT);
-    DO_TEST("disk-virtio-ccw", QEMU_CAPS_DRIVE,
+    DO_TEST("disk-virtio", QEMU_CAPS_DRIVE_BOOT);
+    DO_TEST("disk-virtio-ccw",
             QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
-    DO_TEST("disk-virtio-ccw-many", QEMU_CAPS_DRIVE,
+    DO_TEST("disk-virtio-ccw-many",
             QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
-    DO_TEST("disk-virtio-scsi-ccw", QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI,
+    DO_TEST("disk-virtio-scsi-ccw", QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST("disk-order",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_BOOT,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_BOOT,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
-    DO_TEST("disk-xenvbd", QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT);
+    DO_TEST("disk-xenvbd", QEMU_CAPS_DRIVE_BOOT);
     DO_TEST("disk-drive-boot-disk",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT);
+            QEMU_CAPS_DRIVE_BOOT);
     DO_TEST("disk-drive-boot-cdrom",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT);
+            QEMU_CAPS_DRIVE_BOOT);
     DO_TEST("floppy-drive-fat",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-fat",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-readonly-disk",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_READONLY,
+            QEMU_CAPS_DRIVE_READONLY,
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-drive-readonly-no-device",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_NODEFCONFIG);
+            QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-drive-fmt-qcow",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-shared",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT, QEMU_CAPS_DRIVE_SERIAL);
+            QEMU_CAPS_DRIVE_FORMAT, QEMU_CAPS_DRIVE_SERIAL);
     DO_TEST("disk-drive-cache-v1-wt",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-cache-v1-wb",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-cache-v1-none",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-error-policy-stop",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_MONITOR_JSON, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_MONITOR_JSON, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-error-policy-enospace",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_MONITOR_JSON, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_MONITOR_JSON, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-error-policy-wreport-rignore",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_MONITOR_JSON, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_MONITOR_JSON, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-cache-v2-wt",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-cache-v2-wb",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-cache-v2-none",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-cache-directsync",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2,
+            QEMU_CAPS_DRIVE_CACHE_V2,
             QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-cache-unsafe",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2,
+            QEMU_CAPS_DRIVE_CACHE_V2,
             QEMU_CAPS_DRIVE_CACHE_UNSAFE, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-copy-on-read",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2,
+            QEMU_CAPS_DRIVE_CACHE_V2,
             QEMU_CAPS_DRIVE_COPY_ON_READ, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-nbd",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-nbd-export",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-nbd-ipv6",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-nbd-ipv6-export",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-nbd-unix",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-iscsi",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-iscsi-auth",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-iscsi-lun",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_FORMAT,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE_FORMAT,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_VIRTIO_BLK_SG_IO, QEMU_CAPS_SCSI_BLOCK);
     DO_TEST("disk-drive-network-gluster",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-rbd",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-sheepdog",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-rbd-auth",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-network-rbd-ipv6",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST_FAILURE("disk-drive-network-rbd-no-colon",
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_FORMAT);
+                    QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-drive-no-boot",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_BOOTINDEX);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_BOOTINDEX);
     DO_TEST_PARSE_ERROR("disk-device-lun-type-invalid",
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_SCSI);
+                    QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-usb",  NONE);
     DO_TEST("disk-usb-device",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_USB_STORAGE,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_USB_STORAGE,
             QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-usb-device-removable",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_USB_STORAGE,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_USB_STORAGE,
             QEMU_CAPS_USB_STORAGE_REMOVABLE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST_FAILURE("disk-usb-pci",
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE,
+                    QEMU_CAPS_DEVICE,
                     QEMU_CAPS_DEVICE_USB_STORAGE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-scsi-device",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_LSI);
     DO_TEST("disk-scsi-device-auto",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_LSI);
     DO_TEST("disk-scsi-disk-split",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_CD, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-scsi-disk-wwn",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_CD, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_SCSI_DISK_WWN);
     DO_TEST("disk-scsi-disk-vpd",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_CD, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_SCSI_DISK_WWN);
     DO_TEST_FAILURE("disk-scsi-disk-vpd-build-error",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_CD, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_SCSI_DISK_WWN);
     DO_TEST("disk-scsi-vscsi",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-scsi-virtio-scsi",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-virtio-scsi-num_queues",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-virtio-scsi-cmd_per_lun",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-virtio-scsi-max_sectors",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-virtio-scsi-ioeventfd",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_VIRTIO_IOEVENTFD, QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-scsi-megasas",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SCSI_MEGASAS);
     DO_TEST("disk-sata-device",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE,
+            QEMU_CAPS_DEVICE,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_ICH9_AHCI);
     DO_TEST("disk-aio",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_AIO,
+            QEMU_CAPS_DRIVE_AIO,
             QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST("disk-source-pool",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-source-pool-mode",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-ioeventfd",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_IOEVENTFD,
+            QEMU_CAPS_VIRTIO_IOEVENTFD,
             QEMU_CAPS_VIRTIO_TX_ALG, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
     DO_TEST("disk-copy_on_read",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_COPY_ON_READ,
+            QEMU_CAPS_DRIVE_COPY_ON_READ,
             QEMU_CAPS_VIRTIO_TX_ALG, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
     DO_TEST("disk-drive-discard",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_DISCARD,
+            QEMU_CAPS_DRIVE_DISCARD,
             QEMU_CAPS_DEVICE);
     DO_TEST("disk-snapshot",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
+            QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
     DO_TEST_FAILURE("disk-same-targets",
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_SCSI_LSI,
+                    QEMU_CAPS_DEVICE, QEMU_CAPS_SCSI_LSI,
                     QEMU_CAPS_DEVICE_USB_STORAGE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("event_idx",
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_VIRTIO_BLK_EVENT_IDX,
             QEMU_CAPS_VIRTIO_NET_EVENT_IDX,
             QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
     DO_TEST("virtio-lun",
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_BLK_SCSI, QEMU_CAPS_VIRTIO_BLK_SG_IO);
     DO_TEST("disk-scsi-lun-passthrough",
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_DEVICE,
             QEMU_CAPS_SCSI_BLOCK, QEMU_CAPS_VIRTIO_BLK_SG_IO,
             QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("disk-serial",
             QEMU_CAPS_KVM,
             QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE,
             QEMU_CAPS_DRIVE_SERIAL);
 
     DO_TEST("graphics-vnc", QEMU_CAPS_VNC);
@@ -976,7 +967,7 @@ mymain(void)
             QEMU_CAPS_DEVICE, QEMU_CAPS_SPICE,
             QEMU_CAPS_DEVICE_QXL);
     DO_TEST("graphics-spice-timeout",
-            QEMU_CAPS_KVM, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_KVM,
             QEMU_CAPS_VGA, QEMU_CAPS_VGA_QXL,
             QEMU_CAPS_DEVICE, QEMU_CAPS_SPICE,
             QEMU_CAPS_DEVICE_QXL_VGA);
@@ -1117,14 +1108,14 @@ mymain(void)
             QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("console-virtio-s390",
             QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_S390);
+            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_S390);
     DO_TEST("console-virtio-ccw",
             QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_CCW,
+            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_CCW,
             QEMU_CAPS_VIRTIO_S390);
     DO_TEST("console-sclp",
             QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_SCLP_S390);
+            QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_SCLP_S390);
     DO_TEST("channel-spicevmc",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_SPICE, QEMU_CAPS_CHARDEV_SPICEVMC);
@@ -1223,7 +1214,7 @@ mymain(void)
     DO_TEST("watchdog-injectnmi", NONE);
     DO_TEST("watchdog-diag288",
             QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_S390);
+            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_S390);
     DO_TEST("balloon-device", QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("balloon-device-auto",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
@@ -1239,7 +1230,7 @@ mymain(void)
             QEMU_CAPS_FSDEV_WRITEOUT);
     DO_TEST("fs9p-ccw",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_FSDEV,
-            QEMU_CAPS_FSDEV_WRITEOUT, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_FSDEV_WRITEOUT,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
 
     DO_TEST("hostdev-usb-address", NONE);
@@ -1284,10 +1275,9 @@ mymain(void)
     DO_TEST("iothreads-ids", QEMU_CAPS_OBJECT_IOTHREAD);
     DO_TEST("iothreads-ids-partial", QEMU_CAPS_OBJECT_IOTHREAD);
     DO_TEST_FAILURE("iothreads-nocap", NONE);
-    DO_TEST("iothreads-disk", QEMU_CAPS_OBJECT_IOTHREAD, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE);
+    DO_TEST("iothreads-disk", QEMU_CAPS_OBJECT_IOTHREAD, QEMU_CAPS_DEVICE);
     DO_TEST("iothreads-disk-virtio-ccw", QEMU_CAPS_OBJECT_IOTHREAD, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
+            QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
 
     DO_TEST("cpu-topology1", QEMU_CAPS_SMP_TOPOLOGY);
     DO_TEST("cpu-topology2", QEMU_CAPS_SMP_TOPOLOGY);
@@ -1365,13 +1355,13 @@ mymain(void)
     DO_TEST("numad-auto-memory-vcpu-no-cpuset-and-placement", NONE);
     DO_TEST("numad-static-memory-auto-vcpu", NONE);
     DO_TEST("blkdeviotune", QEMU_CAPS_NAME, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_IOTUNE);
+            QEMU_CAPS_DRIVE_IOTUNE);
     DO_TEST("blkdeviotune-max", QEMU_CAPS_NAME, QEMU_CAPS_DEVICE,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_IOTUNE,
+            QEMU_CAPS_DRIVE_IOTUNE,
             QEMU_CAPS_DRIVE_IOTUNE_MAX);
 
     DO_TEST("multifunction-pci-device",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_PCI_MULTIFUNCTION, QEMU_CAPS_SCSI_LSI);
 
     DO_TEST("monitor-json", QEMU_CAPS_DEVICE,
@@ -1395,19 +1385,19 @@ mymain(void)
 
     DO_TEST("pseries-basic",
             QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
-    DO_TEST("pseries-vio", QEMU_CAPS_DRIVE,
+    DO_TEST("pseries-vio",
             QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
-    DO_TEST("pseries-usb-default", QEMU_CAPS_DRIVE,
+    DO_TEST("pseries-usb-default",
             QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_PIIX3_USB_UHCI,
             QEMU_CAPS_PCI_OHCI, QEMU_CAPS_PCI_MULTIFUNCTION);
-    DO_TEST("pseries-usb-multi", QEMU_CAPS_DRIVE,
+    DO_TEST("pseries-usb-multi",
             QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_PIIX3_USB_UHCI,
             QEMU_CAPS_PCI_OHCI, QEMU_CAPS_PCI_MULTIFUNCTION);
-    DO_TEST("pseries-vio-user-assigned", QEMU_CAPS_DRIVE,
+    DO_TEST("pseries-vio-user-assigned",
             QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
-    DO_TEST_ERROR("pseries-vio-address-clash", QEMU_CAPS_DRIVE,
+    DO_TEST_ERROR("pseries-vio-address-clash",
             QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("pseries-nvram", QEMU_CAPS_DEVICE_NVRAM);
     DO_TEST("pseries-usb-kbd", QEMU_CAPS_PCI_OHCI,
@@ -1426,15 +1416,15 @@ mymain(void)
     DO_TEST_FAILURE("pseries-panic-address",
                     QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
     DO_TEST("disk-ide-drive-split",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_IDE_CD);
     DO_TEST("disk-ide-wwn",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_IDE_CD,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_IDE_CD,
             QEMU_CAPS_DRIVE_SERIAL, QEMU_CAPS_IDE_DRIVE_WWN);
 
-    DO_TEST("disk-geometry", QEMU_CAPS_DRIVE);
+    DO_TEST("disk-geometry", NONE);
     DO_TEST("disk-blockio",
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_IDE_CD, QEMU_CAPS_BLOCKIO);
 
     DO_TEST("video-device-pciaddr-default",
@@ -1474,18 +1464,18 @@ mymain(void)
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_EGD);
     DO_TEST("virtio-rng-ccw",
             QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_CCW,
+            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_CCW,
             QEMU_CAPS_VIRTIO_S390, QEMU_CAPS_DEVICE_VIRTIO_RNG,
             QEMU_CAPS_OBJECT_RNG_RANDOM);
 
     DO_TEST("s390-allow-bogus-usb-none",
             QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_S390,
+            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_S390,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
 
     DO_TEST("s390-allow-bogus-usb-controller",
             QEMU_CAPS_DEVICE, QEMU_CAPS_CHARDEV, QEMU_CAPS_NODEFCONFIG,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_S390,
+            QEMU_CAPS_BOOTINDEX, QEMU_CAPS_VIRTIO_S390,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
 
     DO_TEST("ppc-dtb", QEMU_CAPS_KVM, QEMU_CAPS_DTB);
@@ -1505,9 +1495,9 @@ mymain(void)
     DO_TEST("pci-autoadd-addr", QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE);
     DO_TEST("pci-autoadd-idx", QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE);
     DO_TEST("pci-many",
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_PCI_BRIDGE);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE);
     DO_TEST("pci-bridge-many-disks",
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_PCI_BRIDGE);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE);
     DO_TEST("pcie-root",
             QEMU_CAPS_ICH9_AHCI,
             QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
@@ -1515,14 +1505,14 @@ mymain(void)
     DO_TEST("q35",
             QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_ICH9_AHCI,
             QEMU_CAPS_VGA, QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_VGA, QEMU_CAPS_VGA_QXL, QEMU_CAPS_DEVICE_QXL);
     DO_TEST("pcie-root-port",
             QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_ICH9_AHCI,
             QEMU_CAPS_VGA, QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_VGA, QEMU_CAPS_VGA_QXL, QEMU_CAPS_DEVICE_QXL);
 
@@ -1530,7 +1520,7 @@ mymain(void)
             QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_ICH9_AHCI,
             QEMU_CAPS_VGA, QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_VGA, QEMU_CAPS_VGA_QXL, QEMU_CAPS_DEVICE_QXL);
 
@@ -1539,7 +1529,7 @@ mymain(void)
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_IOH3420,
             QEMU_CAPS_DEVICE_X3130_UPSTREAM,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_ICH9_AHCI,
             QEMU_CAPS_VGA, QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_VGA, QEMU_CAPS_VGA_QXL, QEMU_CAPS_DEVICE_QXL);
     DO_TEST("pcie-switch-downstream-port",
@@ -1548,41 +1538,33 @@ mymain(void)
             QEMU_CAPS_DEVICE_IOH3420,
             QEMU_CAPS_DEVICE_X3130_UPSTREAM,
             QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_ICH9_AHCI,
             QEMU_CAPS_VGA, QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_VGA, QEMU_CAPS_VGA_QXL, QEMU_CAPS_DEVICE_QXL);
 
-    DO_TEST("hostdev-scsi-lsi", QEMU_CAPS_DRIVE,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("hostdev-scsi-lsi", QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_LSI,
             QEMU_CAPS_DEVICE_SCSI_GENERIC);
-    DO_TEST("hostdev-scsi-virtio-scsi", QEMU_CAPS_DRIVE,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("hostdev-scsi-virtio-scsi", QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_DEVICE_SCSI_GENERIC);
-    DO_TEST("hostdev-scsi-readonly", QEMU_CAPS_DRIVE,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("hostdev-scsi-readonly", QEMU_CAPS_DEVICE,
             QEMU_CAPS_DRIVE_READONLY, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE_SCSI_GENERIC);
-    DO_TEST("hostdev-scsi-virtio-scsi", QEMU_CAPS_DRIVE,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("hostdev-scsi-virtio-scsi", QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_DEVICE_SCSI_GENERIC,
             QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX);
-    DO_TEST("hostdev-scsi-lsi-iscsi", QEMU_CAPS_DRIVE,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("hostdev-scsi-lsi-iscsi", QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_LSI,
             QEMU_CAPS_DEVICE_SCSI_GENERIC);
-    DO_TEST("hostdev-scsi-lsi-iscsi-auth", QEMU_CAPS_DRIVE,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("hostdev-scsi-lsi-iscsi-auth", QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_LSI,
             QEMU_CAPS_DEVICE_SCSI_GENERIC);
-    DO_TEST("hostdev-scsi-virtio-iscsi", QEMU_CAPS_DRIVE,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("hostdev-scsi-virtio-iscsi", QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_DEVICE_SCSI_GENERIC);
-    DO_TEST("hostdev-scsi-virtio-iscsi-auth", QEMU_CAPS_DRIVE,
-            QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("hostdev-scsi-virtio-iscsi-auth", QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_DEVICE_SCSI_GENERIC);
 
@@ -1601,15 +1583,14 @@ mymain(void)
                         QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE);
 
     DO_TEST("hotplug-base",
-            QEMU_CAPS_KVM, QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
-            QEMU_CAPS_VIRTIO_SCSI);
+            QEMU_CAPS_KVM, QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_SCSI);
 
     DO_TEST("pcihole64", QEMU_CAPS_DEVICE, QEMU_CAPS_I440FX_PCI_HOLE64_SIZE);
     DO_TEST_FAILURE("pcihole64-none", QEMU_CAPS_DEVICE);
     DO_TEST("pcihole64-q35",
             QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_ICH9_AHCI,
+            QEMU_CAPS_ICH9_AHCI,
             QEMU_CAPS_VGA, QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
             QEMU_CAPS_VGA_QXL, QEMU_CAPS_DEVICE_QXL,
             QEMU_CAPS_Q35_PCI_HOLE64_SIZE);
@@ -1617,56 +1598,55 @@ mymain(void)
     DO_TEST("arm-vexpressa9-nodevs",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB);
     DO_TEST("arm-vexpressa9-basic",
-            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
-            QEMU_CAPS_DRIVE);
+            QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB);
     DO_TEST("arm-vexpressa9-virtio",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+            QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
     DO_TEST("arm-virt-virtio",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+            QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
 
     DO_TEST("aarch64-virt-virtio",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+            QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
     DO_TEST("aarch64-mmio-default-pci",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+            QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM,
             QEMU_CAPS_OBJECT_GPEX, QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE);
     DO_TEST("aarch64-virtio-pci",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+            QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM,
             QEMU_CAPS_OBJECT_GPEX, QEMU_CAPS_DEVICE_PCI_BRIDGE,
             QEMU_CAPS_DEVICE_DMI_TO_PCI_BRIDGE, QEMU_CAPS_VIRTIO_SCSI);
     DO_TEST("aarch64-aavmf-virtio-mmio",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DTB,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
+            QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
     DO_TEST("aarch64-virt-default-nic",
             QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
             QEMU_CAPS_DEVICE_VIRTIO_MMIO);
-    DO_TEST("aarch64-cpu-passthrough", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("aarch64-cpu-passthrough", QEMU_CAPS_DEVICE,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_CPU_HOST, QEMU_CAPS_KVM);
-    DO_TEST("aarch64-gic", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("aarch64-gic", QEMU_CAPS_DEVICE,
             QEMU_CAPS_KVM);
-    DO_TEST("aarch64-gicv3", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("aarch64-gicv3", QEMU_CAPS_DEVICE,
             QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT,
             QEMU_CAPS_MACH_VIRT_GIC_VERSION);
-    DO_TEST_FAILURE("aarch64-gicv3", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST_FAILURE("aarch64-gicv3", QEMU_CAPS_DEVICE,
             QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT);
 
     driver.caps->host.cpu->arch = VIR_ARCH_AARCH64;
-    DO_TEST("aarch64-kvm-32-on-64", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST("aarch64-kvm-32-on-64", QEMU_CAPS_DEVICE,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST, QEMU_CAPS_CPU_AARCH64_OFF);
-    DO_TEST_FAILURE("aarch64-kvm-32-on-64", QEMU_CAPS_DEVICE, QEMU_CAPS_DRIVE,
+    DO_TEST_FAILURE("aarch64-kvm-32-on-64", QEMU_CAPS_DEVICE,
             QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
             QEMU_CAPS_KVM, QEMU_CAPS_CPU_HOST);
     driver.caps->host.cpu->arch = cpuDefault->arch;
@@ -1706,83 +1686,83 @@ mymain(void)
 
     DO_TEST("machine-aeskeywrap-on-caps",
             QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP,
-            QEMU_CAPS_DEA_KEY_WRAP, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_DEA_KEY_WRAP,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-aeskeywrap-on-caps", QEMU_CAPS_MACHINE_OPT,
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+                    QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
                     QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-aeskeywrap-on-caps", NONE);
 
     DO_TEST("machine-aeskeywrap-on-cap",
             QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-aeskeywrap-on-cap", QEMU_CAPS_MACHINE_OPT,
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+                    QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
                     QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-aeskeywrap-on-cap", NONE);
 
     DO_TEST("machine-aeskeywrap-off-caps",
             QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-aeskeywrap-off-caps", QEMU_CAPS_MACHINE_OPT,
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+                    QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
                     QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-aeskeywrap-off-caps", NONE);
 
     DO_TEST("machine-aeskeywrap-off-cap",
-            QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-aeskeywrap-off-cap", QEMU_CAPS_MACHINE_OPT,
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+                    QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
                     QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-aeskeywrap-off-cap", NONE);
 
     DO_TEST("machine-deakeywrap-on-caps",
             QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
-    DO_TEST_FAILURE("machine-deakeywrap-on-caps", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DRIVE,
+    DO_TEST_FAILURE("machine-deakeywrap-on-caps", QEMU_CAPS_MACHINE_OPT,
                     QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
                     QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-deakeywrap-on-caps", NONE);
 
     DO_TEST("machine-deakeywrap-on-cap",
-            QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DEA_KEY_WRAP, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DEA_KEY_WRAP,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-deakeywrap-on-cap", QEMU_CAPS_MACHINE_OPT,
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+                    QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
                     QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-deakeywrap-on-cap", NONE);
 
     DO_TEST("machine-deakeywrap-off-caps",
             QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-deakeywrap-off-caps", QEMU_CAPS_MACHINE_OPT,
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+                    QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
                     QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-deakeywrap-off-caps", NONE);
 
     DO_TEST("machine-deakeywrap-off-cap",
-            QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DEA_KEY_WRAP, QEMU_CAPS_DRIVE,
+            QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DEA_KEY_WRAP,
             QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-deakeywrap-off-cap", QEMU_CAPS_MACHINE_OPT,
-                    QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+                    QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
                     QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST_FAILURE("machine-deakeywrap-off-cap", NONE);
 
     DO_TEST("machine-keywrap-none-caps",
             QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_AES_KEY_WRAP, QEMU_CAPS_DEA_KEY_WRAP,
-            QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
+            QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_DEVICE,
             QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
     DO_TEST("machine-keywrap-none",
-            QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI,
+            QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
 
     qemuTestDriverFree(&driver);
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index ab72e7d..d77ecbb 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -114,7 +114,6 @@ static const char testStatusXMLPrefix[] =
 "    <vcpu pid='3803519'/>\n"
 "  </vcpus>\n"
 "  <qemuCaps>\n"
-"    <flag name='drive'/>\n"
 "    <flag name='name'/>\n"
 "    <flag name='uuid'/>\n"
 "    <flag name='vnet-hdr'/>\n"
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args
index 5284d37..1f5f7d6 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args
+++ b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns0.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args
index 5284d37..1f5f7d6 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args
+++ b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline-ns1.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args
index 5284d37..1f5f7d6 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args
+++ b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-commandline.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args
index 5284d37..1f5f7d6 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args
+++ b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline-ns0.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args
index 5284d37..1f5f7d6 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args
+++ b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-commandline.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args
index 5284d37..1f5f7d6 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args
+++ b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain-ns0.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none ARGUMENT
diff --git a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args
index ca1bd04..2acb236 100644
--- a/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args
+++ b/tests/qemuxmlnsdata/qemuxmlns-qemu-ns-domain.args
@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
 -no-acpi \
 -boot c \
 -usb \
--hda /dev/HostVG/QEMUGuest1 \
+-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
 -net none \
 -serial none \
 -parallel none
-- 
2.5.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]