Devel
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- 12 participants
- 40164 discussions
22 Jan '21
While the PCI docs are linked from formatdomain.html, finding those
links is not straightforward. It is good for users to highlight them in
the kbase pages. The PCI docs are intentionally not moved to the kbase/
sub-directory in order to avoid breaking hyperlinks.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
docs/kbase/index.rst | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/docs/kbase/index.rst b/docs/kbase/index.rst
index 1494be1e77..83b9bb7200 100644
--- a/docs/kbase/index.rst
+++ b/docs/kbase/index.rst
@@ -40,6 +40,12 @@ Usage
`KVM real time <kvm-realtime.html>`__
Run real time workloads in guests on a KVM hypervisor
+`PCI hotplug <../pci-hotplug.html>`__
+ Effectively usage of PCI hotplug
+
+`PCI topology <../pci-addresses.html>`__
+ Addressing schemes for PCI devices
+
Internals / Debugging
---------------------
--
2.29.2
2
1
22 Jan '21
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
docs/index.html.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/index.html.in b/docs/index.html.in
index f44e055174..bf164edb58 100644
--- a/docs/index.html.in
+++ b/docs/index.html.in
@@ -64,7 +64,7 @@
<dt><a href="https://wiki.libvirt.org">Wiki</a></dt>
<dd>Read further community contributed content</dd>
- <dt><a href="https://libvirt.org/kbase/index.html">Knowledge base</a></dt>
+ <dt><a href="kbase/index.html">Knowledge base</a></dt>
<dd>Learn more about libvirt through knowledge base</dd>
</dl>
</div>
--
2.29.2
2
1
This series of patches simplifies the code in several ways and makes a
few changes required by the next round of patches that I'll submit.
Simplifications:
* add a macro to cut down on repetitive SettingData code
* enable GLib auto-cleanup for hypervObject and several OpenWSMAN types
Changes:
* store the version in hypervPrivate, which will be used to handle
breaking changes in the Hyper-V API: despite 2012R2 and 2016+ all
using Hyper-V's "V2" API, backwards-incompatible changes were made in
2016
* add inheritance to the WMI generator to simplify handling of the
backwards-incompatible changes introduced in Hyper-V 2016
Matt Coleman (55):
hyperv: add a macro for retrieving setting data
hyperv: store the Hyper-V version when connecting
hyperv: add inheritance to the WMI generator
hyperv: store hypervPrivate in hypervObject
hyperv: enable use of g_autoptr for hypervObject
hyperv: enable use of g_autoptr for the rest of the CIM/WMI classes
hyperv: enable automatic cleanup for OpenWSMAN types
hyperv: use g_autoptr for Win32_OperatingSystem in hypervConnectOpen
hyperv: use g_autoptr for Win32_ComputerSystem in
hypervConnectGetHostname
hyperv: use g_autoptr for Msvm_ProcessorSettingData in
hypervConnectGetMaxVcpus
hyperv: use g_autoptr for WMI classes in hypervNodeGetInfo
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervConnectNumOfDomains
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervConnectListDomains
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervDomainLookupByID
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervDomainLookupByUUID
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervDomainLookupByName
hyperv: use g_autoptr for Msvm_ComputerSystem in hypervDomainResume
hyperv: use g_autoptr for WMI classes in hypervDomainShutdownFlags
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervDomainDestroyFlags
hyperv: use g_autoptr for WMI classes in hypervDomainGetMaxMemory
hyperv: use g_autoptr for WMI classes in hypervDomainSetMemoryProperty
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervRequestStateChange
hyperv: use g_autoptr for Win32_ComputerSystemProduct in
hypervLookupHostSystemBiosUuid
hyperv: use g_autoptr for Msvm_ResourceAllocationSettingData in
hypervDomainAttachPhysicalDisk
hyperv: use g_autoptr for WMI classes in hypervDomainAttachStorage
hyperv: use g_autoptr for Msvm_DiskDrive in
hypervDomainDefParsePhysicalDisk
hyperv: use g_autoptr for WMI classes in hypervDomainGetInfo
hyperv: use g_autoptr for Msvm_ComputerSystem in hypervDomainGetState
hyperv: use g_autoptr for WMI classes in hypervDomainSetVcpusFlags
hyperv: use g_autoptr for WMI classes in hypervDomainGetVcpusFlags
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervConnectListDefinedDomains
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervConnectNumOfDefinedDomains
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervDomainCreateWithFlags
hyperv: use g_autoptr for Msvm_VirtualSystemSettingData in
hypervDomainGetAutostart
hyperv: use g_autoptr for Msvm_VirtualSystemSettingData in
hypervDomainSetAutostart
hyperv: use g_autoptr for WMI classes in
hypervDomainGetSchedulerParametersFlags
hyperv: use g_autoptr for Msvm_ComputerSystem in hypervDomainIsActive
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervDomainManagedSave
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervDomainHasManagedSaveImage
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervDomainManagedSaveRemove
hyperv: use g_autoptr for Msvm_ComputerSystem in
hypervConnectListAllDomains
hyperv: use GLib auto-cleanup in hypervDomainSendKey
hyperv: use GLib auto-cleanup in hypervInvokeMethod
hyperv: use GLib auto-cleanup in
hypervInvokeMsvmComputerSystemRequestStateChange
hyperv: use GLib auto-cleanup in hypervMsvmVSMSAddResourceSettings and
hypervMsvmVSMSModifyResourceSettings
hyperv: use g_autoptr for
Win32_PerfRawData_HvStats_HyperVHypervisorVirtualProcessor in
hypervDomainGetVcpus
hyperv: use g_autoptr for Win32_OperatingSystem in
hypervNodeGetFreeMemory
hyperv: use GLib auto-cleanup in hypervDomainGetXMLDesc
hyperv: use g_autoptr for WMI classes in hypervDomainAttachDeviceFlags
hyperv: use GLib auto-cleanup in hypervSerializeEprParam
hyperv: use GLib auto-cleanup in hypervEnumAndPull
hyperv: use GLib auto-cleanup in hypervSerializeEmbeddedParam
hyperv: use GLib auto-cleanup in hypervCreateInvokeXmlDoc
hyperv: use g_auto for WsXmlDocH in hypervDomainAttachVirtualDisk
hyperv: use g_auto for WsXmlDocH in hypervDomainAttachCDROM
scripts/hyperv_wmi_generator.py | 16 +-
src/hyperv/hyperv_driver.c | 755 +++++++++++---------------------
src/hyperv/hyperv_private.h | 4 +-
src/hyperv/hyperv_wmi.c | 408 +++++++----------
src/hyperv/hyperv_wmi.h | 4 +-
src/hyperv/hyperv_wsman.h | 28 ++
6 files changed, 457 insertions(+), 758 deletions(-)
create mode 100644 src/hyperv/hyperv_wsman.h
--
2.30.0
5
71
22 Jan '21
This is a followup to my message in December suggesting that we
deprecate use of the netcf package:
https://www.redhat.com/archives/libvir-list/2020-December/msg00183.html
(or Message-Id: <4889202b-734c-4d0f-472c-d86894319878(a)redhat.com> for
those of you who keep a local archive)
Each of these patches takes a baby step in the direction of removing
netcf from libvirt:
1) makes it possible to explicitly disable netcf in a build without
uninstalling netcf-devel.
2) makes netcf=disabled the default for all normal builds
3) switches all RHEL/Fedora/CentOS rpm builds to disable netcf, and no
longer require that netcf and netcf-devel be installed.
I purposefully didn't include a patch to completely remove all traces
of netcf; we can leave it disabled for awhile before taking that step.
Much of the basic functionality provided by the netcf backend to the
interface driver is also provided by the udev backend which is used
when netcf isn't available.
Some differences:
1) the udev backend can't make any modifications to host interface
configuration. It is only useful for reading a list of host network
devices, and querying some basic status of those interfaces (*not*
the contents of configuration files, but how the interface is
currently setup)
2) With the netcf backend, "virsh iface-list --all" shows a list of
those interfaces that have an ifcfg-blah file in
/etc/sysconfig/network-scripts. With the udev backend, the same
command shows a list of all network devices currently on the host,
as provided by the udev function
udev_enumerate_add_match_subsystem(enumerate, "net")
(with some exceptions - see udeevGetDevices()). This means that, for
example, the bridge devices created by libvirt for virtual networks
(virbrX) will show in the list when using udev.
3) The udev backend doesn't fill in IP address info about the devices
in the output of "virsh iface-dumpxml" (netcf does).
4) The udev driver *does* go to the trouble of filling in the MTU of
every interface, even when it is the default value of 1500.
In the end, all the information it reports is correct (well, item (2)
is debatable - it depends on what you would use the info for), but it
is different, which is why I'm sending this as an RFC - I'd appreciate if
people can build and try running something like this script with
existing libvirt as well as with the patches applied:
http://people.redhat.com/lstump/ncfresults
and compare the before/after.
The real question is whether or not this difference really "makes a
difference" to anyone. My guess/hope is that the answer to this is
"no". As far as I know, there aren't any management applications that
use the virInterface API (even virt-manager has stopped) so it's
probably only humans using virsh that encounter it.
(If it's considered important, we could 1) filter out the bridge
devices used by libvirt virtual networks, and 2) copy the netcf code
that fills in IP address info. I don't want to spend time doing that
if nobody's going to use it anyway, though.)
Laine Stump (3):
build: support explicitly disabling netcf
build: make netcf=disabled the default
rpm: disable netcf for the interface driver on RHEL/Fedora/CentOS
libvirt.spec.in | 8 ++------
meson.build | 9 ++++++---
2 files changed, 8 insertions(+), 9 deletions(-)
--
2.29.2
2
7
[libvirt PATCH v2 00/13] second part of cleanup storage source related code
by Pavel Hrdina 22 Jan '21
by Pavel Hrdina 22 Jan '21
22 Jan '21
Pavel Hrdina (13):
src: add missing virstoragefile.h includes
virstoragefile: properly include virstoragefile.h header
virstoragefile: change virStorageSource->drv to void pointer
storage: move storage file sources to separate directory
util: move virStorageSourceFindByNodeName into qemu_domain
util: extract storage file probe code into virtstoragefileprobe.c
util: extract virStorageFile code into storage_source
util: move virStorageFileBackend code into storage_file
util: move virStorageFileProbe code into storage_file
util: move virStorageSource code into conf
util: move virStorageEncryption code into conf
virstoragefile: use virStorageFile prefix for all functions
storage_source: use virStorageSource prefix for all functions
po/POTFILES.in | 11 +-
src/conf/backup_conf.c | 2 +-
src/conf/checkpoint_conf.c | 2 +-
src/conf/domain_conf.c | 2 +-
src/conf/domain_conf.h | 6 +-
src/conf/meson.build | 2 +
src/conf/snapshot_conf.c | 2 +-
src/conf/storage_conf.c | 2 +-
src/conf/storage_conf.h | 4 +-
.../storage_encryption_conf.c} | 4 +-
.../storage_encryption_conf.h} | 2 +-
src/conf/storage_source_conf.c | 1350 +++++
src/conf/storage_source_conf.h | 537 ++
src/esx/esx_storage_backend_iscsi.c | 2 +-
src/esx/esx_storage_backend_vmfs.c | 2 +-
src/libvirt_private.syms | 189 +-
src/libxl/meson.build | 1 +
src/libxl/xen_xl.c | 2 +-
src/locking/lock_driver_lockd.c | 1 +
src/meson.build | 1 +
src/qemu/meson.build | 1 +
src/qemu/qemu_backup.c | 11 +-
src/qemu/qemu_block.c | 10 +-
src/qemu/qemu_blockjob.c | 2 +-
src/qemu/qemu_command.c | 2 +-
src/qemu/qemu_domain.c | 55 +-
src/qemu/qemu_driver.c | 69 +-
src/qemu/qemu_hotplug.c | 7 +-
src/qemu/qemu_migration.c | 2 +-
src/qemu/qemu_process.c | 5 +-
src/qemu/qemu_snapshot.c | 24 +-
src/security/meson.build | 1 +
src/security/virt-aa-helper.c | 3 +-
src/storage/meson.build | 34 +-
src/storage/storage_backend.c | 2 +-
src/storage/storage_backend_gluster.c | 6 +-
src/storage/storage_util.c | 9 +-
src/storage_file/meson.build | 61 +
.../storage_file_backend.c} | 4 +-
.../storage_file_backend.h} | 6 +-
.../storage_file_fs.c | 23 +-
.../storage_file_fs.h | 0
.../storage_file_gluster.c | 34 +-
.../storage_file_gluster.h | 0
src/storage_file/storage_file_probe.c | 967 ++++
src/storage_file/storage_file_probe.h | 44 +
src/storage_file/storage_source.c | 2614 +++++++++
src/storage_file/storage_source.h | 148 +
src/util/meson.build | 2 -
src/util/virstoragefile.c | 4790 +----------------
src/util/virstoragefile.h | 554 +-
tests/meson.build | 4 +-
tests/qemublocktest.c | 1 +
tests/virstoragetest.c | 19 +-
54 files changed, 6045 insertions(+), 5593 deletions(-)
rename src/{util/virstorageencryption.c => conf/storage_encryption_conf.c} (99%)
rename src/{util/virstorageencryption.h => conf/storage_encryption_conf.h} (98%)
create mode 100644 src/conf/storage_source_conf.c
create mode 100644 src/conf/storage_source_conf.h
create mode 100644 src/storage_file/meson.build
rename src/{util/virstoragefilebackend.c => storage_file/storage_file_backend.c} (97%)
rename src/{util/virstoragefilebackend.h => storage_file/storage_file_backend.h} (93%)
rename src/{storage => storage_file}/storage_file_fs.c (90%)
rename src/{storage => storage_file}/storage_file_fs.h (100%)
rename src/{storage => storage_file}/storage_file_gluster.c (89%)
rename src/{storage => storage_file}/storage_file_gluster.h (100%)
create mode 100644 src/storage_file/storage_file_probe.c
create mode 100644 src/storage_file/storage_file_probe.h
create mode 100644 src/storage_file/storage_source.c
create mode 100644 src/storage_file/storage_source.h
--
2.29.2
2
32
22 Jan '21
The way this completer works is that it dumps XML of specified
domain and then tries to look for @name attribute of <alias/>
element. However, the XPATH it uses is not correct which results
in no aliases returned by the completer.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tools/virsh-completer-domain.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/virsh-completer-domain.c b/tools/virsh-completer-domain.c
index 4a3459f12a..e773af6552 100644
--- a/tools/virsh-completer-domain.c
+++ b/tools/virsh-completer-domain.c
@@ -316,14 +316,14 @@ virshDomainDeviceAliasCompleter(vshControl *ctl,
if (virshDomainGetXML(ctl, cmd, domainXMLFlags, &xmldoc, &ctxt) < 0)
return NULL;
- naliases = virXPathNodeSet("./devices//alias/@name", ctxt, &aliases);
+ naliases = virXPathNodeSet("/domain/devices//alias[@name]", ctxt, &aliases);
if (naliases < 0)
return NULL;
tmp = g_new0(char *, naliases + 1);
for (i = 0; i < naliases; i++) {
- if (!(tmp[i] = virXMLNodeContentString(aliases[i])))
+ if (!(tmp[i] = virXMLPropString(aliases[i], "name")))
return NULL;
}
--
2.26.2
2
1
[PATCH] virNetworkDHCPLeaseTimeDefParseXML: Output error when 'expiry' can't be parsed
by Peter Krempa 22 Jan '21
by Peter Krempa 22 Jan '21
22 Jan '21
virStrToLong_ul doesn't report it's own error.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1918674
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/conf/network_conf.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 4f1115e103..ff7a56f4f4 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -418,8 +418,11 @@ virNetworkDHCPLeaseTimeDefParseXML(virNetworkDHCPLeaseTimeDefPtr *lease,
if (!(expirystr = virXMLPropString(node, "expiry")))
return 0;
- if (virStrToLong_ul(expirystr, NULL, 10, &expiry) < 0)
+ if (virStrToLong_ul(expirystr, NULL, 10, &expiry) < 0) {
+ virReportError(VIR_ERR_XML_ERROR,
+ _("failed to parse expiry value '%s'"), expirystr);
return -1;
+ }
if ((unitstr = virXMLPropString(node, "unit"))) {
if ((unit = virNetworkDHCPLeaseTimeUnitTypeFromString(unitstr)) < 0) {
--
2.29.2
2
1
[libvirt PATCH 0/8] Remove space-padded alignment from public headers
by Jonathon Jongsma 21 Jan '21
by Jonathon Jongsma 21 Jan '21
21 Jan '21
Erik Skultety suggested posting a separate series removing the space-padded
alignment of function declarations in the public headers.
Jonathon Jongsma (8):
libvirt-nodedev.h: remove space-padded alignment
libvirt-domain.h: remove space-padded alignment
libvirt-host.h: remove space-padded alignment
libvirt-interface.h: remove space-padded alignment
libvirt-network.h: remove space-padded alignment
libvirt-nwfilter.h: remove space-padded alignment
libvirt-secret.h: remove space-padded alignment
libvirt-storage.h: remove space-padded alignment
include/libvirt/libvirt-domain.h | 584 ++++++++++++++--------------
include/libvirt/libvirt-host.h | 100 ++---
include/libvirt/libvirt-interface.h | 72 ++--
include/libvirt/libvirt-network.h | 92 ++---
include/libvirt/libvirt-nodedev.h | 79 ++--
include/libvirt/libvirt-nwfilter.h | 80 ++--
include/libvirt/libvirt-secret.h | 72 ++--
include/libvirt/libvirt-storage.h | 222 +++++------
8 files changed, 652 insertions(+), 649 deletions(-)
--
2.26.2
2
11
A few commits ago I've implemented virtio-pmem memory model.
Mention it in the news file.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
NEWS.rst | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 64e6847673..7a2d6649b4 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -13,6 +13,11 @@ v7.1.0 (unreleased)
* **New features**
+ * Introduce virtio-pmem ``<memory/>`` model
+
+ The virtio-pmem is a virtio variant of NVDIMM and just like NVDIMM
+ virtio-pmem also allows accessing host pages bypassing guest page cache.
+
* **Improvements**
* **Bug fixes**
--
2.26.2
2
1
21 Jan '21
This series starts by fixing a some dangerous behavior due to ambiguous
VM names, since Hyper-V allows multiple VMs to be defined with the same
name. That meant that `virsh dumpxml` could return XML for the wrong
domain. Additionally, when I implemented `undefine`, it would just
select one of the domains with the given name.
The majority of the series implements defining and undefining domains,
as well as attaching storage devices to domains.
Networking functionality will be in the next patch series.
Changes since v1:
* no longer checks domain state when undefining
- avoids a race condition
* does not implement domainCreateXML
- Hyper-V doesn't support transient VMs
* validates the SCSI controller model and address type
* validates the disk address type
* does not update NEWS.rst
- I have more patches after this set.
- Once they're all in, I'll add an entry to the 7.1 section.
Here's a GitLab MR, if you'd prefer to review the changes there:
https://gitlab.com/iammattcoleman/libvirt/-/merge_requests/14
Matt Coleman (10):
hyperv: ambiguous VM names will throw an error
hyperv: implement domainUndefine and domainUndefineFlags
hyperv: implement domainDefineXML
hyperv: add hypervMsvmVSMSAddResourceSettings
hyperv: create SCSI controllers when defining domains
hyperv: attach virtual disks when defining domains
hyperv: attach physical disks when defining domains
hyperv: attach virtual optical disks when defining domains
hyperv: attach floppy disks when defining domains
hyperv: implement domainAttachDevice and domainAttachDeviceFlags
include/libvirt/virterror.h | 1 +
src/hyperv/hyperv_driver.c | 855 ++++++++++++++++++++++++++++++++
src/hyperv/hyperv_wmi.c | 52 ++
src/hyperv/hyperv_wmi.h | 5 +
src/hyperv/hyperv_wmi_classes.h | 1 +
src/util/virerror.c | 6 +-
6 files changed, 918 insertions(+), 2 deletions(-)
--
2.27.0
2
11
20 Jan '21
When adding a rule for an image file and that image file has a chain
of backing files then we need to add a rule for each of those files.
To get that iterate over the backing file chain the same way as
dac/selinux already do and add a label for each.
Fixes: https://gitlab.com/libvirt/libvirt/-/issues/118
Signed-off-by: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
---
src/security/security_apparmor.c | 39 ++++++++++++++++++++++----------
1 file changed, 27 insertions(+), 12 deletions(-)
diff --git a/src/security/security_apparmor.c b/src/security/security_apparmor.c
index 29f0956d22..1f309c0c9f 100644
--- a/src/security/security_apparmor.c
+++ b/src/security/security_apparmor.c
@@ -756,22 +756,13 @@ AppArmorRestoreInputLabel(virSecurityManagerPtr mgr,
/* Called when hotplugging */
static int
-AppArmorSetSecurityImageLabel(virSecurityManagerPtr mgr,
- virDomainDefPtr def,
- virStorageSourcePtr src,
- virSecurityDomainImageLabelFlags flags G_GNUC_UNUSED)
+AppArmorSetSecurityImageLabelInternal(virSecurityManagerPtr mgr,
+ virDomainDefPtr def,
+ virStorageSourcePtr src)
{
- virSecurityLabelDefPtr secdef;
g_autofree char *vfioGroupDev = NULL;
const char *path;
- secdef = virDomainDefGetSecurityLabelDef(def, SECURITY_APPARMOR_NAME);
- if (!secdef || !secdef->relabel)
- return 0;
-
- if (!secdef->imagelabel)
- return 0;
-
if (src->type == VIR_STORAGE_TYPE_NVME) {
const virStorageSourceNVMeDef *nvme = src->nvme;
@@ -797,6 +788,30 @@ AppArmorSetSecurityImageLabel(virSecurityManagerPtr mgr,
return reload_profile(mgr, def, path, true);
}
+static int
+AppArmorSetSecurityImageLabel(virSecurityManagerPtr mgr,
+ virDomainDefPtr def,
+ virStorageSourcePtr src,
+ virSecurityDomainImageLabelFlags flags G_GNUC_UNUSED)
+{
+ virSecurityLabelDefPtr secdef;
+ virStorageSourcePtr n;
+
+ secdef = virDomainDefGetSecurityLabelDef(def, SECURITY_APPARMOR_NAME);
+ if (!secdef || !secdef->relabel)
+ return 0;
+
+ if (!secdef->imagelabel)
+ return 0;
+
+ for (n = src; virStorageSourceIsBacking(n); n = n->backingStore) {
+ if (AppArmorSetSecurityImageLabelInternal(mgr, def, n) < 0)
+ return -1;
+ }
+
+ return 0;
+}
+
static int
AppArmorSecurityVerify(virSecurityManagerPtr mgr G_GNUC_UNUSED,
virDomainDefPtr def)
--
2.30.0
3
6
20 Jan '21
Before this patch set, numatune only has three memory modes:
static, interleave and prefered. These memory policies are
ultimately set by mbind() system call.
Memory policy could be 'hard coded' into the kernel, but none of
above policies fit our requirment under this case. mbind() support
default memory policy, but it requires a NULL nodemask. So obviously
setting allowed memory nodes is cgroups' mission under this case.
So we introduce a new option for mode in numatune named 'restrictive'.
<numatune>
<memory mode="restrictive" nodeset="1-4,^3"/>
<memnode cellid="0" mode="restrictive" nodeset="1"/>
<memnode cellid="2" mode="restrictive" nodeset="2"/>
</numatune>
The config above means we only use cgroups to restrict the allowed
memory nodes and not setting any specific memory policies explicitly.
RFC discussion:
https://www.redhat.com/archives/libvir-list/2020-November/msg01256.html
Regards,
Luyao
Luyao Zhong (3):
docs: add docs for 'restrictive' option for mode in numatune
schema: add 'restrictive' config option for mode in numatune
qemu: add parser and formatter for 'restrictive' mode in numatune
docs/formatdomain.rst | 7 +++-
docs/schemas/domaincommon.rng | 2 +
include/libvirt/libvirt-domain.h | 1 +
src/conf/numa_conf.c | 9 +++++
src/qemu/qemu_command.c | 6 ++-
src/qemu/qemu_process.c | 27 +++++++++++++
src/util/virnuma.c | 3 ++
.../numatune-memnode-invalid-mode.err | 1 +
.../numatune-memnode-invalid-mode.xml | 33 +++++++++++++++
...emnode-restrictive-mode.x86_64-latest.args | 40 +++++++++++++++++++
.../numatune-memnode-restrictive-mode.xml | 33 +++++++++++++++
tests/qemuxml2argvtest.c | 2 +
...memnode-restrictive-mode.x86_64-latest.xml | 40 +++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
14 files changed, 202 insertions(+), 3 deletions(-)
create mode 100644 tests/qemuxml2argvdata/numatune-memnode-invalid-mode.err
create mode 100644 tests/qemuxml2argvdata/numatune-memnode-invalid-mode.xml
create mode 100644 tests/qemuxml2argvdata/numatune-memnode-restrictive-mode.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/numatune-memnode-restrictive-mode.xml
create mode 100644 tests/qemuxml2xmloutdata/numatune-memnode-restrictive-mode.x86_64-latest.xml
--
2.25.4
3
5
Erik Skultety (3):
ci: Refresh Dockerfiles
ci: Add openSUSE Leap 15.2
ci: Drop openSUSE Leap 15.1
.gitlab-ci.yml | 14 +++++++-------
ci/containers/ci-centos-7.Dockerfile | 4 ++--
ci/containers/ci-centos-8.Dockerfile | 2 +-
ci/containers/ci-centos-stream.Dockerfile | 9 +++++----
.../ci-debian-10-cross-aarch64.Dockerfile | 2 +-
ci/containers/ci-debian-10-cross-armv6l.Dockerfile | 2 +-
ci/containers/ci-debian-10-cross-armv7l.Dockerfile | 2 +-
ci/containers/ci-debian-10-cross-i686.Dockerfile | 2 +-
ci/containers/ci-debian-10-cross-mips.Dockerfile | 4 ++--
.../ci-debian-10-cross-mips64el.Dockerfile | 2 +-
ci/containers/ci-debian-10-cross-mipsel.Dockerfile | 2 +-
.../ci-debian-10-cross-ppc64le.Dockerfile | 2 +-
ci/containers/ci-debian-10-cross-s390x.Dockerfile | 4 ++--
ci/containers/ci-debian-10.Dockerfile | 2 +-
.../ci-debian-sid-cross-aarch64.Dockerfile | 2 +-
.../ci-debian-sid-cross-armv6l.Dockerfile | 2 +-
.../ci-debian-sid-cross-armv7l.Dockerfile | 2 +-
ci/containers/ci-debian-sid-cross-i686.Dockerfile | 2 +-
.../ci-debian-sid-cross-mips64el.Dockerfile | 2 +-
.../ci-debian-sid-cross-mipsel.Dockerfile | 2 +-
.../ci-debian-sid-cross-ppc64le.Dockerfile | 2 +-
ci/containers/ci-debian-sid-cross-s390x.Dockerfile | 4 ++--
ci/containers/ci-debian-sid.Dockerfile | 2 +-
ci/containers/ci-fedora-32.Dockerfile | 2 +-
ci/containers/ci-fedora-33.Dockerfile | 2 +-
.../ci-fedora-rawhide-cross-mingw32.Dockerfile | 2 +-
.../ci-fedora-rawhide-cross-mingw64.Dockerfile | 2 +-
ci/containers/ci-fedora-rawhide.Dockerfile | 2 +-
...e-151.Dockerfile =3D> ci-opensuse-152.Dockerfile} | 10 +++++-----
ci/containers/ci-ubuntu-1804.Dockerfile | 2 +-
ci/containers/ci-ubuntu-2004.Dockerfile | 2 +-
31 files changed, 49 insertions(+), 48 deletions(-)
rename ci/containers/{ci-opensuse-151.Dockerfile =3D> ci-opensuse-152.Docker=
file} (91%)
--=20
2.29.2
2
4
Note that openSUSE Leap 15.1 container hasn't been removed yet as it reaches
EOL on January 31, 2021, we'll build on both.
Erik Skultety (2):
ci: Refresh Dockerfiles
ci: Add openSUSE Leap 15.2
.gitlab-ci.yml | 17 ++-
ci/containers/ci-centos-7.Dockerfile | 4 +-
ci/containers/ci-centos-8.Dockerfile | 2 +-
ci/containers/ci-centos-stream.Dockerfile | 9 +-
.../ci-debian-10-cross-aarch64.Dockerfile | 2 +-
.../ci-debian-10-cross-armv6l.Dockerfile | 2 +-
.../ci-debian-10-cross-armv7l.Dockerfile | 2 +-
.../ci-debian-10-cross-i686.Dockerfile | 2 +-
.../ci-debian-10-cross-mips.Dockerfile | 4 +-
.../ci-debian-10-cross-mips64el.Dockerfile | 2 +-
.../ci-debian-10-cross-mipsel.Dockerfile | 2 +-
.../ci-debian-10-cross-ppc64le.Dockerfile | 2 +-
.../ci-debian-10-cross-s390x.Dockerfile | 4 +-
ci/containers/ci-debian-10.Dockerfile | 2 +-
.../ci-debian-sid-cross-aarch64.Dockerfile | 2 +-
.../ci-debian-sid-cross-armv6l.Dockerfile | 2 +-
.../ci-debian-sid-cross-armv7l.Dockerfile | 2 +-
.../ci-debian-sid-cross-i686.Dockerfile | 2 +-
.../ci-debian-sid-cross-mips64el.Dockerfile | 2 +-
.../ci-debian-sid-cross-mipsel.Dockerfile | 2 +-
.../ci-debian-sid-cross-ppc64le.Dockerfile | 2 +-
.../ci-debian-sid-cross-s390x.Dockerfile | 4 +-
ci/containers/ci-debian-sid.Dockerfile | 2 +-
ci/containers/ci-fedora-32.Dockerfile | 2 +-
ci/containers/ci-fedora-33.Dockerfile | 2 +-
...ci-fedora-rawhide-cross-mingw32.Dockerfile | 2 +-
...ci-fedora-rawhide-cross-mingw64.Dockerfile | 2 +-
ci/containers/ci-fedora-rawhide.Dockerfile | 2 +-
ci/containers/ci-opensuse-152.Dockerfile | 100 ++++++++++++++++++
ci/containers/ci-ubuntu-1804.Dockerfile | 2 +-
ci/containers/ci-ubuntu-2004.Dockerfile | 2 +-
31 files changed, 152 insertions(+), 38 deletions(-)
create mode 100644 ci/containers/ci-opensuse-152.Dockerfile
--
2.29.2
2
4
This should fix CI error:
../dist-unpack/libvirt-7.1.0/src/storage/storage_backend_vstorage.c:10:10: fatal error: 'mntent.h' file not found
#include <mntent.h>
^~~~~~~~~~
on freebsd and mac.
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy(a)virtuozzo.com>
---
meson.build | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index e3e7ff7..d8a63ba 100644
--- a/meson.build
+++ b/meson.build
@@ -1957,8 +1957,19 @@ if conf.has('WITH_LIBVIRTD')
endif
if not get_option('storage_vstorage').disabled()
- use_storage = true
- conf.set('WITH_STORAGE_VSTORAGE', 1)
+ vstorage_enable = true
+ if host_machine.system() != 'linux'
+ if get_option('storage_fs').enabled()
+ error('Vstorage is supported only on Linux')
+ else
+ vstorage_enable = false
+ endif
+ endif
+
+ if vstorage_enable
+ use_storage = true
+ conf.set('WITH_STORAGE_VSTORAGE', 1)
+ endif
endif
if not get_option('storage_zfs').disabled()
--
1.8.3.1
2
1
[PATCH] meson: don't build vstorage where mntent.h is not present
by Nikolay Shirokovskiy 19 Jan '21
by Nikolay Shirokovskiy 19 Jan '21
19 Jan '21
This should fix CI error:
../dist-unpack/libvirt-7.1.0/src/storage/storage_backend_vstorage.c:10:10: fatal error: 'mntent.h' file not found
#include <mntent.h>
^~~~~~~~~~
on freebsd and mac.
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy(a)virtuozzo.com>
---
meson.build | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index e3e7ff7..a6b6169 100644
--- a/meson.build
+++ b/meson.build
@@ -1957,8 +1957,20 @@ if conf.has('WITH_LIBVIRTD')
endif
if not get_option('storage_vstorage').disabled()
- use_storage = true
- conf.set('WITH_STORAGE_VSTORAGE', 1)
+ vstorage_enable = true
+
+ if not cc.has_header('mntent.h')
+ if get_option('storage_fs').enabled()
+ error('<mntent.h> is required for the FS storage driver')
+ else
+ vstorage_enable = false
+ endif
+ endif
+
+ if vstorage_enable
+ use_storage = true
+ conf.set('WITH_STORAGE_VSTORAGE', 1)
+ endif
endif
if not get_option('storage_zfs').disabled()
--
1.8.3.1
2
2
19 Jan '21
As can be seen in commit 8a62a1592ae00eab4eb153c02661e56b9d8d9032 (from
autoconf era), the coverage flags have to be used also when linking
objects. However, this was not reflected when we switched to meson.
Without this patch linking fails with undefined references to various
__gcov_* symbols.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
tests/meson.build | 8 ++++----
tools/nss/meson.build | 2 ++
tools/wireshark/src/meson.build | 3 +++
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/tests/meson.build b/tests/meson.build
index f1d91ca50d..23255dd62a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -26,7 +26,10 @@ tests_dep = declare_dependency(
top_inc_dir,
util_inc_dir,
],
- link_args: libvirt_export_dynamic,
+ link_args: (
+ libvirt_export_dynamic
+ + coverage_flags
+ ),
)
tests_env = [
@@ -228,9 +231,6 @@ executable(
dependencies: [
tests_dep,
],
- link_args: [
- coverage_flags,
- ],
)
diff --git a/tools/nss/meson.build b/tools/nss/meson.build
index cf3eec9b24..198936f3d4 100644
--- a/tools/nss/meson.build
+++ b/tools/nss/meson.build
@@ -66,6 +66,7 @@ nss_libvirt_lib = shared_module(
link_args: [
nss_libvirt_syms,
libvirt_export_dynamic,
+ coverage_flags,
],
link_whole: [
nss_libvirt_impl,
@@ -81,6 +82,7 @@ nss_libvirt_guest_lib = shared_library(
link_args: [
nss_libvirt_guest_syms,
libvirt_export_dynamic,
+ coverage_flags,
],
link_whole: [
nss_libvirt_guest_impl,
diff --git a/tools/wireshark/src/meson.build b/tools/wireshark/src/meson.build
index 49ccc9bb86..9b452dc5ca 100644
--- a/tools/wireshark/src/meson.build
+++ b/tools/wireshark/src/meson.build
@@ -12,6 +12,9 @@ shared_library(
xdr_dep,
tools_dep,
],
+ link_args: [
+ coverage_flags
+ ],
install: true,
install_dir: wireshark_plugindir,
)
--
2.30.0
2
1
[libvirt PATCH] docs: Clarify use of virtio-scsi model for SCSI controllers
by Andrea Bolognani 19 Jan '21
by Andrea Bolognani 19 Jan '21
19 Jan '21
The current formulation can lead people to believe SCSI
controllers only allow the virtio-scsi model, but really the
only difference is that you have to use model='virtio-scsi'
where you would use model='virtio' for another device.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
docs/formatdomain.rst | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index dd197d8f6a..af540391db 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -3428,8 +3428,10 @@ machine types, accept the following ``model`` values:
While the information outlined above applies to most virtio devices, there are a
few exceptions:
-- for SCSI controllers, ``virtio-scsi`` must be used instead of ``virtio`` for
- backwards compatibility reasons;
+- for SCSI controllers, there is no ``virtio`` model available due to
+ historical reasons: use ``virtio-scsi`` instead, which behaves the same as
+ ``virtio`` does for other devices. Both ``virtio-transitional`` and
+ ``virtio-non-transitional`` work with SCSI controllers;
- some devices, such as GPUs and input devices (keyboard, tablet and mouse),
are only defined in the virtio 1.0 spec and as such don't have a transitional
variant: the only accepted model is ``virtio``, which will result in a
--
2.26.2
2
1
As can be seen in commit 8a62a1592ae00eab4eb153c02661e56b9d8d9032 (from
autoconf era), the coverage flags have to be used also when linking
objects. However, this was not reflected when we switched to meson.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/meson.build | 1 +
tests/meson.build | 8 ++++++++
tools/nss/meson.build | 2 ++
tools/wireshark/src/meson.build | 3 +++
4 files changed, 14 insertions(+)
diff --git a/src/meson.build b/src/meson.build
index 7c478219d6..980578d5d6 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -21,6 +21,7 @@ src_dep = declare_dependency(
+ coverage_flags
+ driver_modules_flags
+ win32_link_flags
+ + coverage_flags
),
)
diff --git a/tests/meson.build b/tests/meson.build
index f1d91ca50d..c65487f5c2 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -202,6 +202,9 @@ foreach mock : mock_libs
libvirt_lib,
mock.get('link_with', []),
],
+ link_args: [
+ coverage_flags,
+ ],
)
endforeach
@@ -218,6 +221,7 @@ executable(
],
link_args: [
libvirt_no_indirect,
+ coverage_flags
],
)
@@ -566,6 +570,7 @@ foreach data : tests
],
link_args: [
libvirt_no_indirect,
+ coverage_flags,
],
link_with: [
libvirt_lib,
@@ -644,6 +649,9 @@ foreach data : helpers
link_with: [
data['link_with'],
],
+ link_args: [
+ coverage_flags,
+ ],
export_dynamic: true,
)
endforeach
diff --git a/tools/nss/meson.build b/tools/nss/meson.build
index cf3eec9b24..198936f3d4 100644
--- a/tools/nss/meson.build
+++ b/tools/nss/meson.build
@@ -66,6 +66,7 @@ nss_libvirt_lib = shared_module(
link_args: [
nss_libvirt_syms,
libvirt_export_dynamic,
+ coverage_flags,
],
link_whole: [
nss_libvirt_impl,
@@ -81,6 +82,7 @@ nss_libvirt_guest_lib = shared_library(
link_args: [
nss_libvirt_guest_syms,
libvirt_export_dynamic,
+ coverage_flags,
],
link_whole: [
nss_libvirt_guest_impl,
diff --git a/tools/wireshark/src/meson.build b/tools/wireshark/src/meson.build
index 49ccc9bb86..9b452dc5ca 100644
--- a/tools/wireshark/src/meson.build
+++ b/tools/wireshark/src/meson.build
@@ -12,6 +12,9 @@ shared_library(
xdr_dep,
tools_dep,
],
+ link_args: [
+ coverage_flags
+ ],
install: true,
install_dir: wireshark_plugindir,
)
--
2.30.0
2
2
Implement a LINSTOR backend storage driver.
The Linstor client needs to be installed and it needs to be configured
on the nodes used by the controller.
It supports most pool/vol commands, except for pool-build/pool-delete
and provides a block device in RAW file mode.
Linstor supports more than just DRBD so it would also be possible to have
it provide LVM, ZFS or NVME volumes, but the common case will be to provide
DRBD volumes in a cluster.
Sample pool XML:
<pool type='linstor'>
<name>linstor</name>
<source>
<host name='ubuntu-focal-60'/>
<name>libvirtgrp</name>
</source>
</pool>
<pool/source/name> element must point to an already created LINSTOR
resource-group, which is used to spawn resources/volumes.
<pool/source/host@name> attribute should be the local linstor node name,
if missing it will try to get the hosts uname and use that instead.
Result volume XML sample:
<volume type='block'>
<name>alpine12</name>
<key>libvirtgrp/alpine12</key>
<capacity unit='bytes'>5368709120</capacity>
<allocation unit='bytes'>5540028416</allocation>
<target>
<path>/dev/drbd1000</path>
<format type='raw'/>
</target>
</volume>
Signed-off-by: Rene Peinthor <rene.peinthor(a)linbit.com>
---
docs/schemas/storagepool.rng | 27 +
docs/storage.html.in | 39 +
include/libvirt/libvirt-storage.h | 1 +
meson.build | 6 +
meson_options.txt | 1 +
po/POTFILES.in | 1 +
src/conf/domain_conf.c | 1 +
src/conf/storage_conf.c | 14 +-
src/conf/storage_conf.h | 1 +
src/conf/virstorageobj.c | 4 +-
src/storage/meson.build | 25 +
src/storage/storage_backend.c | 6 +
src/storage/storage_backend_linstor.c | 803 ++++++++++++++++++
src/storage/storage_backend_linstor.h | 23 +
src/storage/storage_backend_linstor_priv.h | 53 ++
src/storage/storage_driver.c | 1 +
src/test/test_driver.c | 1 +
tests/linstorjsondata/broken.json | 1 +
tests/linstorjsondata/resource-group.json | 1 +
.../linstorjsondata/resource-list-test2.json | 332 ++++++++
.../storage-pools-ssdpool.json | 72 ++
tests/linstorjsondata/storage-pools.json | 192 +++++
tests/linstorjsondata/volume-def-list.json | 158 ++++
.../volume-definition-test2.json | 1 +
tests/meson.build | 6 +
tests/storagebackendlinstortest.c | 371 ++++++++
.../storagepoolcapsschemadata/poolcaps-fs.xml | 7 +
.../poolcaps-full.xml | 7 +
tests/storagepoolxml2argvtest.c | 1 +
tests/storagepoolxml2xmlin/pool-linstor.xml | 8 +
tests/storagevolxml2xmlin/vol-linstor.xml | 10 +
tools/virsh-pool.c | 3 +
32 files changed, 2175 insertions(+), 2 deletions(-)
create mode 100644 src/storage/storage_backend_linstor.c
create mode 100644 src/storage/storage_backend_linstor.h
create mode 100644 src/storage/storage_backend_linstor_priv.h
create mode 100644 tests/linstorjsondata/broken.json
create mode 100644 tests/linstorjsondata/resource-group.json
create mode 100644 tests/linstorjsondata/resource-list-test2.json
create mode 100644 tests/linstorjsondata/storage-pools-ssdpool.json
create mode 100644 tests/linstorjsondata/storage-pools.json
create mode 100644 tests/linstorjsondata/volume-def-list.json
create mode 100644 tests/linstorjsondata/volume-definition-test2.json
create mode 100644 tests/storagebackendlinstortest.c
create mode 100644 tests/storagepoolxml2xmlin/pool-linstor.xml
create mode 100644 tests/storagevolxml2xmlin/vol-linstor.xml
diff --git a/docs/schemas/storagepool.rng b/docs/schemas/storagepool.rng
index bd24b8b8d0..9b163e611d 100644
--- a/docs/schemas/storagepool.rng
+++ b/docs/schemas/storagepool.rng
@@ -26,6 +26,7 @@
<ref name="poolgluster"/>
<ref name="poolzfs"/>
<ref name="poolvstorage"/>
+ <ref name="poollinstor"/>
</choice>
</element>
</define>
@@ -224,6 +225,21 @@
</interleave>
</define>
+ <define name="poollinstor">
+ <attribute name="type">
+ <value>linstor</value>
+ </attribute>
+ <interleave>
+ <ref name="commonMetadataNameOptional"/>
+ <ref name="sizing"/>
+ <ref name="features"/>
+ <ref name="sourcelinstor"/>
+ <optional>
+ <ref name="target"/>
+ </optional>
+ </interleave>
+ </define>
+
<define name="sourceinfovendor">
<interleave>
<optional>
@@ -463,6 +479,17 @@
</element>
</define>
+ <define name="sourcelinstor">
+ <element name="source">
+ <interleave>
+ <ref name="sourceinfoname"/>
+ <optional>
+ <ref name="sourceinfohost"/>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
<define name="sourcefmtfs">
<optional>
<element name="format">
diff --git a/docs/storage.html.in b/docs/storage.html.in
index b2cf343933..9130fbd180 100644
--- a/docs/storage.html.in
+++ b/docs/storage.html.in
@@ -829,5 +829,44 @@
<h3>Valid volume format types</h3>
<p>The valid volume types are the same as for the directory pool.</p>
+
+
+ <h2><a id="StorageBackendLINSTOR">LINSTOR pool</a></h2>
+ <p>
+ This provides a pool using the LINSTOR software-defined-storage.
+ LINSTOR can provide block storage devices based on DRBD or basic
+ LVM/ZFS volumes.
+ </p>
+
+ <p>
+ To use LINSTOR in libvirt, setup a working LINSTOR cluster, documentation
+ for that is in the LINSTOR Users-guide.
+ And create a resource-group that will be used by libvirt, also make sure
+ the resource-group is setup in a way so that all nodes you want to use with libvirt
+ will create a resource. So either use diskless-on-remaining or make sure
+ replica-count is the same as you have nodes in your cluster.
+ </p>
+
+ <p><span class="since">Since 7.1.0</span></p>.
+
+ <h3>Example pool input</h3>
+ <pre>
+ <pool type="linstor">
+ <name>linstorpool</name>
+ <source>
+ <name>libvirtrscgrp</name>
+ <host name="linstornode">/>
+ </source>
+ </pool></pre>
+
+ <h3>Valid pool format types</h3>
+ <p>
+ The LINSTOR volume pool does not use the pool format type element.
+ </p>
+
+ <h3>Valid volume format types</h3>
+ <p>
+ The LINSTOR volume pool does not use the volume format type element.
+ </p>
</body>
</html>
diff --git a/include/libvirt/libvirt-storage.h b/include/libvirt/libvirt-storage.h
index 089e1e0bd1..6876ce6c5a 100644
--- a/include/libvirt/libvirt-storage.h
+++ b/include/libvirt/libvirt-storage.h
@@ -245,6 +245,7 @@ typedef enum {
VIR_CONNECT_LIST_STORAGE_POOLS_ZFS = 1 << 17,
VIR_CONNECT_LIST_STORAGE_POOLS_VSTORAGE = 1 << 18,
VIR_CONNECT_LIST_STORAGE_POOLS_ISCSI_DIRECT = 1 << 19,
+ VIR_CONNECT_LIST_STORAGE_POOLS_LINSTOR = 1 << 20,
} virConnectListAllStoragePoolsFlags;
int virConnectListAllStoragePools(virConnectPtr conn,
diff --git a/meson.build b/meson.build
index b5164f68ed..7c3d8be9fc 100644
--- a/meson.build
+++ b/meson.build
@@ -1899,6 +1899,11 @@ if conf.has('WITH_LIBVIRTD')
error('Need libiscsi for iscsi-direct storage driver')
endif
+ if not get_option('storage_linstor').disabled()
+ use_storage = true
+ conf.set('WITH_STORAGE_LINSTOR', 1)
+ endif
+
if not get_option('storage_lvm').disabled()
lvm_enable = true
lvm_progs = [
@@ -2315,6 +2320,7 @@ storagedriver_summary = {
'Dir': conf.has('WITH_STORAGE_DIR'),
'FS': conf.has('WITH_STORAGE_FS'),
'NetFS': conf.has('WITH_STORAGE_FS'),
+ 'Linstor': conf.has('WITH_STORAGE_LINSTOR'),
'LVM': conf.has('WITH_STORAGE_LVM'),
'iSCSI': conf.has('WITH_STORAGE_ISCSI'),
'iscsi-direct': conf.has('WITH_STORAGE_ISCSI_DIRECT'),
diff --git a/meson_options.txt b/meson_options.txt
index e5d79c2b6b..247d88e0ee 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -79,6 +79,7 @@ option('storage_fs', type: 'feature', value: 'auto', description: 'FileSystem ba
option('storage_gluster', type: 'feature', value: 'auto', description: 'Gluster backend for the storage driver')
option('storage_iscsi', type: 'feature', value: 'auto', description: 'iscsi backend for the storage driver')
option('storage_iscsi_direct', type: 'feature', value: 'auto', description: 'iscsi-direct backend for the storage driver')
+option('storage_linstor', type: 'feature', value: 'auto', description: 'Linstor backend for the storage driver')
option('storage_lvm', type: 'feature', value: 'auto', description: 'LVM backend for the storage driver')
option('storage_mpath', type: 'feature', value: 'auto', description: 'mpath backend for the storage driver')
option('storage_rbd', type: 'feature', value: 'auto', description: 'RADOS Block Device backend for the storage driver')
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 14636d4b93..5d8ecfc61c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -214,6 +214,7 @@
@SRCDIR@src/storage/storage_backend_gluster.c
@SRCDIR@src/storage/storage_backend_iscsi.c
@SRCDIR@src/storage/storage_backend_iscsi_direct.c
+@SRCDIR@src/storage/storage_backend_linstor.c
@SRCDIR@src/storage/storage_backend_logical.c
@SRCDIR@src/storage/storage_backend_mpath.c
@SRCDIR@src/storage/storage_backend_rbd.c
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 01b7187637..cdf1da81c8 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -31333,6 +31333,7 @@ virDomainStorageSourceTranslateSourcePool(virStorageSourcePtr src,
case VIR_STORAGE_POOL_SCSI:
case VIR_STORAGE_POOL_ZFS:
case VIR_STORAGE_POOL_VSTORAGE:
+ case VIR_STORAGE_POOL_LINSTOR:
if (!(src->path = virStorageVolGetPath(vol)))
return -1;
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 0c50529ace..9a0dda6374 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -60,7 +60,7 @@ VIR_ENUM_IMPL(virStoragePool,
"logical", "disk", "iscsi",
"iscsi-direct", "scsi", "mpath",
"rbd", "sheepdog", "gluster",
- "zfs", "vstorage",
+ "zfs", "vstorage", "linstor"
);
VIR_ENUM_IMPL(virStoragePoolFormatFileSystem,
@@ -304,6 +304,18 @@ static virStoragePoolTypeInfo poolTypeInfo[] = {
.formatToString = virStorageFileFormatTypeToString,
},
},
+ {.poolType = VIR_STORAGE_POOL_LINSTOR,
+ .poolOptions = {
+ .flags = (VIR_STORAGE_POOL_SOURCE_HOST |
+ VIR_STORAGE_POOL_SOURCE_NETWORK |
+ VIR_STORAGE_POOL_SOURCE_NAME),
+ },
+ .volOptions = {
+ .defaultFormat = VIR_STORAGE_FILE_RAW,
+ .formatFromString = virStorageVolumeFormatFromString,
+ .formatToString = virStorageFileFormatTypeToString,
+ }
+ },
};
diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h
index ffd406e093..716bde942f 100644
--- a/src/conf/storage_conf.h
+++ b/src/conf/storage_conf.h
@@ -110,6 +110,7 @@ typedef enum {
VIR_STORAGE_POOL_GLUSTER, /* Gluster device */
VIR_STORAGE_POOL_ZFS, /* ZFS */
VIR_STORAGE_POOL_VSTORAGE, /* Virtuozzo Storage */
+ VIR_STORAGE_POOL_LINSTOR, /* Linstor Storage */
VIR_STORAGE_POOL_LAST,
} virStoragePoolType;
diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c
index 9fe8b3f28e..4a2a924eb2 100644
--- a/src/conf/virstorageobj.c
+++ b/src/conf/virstorageobj.c
@@ -1461,13 +1461,15 @@ virStoragePoolObjSourceFindDuplicateCb(const void *payload,
case VIR_STORAGE_POOL_FS:
case VIR_STORAGE_POOL_LOGICAL:
case VIR_STORAGE_POOL_DISK:
+ case VIR_STORAGE_POOL_LINSTOR:
case VIR_STORAGE_POOL_ZFS:
if ((data->def->type == VIR_STORAGE_POOL_ISCSI ||
data->def->type == VIR_STORAGE_POOL_ISCSI_DIRECT ||
data->def->type == VIR_STORAGE_POOL_FS ||
data->def->type == VIR_STORAGE_POOL_LOGICAL ||
data->def->type == VIR_STORAGE_POOL_DISK ||
- data->def->type == VIR_STORAGE_POOL_ZFS) &&
+ data->def->type == VIR_STORAGE_POOL_ZFS ||
+ data->def->type == VIR_STORAGE_POOL_LINSTOR) &&
virStoragePoolObjSourceMatchTypeDEVICE(obj, data->def))
return 1;
break;
diff --git a/src/storage/meson.build b/src/storage/meson.build
index b4cefe9a89..d58519ba24 100644
--- a/src/storage/meson.build
+++ b/src/storage/meson.build
@@ -43,6 +43,10 @@ storage_backend_iscsi_direct_sources = [
'storage_backend_iscsi_direct.c',
]
+storage_backend_linstor_sources = [
+ 'storage_backend_linstor.c',
+]
+
storage_lvm_backend_sources = [
'storage_backend_logical.c',
]
@@ -217,6 +221,27 @@ if conf.has('WITH_STORAGE_ISCSI_DIRECT')
}
endif
+if conf.has('WITH_STORAGE_LINSTOR')
+ storage_backend_linstor_priv_lib = static_library(
+ 'virt_storage_backend_linstor_priv',
+ storage_backend_linstor_sources,
+ dependencies: [
+ src_dep,
+ ],
+ include_directories: [
+ conf_inc_dir,
+ ],
+ )
+
+ virt_modules += {
+ 'name': 'virt_storage_backend_linstor',
+ 'link_whole': [
+ storage_backend_linstor_priv_lib,
+ ],
+ 'install_dir': storage_backend_install_dir,
+ }
+endif
+
if conf.has('WITH_STORAGE_LVM')
virt_modules += {
'name': 'virt_storage_backend_logical',
diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index 2bce445575..27c2ed5e5b 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -70,6 +70,9 @@
#if WITH_STORAGE_VSTORAGE
# include "storage_backend_vstorage.h"
#endif
+#if WITH_STORAGE_LINSTOR
+# include "storage_backend_linstor.h"
+#endif
#define VIR_FROM_THIS VIR_FROM_STORAGE
@@ -144,6 +147,9 @@ virStorageBackendDriversRegister(bool allbackends G_GNUC_UNUSED)
#if WITH_STORAGE_VSTORAGE
VIR_STORAGE_BACKEND_REGISTER(virStorageBackendVstorageRegister, "vstorage");
#endif
+#if WITH_STORAGE_LINSTOR
+ VIR_STORAGE_BACKEND_REGISTER(virStorageBackendLinstorRegister, "linstor");
+#endif
return 0;
}
diff --git a/src/storage/storage_backend_linstor.c b/src/storage/storage_backend_linstor.c
new file mode 100644
index 0000000000..65463eb26b
--- /dev/null
+++ b/src/storage/storage_backend_linstor.c
@@ -0,0 +1,803 @@
+/*
+ * storage_backend_linstor.c: storage backend for linstor volume handling
+ *
+ * Copyright (C) 2020-2021 Rene Peinthor
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+
+#include "storage_backend_linstor.h"
+#define LIBVIRT_STORAGE_BACKEND_LINSTOR_PRIV_H_ALLOW
+#include "storage_backend_linstor_priv.h"
+#include "virerror.h"
+#include "virjson.h"
+#include "virstring.h"
+#include "virlog.h"
+#include "viralloc.h"
+#include "storage_conf.h"
+#include "storage_util.h"
+
+#include <sys/utsname.h>
+
+#define VIR_FROM_THIS VIR_FROM_STORAGE
+
+VIR_LOG_INIT("storage.storage_backend_linstor");
+
+
+#define LINSTORCLI "linstor"
+
+
+/**
+ * @brief virStorageBackendLinstorGetNodeName
+ * Get the configured linstor node name, checks pool host[0]
+ * if node isn't set there, it will try to get hostname and use that.
+ * @param pool Pool configuration
+ * @param nodenameOut Retrieved nodename will be copied here, caller is responsible to free.
+ * @return -1 on error, otherwise 0
+ */
+static int
+virStorageBackendLinstorGetNodeName(virStoragePoolObjPtr pool, char **nodenameOut)
+{
+ int ret = 0;
+ struct utsname host;
+ virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
+ if (def->source.nhost > 0 && def->source.hosts[0].name != NULL)
+ *nodenameOut = g_strdup(def->source.hosts[0].name);
+ else if (uname(&host) == 0)
+ *nodenameOut = g_strdup(host.nodename);
+ else
+ ret = -1;
+
+ return ret;
+}
+
+
+static virCommandPtr
+virStorageBackendLinstorPrepLinstorCmd(bool machineout)
+{
+ if (machineout)
+ return virCommandNewArgList(LINSTORCLI, "-m", "--output-version", "v1", NULL);
+ else
+ return virCommandNewArgList(LINSTORCLI, NULL);
+}
+
+
+/**
+ * @brief virStorageBackendLinstorUnpackLinstorJSON
+ * Linstor client results are packed into an array, as results usually contain
+ * a list of apicallrcs. But lists usually only have 1 entry.
+ * @param replyArr linstor reply array json
+ * @return Pointer to the first array element or NULL if no array or empty
+ */
+static virJSONValuePtr
+virStorageBackendLinstorUnpackLinstorJSON(virJSONValuePtr replyArr)
+{
+ if (replyArr == NULL) {
+ return NULL;
+ }
+
+ if (!virJSONValueIsArray(replyArr)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Root Linstor list result is expected to be an array"));
+ return NULL;
+ }
+
+ if (virJSONValueArraySize(replyArr) == 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Empty reply from Linstor client"));
+ return NULL;
+ }
+
+ return virJSONValueArrayGet(replyArr, 0);
+}
+
+
+int
+virStorageBackendLinstorFilterRscDefsForRscGroup(const char *resourceGroup,
+ const char *output,
+ virJSONValuePtr rscDefArrayOut)
+{
+ int ret = -1;
+ virJSONValuePtr replyArr = NULL;
+ virJSONValuePtr rscDefArr = NULL;
+ size_t i;
+
+ replyArr = virJSONValueFromString(output);
+
+ rscDefArr = virStorageBackendLinstorUnpackLinstorJSON(replyArr);
+ if (rscDefArr == NULL) {
+ goto cleanup;
+ }
+
+ for (i = 0; i < virJSONValueArraySize(rscDefArr); i++) {
+ virJSONValuePtr rscDefObj = virJSONValueArrayGet(rscDefArr, i);
+
+ if (g_ascii_strcasecmp(virJSONValueObjectGetString(rscDefObj, "resource_group_name"),
+ resourceGroup) == 0) {
+
+ virJSONValueArrayAppendString(rscDefArrayOut,
+ g_strdup(virJSONValueObjectGetString(rscDefObj, "name")));
+ }
+ }
+
+ ret = 0;
+ cleanup:
+ virJSONValueFree(replyArr);
+ return ret;
+}
+
+
+int
+virStorageBackendLinstorParseResourceGroupList(const char *resourceGroup,
+ const char *output,
+ virJSONValuePtr *storPoolArrayOut)
+{
+ int ret = -1;
+ bool rscGrpFound = false;
+ virJSONValuePtr replyArr = NULL;
+ virJSONValuePtr rscGrpArr = NULL;
+ virJSONValuePtr rscGrpSelFilterObj = NULL;
+ virJSONValuePtr storPoolsArr = NULL;
+ size_t i;
+
+ replyArr = virJSONValueFromString(output);
+
+ rscGrpArr = virStorageBackendLinstorUnpackLinstorJSON(replyArr);
+ if (rscGrpArr == NULL) {
+ goto cleanup;
+ }
+
+ for (i = 0; i < virJSONValueArraySize(rscGrpArr); i++) {
+ virJSONValuePtr rscGrpObj = virJSONValueArrayGet(rscGrpArr, i);
+
+ if (g_ascii_strcasecmp(virJSONValueObjectGetString(rscGrpObj, "name"),
+ resourceGroup) == 0) {
+ rscGrpFound = true;
+
+ rscGrpSelFilterObj = virJSONValueObjectGetObject(rscGrpObj, "select_filter");
+ if (rscGrpSelFilterObj != NULL) {
+ storPoolsArr = virJSONValueObjectGetArray(rscGrpSelFilterObj, "storage_pool_list");
+
+ *storPoolArrayOut = virJSONValueCopy(storPoolsArr);
+ }
+ break;
+ }
+ }
+
+ if (!rscGrpFound) {
+ virReportError(VIR_ERR_INVALID_STORAGE_POOL,
+ _("Specified resource group '%s' not found in linstor"), resourceGroup);
+ goto cleanup;
+ }
+
+ ret = 0;
+ cleanup:
+ virJSONValueFree(replyArr);
+ return ret;
+}
+
+
+/**
+ * @brief virStorageBackendLinstorParseStoragePoolList
+ * Parses a storage pool list result and updates the pools capacity, allocation numbers,
+ * for the given node.
+ * @param pool Pool object to update
+ * @param nodename Node name of which storage pools are taken for the update.
+ * @param output JSON output content from the `linstor storage-pool list` command
+ * @return -1 on error, 0 on success
+ */
+int
+virStorageBackendLinstorParseStoragePoolList(virStoragePoolDefPtr pool,
+ const char* nodename,
+ const char *output)
+{
+ int ret = -1;
+ virJSONValuePtr replyArr = NULL;
+ virJSONValuePtr storpoolArr = NULL;
+ unsigned long long capacity = 0;
+ unsigned long long freeCapacity = 0;
+ size_t i;
+
+ replyArr = virJSONValueFromString(output);
+
+ storpoolArr = virStorageBackendLinstorUnpackLinstorJSON(replyArr);
+ if (storpoolArr == NULL) {
+ goto cleanup;
+ }
+
+ if (!virJSONValueIsArray(storpoolArr)) {
+ // probably an ApiCallRc then, with an error
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Storage pool list not recieved"));
+ goto cleanup;
+ }
+
+ for (i = 0; i < virJSONValueArraySize(storpoolArr); i++) {
+ unsigned long long storCapacity = 0;
+ unsigned long long storFree = 0;
+ virJSONValuePtr storPoolObj = virJSONValueArrayGet(storpoolArr, i);
+
+ if (!virJSONValueIsObject(storPoolObj)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to parse storage pool object for pool '%s'"),
+ pool->name);
+ goto cleanup;
+ }
+
+ if (g_ascii_strcasecmp(virJSONValueObjectGetString(storPoolObj, "node_name"), nodename) == 0) {
+ if (g_str_equal(virJSONValueObjectGetString(storPoolObj, "provider_kind"), "DISKLESS")) {
+ /* ignore diskless pools, as they have no capacity */
+ continue;
+ }
+
+ if (virJSONValueObjectGetNumberUlong(storPoolObj, "total_capacity", &storCapacity)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to parse storage pool '%s' capacity"),
+ virJSONValueObjectGetString(storPoolObj, "storage_pool_name"));
+ goto cleanup;
+ }
+ if (virJSONValueObjectGetNumberUlong(storPoolObj, "free_capacity", &storFree)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to parse storage pool '%s' free capacity"),
+ virJSONValueObjectGetString(storPoolObj, "storage_pool_name"));
+ goto cleanup;
+ }
+ capacity += storCapacity * 1024; // linstor reports in KiB
+ freeCapacity += storFree * 1024; // linstor reports in KiB
+ }
+ }
+
+ pool->capacity = capacity;
+ pool->available = freeCapacity;
+ pool->allocation = capacity - freeCapacity;
+
+ ret = 0;
+
+ cleanup:
+ virJSONValueFree(replyArr);
+ return ret;
+}
+
+
+/**
+ * @brief virStorageBackendLinstorParseVolumeDefinition
+ * Parses the machine output of `linstor volume-definition list` and updates
+ * the virStorageVolDef capacity.
+ * @param vol Volume to update the capacity
+ * @param output JSON output of `linstor volume-definition list -r ...`
+ * @return -1 on error, 0 on success
+ */
+int
+virStorageBackendLinstorParseVolumeDefinition(virStorageVolDefPtr vol,
+ const char *output)
+{
+ int ret = -1;
+ virJSONValuePtr replyArr = NULL;
+ virJSONValuePtr resourceDefArr = NULL;
+ size_t i;
+
+ replyArr = virJSONValueFromString(output);
+
+ resourceDefArr = virStorageBackendLinstorUnpackLinstorJSON(replyArr);
+ if (resourceDefArr == NULL) {
+ goto cleanup;
+ }
+
+ if (!virJSONValueIsArray(resourceDefArr)) {
+ /* probably an ApiCallRc then, with an error */
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Volume definition list not recieved"));
+ goto cleanup;
+ }
+
+ for (i = 0; i < virJSONValueArraySize(resourceDefArr); i++) {
+ unsigned long long volDefCapacityKiB = 0;
+ virJSONValuePtr resourceDefObj = virJSONValueArrayGet(resourceDefArr, i);
+
+ if (resourceDefObj == NULL || !virJSONValueIsObject(resourceDefObj)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Unable to parse resource definition object"));
+ goto cleanup;
+ }
+
+ if (g_ascii_strcasecmp(virJSONValueObjectGetString(resourceDefObj, "name"), vol->name) == 0) {
+ virJSONValuePtr volumeDefArr = virJSONValueObjectGet(resourceDefObj, "volume_definitions");
+ virJSONValuePtr volumeDefObj = NULL;
+
+ if (volumeDefArr == NULL || !virJSONValueIsArray(volumeDefArr)
+ || virJSONValueArraySize(volumeDefArr) == 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Volume definition list incorrect for resource definition '%s'"),
+ vol->name);
+ goto cleanup;
+ }
+
+ volumeDefObj = virJSONValueArrayGet(volumeDefArr, 0);
+ if (virJSONValueObjectGetNumberUlong(volumeDefObj, "size_kib", &volDefCapacityKiB)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to parse volume definition size for resource '%s'"),
+ vol->name);
+ goto cleanup;
+ }
+
+ /* linstor reports in KiB */
+ vol->target.capacity = volDefCapacityKiB * 1024;
+ break;
+ }
+ }
+
+ ret = 0;
+
+ cleanup:
+ virJSONValueFree(replyArr);
+ return ret;
+}
+
+
+static int
+virStorageBackendLinstorRefreshVolFromJSON(const char *sourceName,
+ virStorageVolDefPtr vol,
+ virJSONValuePtr linstorResObj,
+ const char *volumeDefListOutput)
+{
+ virJSONValuePtr volumesArr = NULL;
+ virJSONValuePtr volumeObj = NULL;
+ long long alloc_kib = 0;
+
+ volumesArr = virJSONValueObjectGet(linstorResObj, "volumes");
+
+ if (volumesArr != NULL && !virJSONValueIsArray(volumesArr)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("'volumes' not found in resource object JSON"));
+ return -1;
+ }
+
+ volumeObj = virJSONValueArrayGet(volumesArr, 0);
+
+ vol->type = VIR_STORAGE_VOL_BLOCK;
+ VIR_FREE(vol->key);
+ vol->key = g_strdup_printf("%s/%s", sourceName, vol->name);
+ VIR_FREE(vol->target.path);
+ vol->target.path = g_strdup(virJSONValueObjectGetString(volumeObj, "device_path"));
+ vol->target.format = VIR_STORAGE_FILE_RAW;
+
+ virJSONValueObjectGetNumberLong(volumeObj, "allocated_size_kib", &alloc_kib);
+
+ if (alloc_kib >= 0)
+ vol->target.allocation = alloc_kib * 1024;
+ else
+ vol->target.allocation = 0;
+
+ if (volumeDefListOutput != NULL) {
+ return virStorageBackendLinstorParseVolumeDefinition(vol, volumeDefListOutput);
+ }
+
+ return 0;
+}
+
+
+static int
+virStorageBackendLinstorRefreshVol(virStoragePoolObjPtr pool,
+ virStorageVolDefPtr vol)
+{
+ int ret = -1;
+ g_autofree char *output = NULL;
+ g_autofree char *outputVolDef = NULL;
+ g_autofree char *nodename = NULL;
+ g_autoptr(virCommand) cmdResList = NULL;
+ g_autoptr(virCommand) cmdVolDefList = NULL;
+ virJSONValuePtr replyArr = NULL;
+ virJSONValuePtr rscArr = NULL;
+ virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
+
+ if (virStorageBackendLinstorGetNodeName(pool, &nodename))
+ return -1;
+
+ cmdResList = virStorageBackendLinstorPrepLinstorCmd(true);
+ virCommandAddArgList(cmdResList, "resource", "list", "-n", nodename, "-r", vol->name, NULL);
+ virCommandSetOutputBuffer(cmdResList, &output);
+ if (virCommandRun(cmdResList, NULL) < 0)
+ return -1;
+
+ cmdVolDefList = virStorageBackendLinstorPrepLinstorCmd(true);
+ virCommandAddArgList(cmdVolDefList, "volume-definition", "list", "-r", vol->name, NULL);
+ virCommandSetOutputBuffer(cmdVolDefList, &outputVolDef);
+ if (virCommandRun(cmdVolDefList, NULL) < 0)
+ return -1;
+
+ replyArr = virJSONValueFromString(output);
+
+ rscArr = virStorageBackendLinstorUnpackLinstorJSON(replyArr);
+ if (rscArr == NULL) {
+ goto cleanup;
+ }
+
+ if (!virJSONValueIsArray(rscArr)) {
+ // probably an ApiCallRc then, with an error
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Resource list not recieved"));
+ goto cleanup;
+ }
+
+ if (virJSONValueArraySize(rscArr) != 1) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Couldn't find resource '%s' in Linstor resource list JSON"), vol->name);
+ goto cleanup;
+ }
+
+ ret = virStorageBackendLinstorRefreshVolFromJSON(
+ def->source.name, vol, virJSONValueArrayGet(rscArr, 0), outputVolDef);
+
+ cleanup:
+ virJSONValueFree(rscArr);
+ return ret;
+}
+
+
+static int
+virStorageBackendLinstorAddVolume(virStoragePoolObjPtr pool,
+ virJSONValuePtr resourceObj,
+ const char *outputVolDef)
+{
+ g_autoptr(virStorageVolDef) vol = NULL;
+ virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
+
+ if (resourceObj == NULL) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Missing disk info when adding volume"));
+ return -1;
+ }
+
+ vol = g_new0(virStorageVolDef, 1);
+
+ vol->name = g_strdup(virJSONValueObjectGetString(resourceObj, "name"));
+
+ if (virStorageBackendLinstorRefreshVolFromJSON(def->source.name,
+ vol, resourceObj, outputVolDef) < 0) {
+ virStorageVolDefFree(vol);
+ return -1;
+ }
+
+ if (virStoragePoolObjAddVol(pool, vol) < 0) {
+ virStorageVolDefFree(vol);
+ return -1;
+ }
+ vol = NULL;
+
+ return 0;
+}
+
+
+static bool
+virStorageBackendLinstorStringInJSONArray(virJSONValuePtr arr, const char *string)
+{
+ size_t i;
+ for (i = 0; i < virJSONValueArraySize(arr); i++) {
+ if (g_ascii_strcasecmp(virJSONValueGetString(virJSONValueArrayGet(arr, i)), string) == 0) {
+ return true;
+ }
+ }
+ return false;
+}
+
+
+int
+virStorageBackendLinstorParseResourceList(virStoragePoolObjPtr pool,
+ const char *nodeName,
+ virJSONValuePtr rscDefFilterArr,
+ const char *outputRscList,
+ const char *outputVolDef)
+{
+ int ret = -1;
+ virJSONValuePtr replyArr = NULL;
+ virJSONValuePtr rscListArr = NULL;
+ size_t i;
+
+ replyArr = virJSONValueFromString(outputRscList);
+
+ rscListArr = virStorageBackendLinstorUnpackLinstorJSON(replyArr);
+ if (rscListArr == NULL) {
+ goto cleanup;
+ }
+
+ if (!virJSONValueIsArray(rscListArr)) {
+ // probably an ApiCallRc then, with an error
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Storage pool list not recieved"));
+ goto cleanup;
+ }
+
+ for (i = 0; i < virJSONValueArraySize(rscListArr); i++) {
+ virJSONValuePtr rscObj = virJSONValueArrayGet(rscListArr, i);
+
+ if (g_ascii_strcasecmp(virJSONValueObjectGetString(rscObj, "node_name"), nodeName) == 0 &&
+ virStorageBackendLinstorStringInJSONArray(rscDefFilterArr,
+ virJSONValueObjectGetString(rscObj, "name"))) {
+ if (virStorageBackendLinstorAddVolume(pool, rscObj, outputVolDef)) {
+ goto cleanup;
+ }
+ }
+ }
+
+ ret = 0;
+
+ cleanup:
+ virJSONValueFree(rscListArr);
+ return ret;
+}
+
+static int
+virStorageBackendLinstorRefreshAllVol(virStoragePoolObjPtr pool)
+{
+ int ret = -1;
+ g_autofree char *output = NULL;
+ g_autofree char *outputVolDef = NULL;
+ g_autofree char *nodename = NULL;
+ g_autoptr(virCommand) cmdRscList = NULL;
+ g_autoptr(virCommand) cmdVolDefList = NULL;
+ virJSONValuePtr rscDefFilterArr = virJSONValueNewArray();
+ virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
+
+ /* Get all resources usable on that node */
+ if (virStorageBackendLinstorGetNodeName(pool, &nodename)) {
+ goto cleanup;
+ }
+
+ cmdRscList = virStorageBackendLinstorPrepLinstorCmd(true);
+ virCommandAddArgList(cmdRscList, "resource", "list", "-n", nodename, NULL);
+ virCommandSetOutputBuffer(cmdRscList, &output);
+ if (virCommandRun(cmdRscList, NULL) < 0)
+ goto cleanup;
+
+ /* Get a list of resources that belong to the rsc group for filtering */
+ cmdVolDefList = virStorageBackendLinstorPrepLinstorCmd(true);
+ virCommandAddArgList(cmdVolDefList, "volume-definition", "list", NULL);
+ virCommandSetOutputBuffer(cmdVolDefList, &outputVolDef);
+ if (virCommandRun(cmdVolDefList, NULL) < 0) {
+ goto cleanup;
+ }
+
+ /* resource belonging to the resource group will be stored in rscDefFilterArr */
+ if (virStorageBackendLinstorFilterRscDefsForRscGroup(def->source.name,
+ outputVolDef,
+ rscDefFilterArr)) {
+ goto cleanup;
+ }
+
+ ret = virStorageBackendLinstorParseResourceList(pool,
+ nodename,
+ rscDefFilterArr,
+ output,
+ outputVolDef);
+
+ cleanup:
+ virJSONValueFree(rscDefFilterArr);
+ return ret;
+}
+
+
+/**
+ * @brief virStorageBackendLinstorGetRscGrpPools
+ * Retrieves the set storage pools used in resource group.
+ * On success caller is responsible to free the virJSONValuePtr.
+ * @param rscgrpname resource group name to get the storage pools
+ * @param storagePoolsOut virJSONArray with used storage pools
+ * @return -1 on error, 0 on success
+ */
+static int
+virStorageBackendLinstorGetRscGrpPools(const char* rscgrpname, virJSONValuePtr *storagePoolsOut)
+{
+ g_autofree char *outputRscGrp = NULL;
+ g_autoptr(virCommand) cmdRscGrpList = NULL;
+
+ cmdRscGrpList = virStorageBackendLinstorPrepLinstorCmd(true);
+ virCommandAddArgList(cmdRscGrpList, "resource-group", "list", "-r", rscgrpname, NULL);
+ virCommandSetOutputBuffer(cmdRscGrpList, &outputRscGrp);
+ if (virCommandRun(cmdRscGrpList, NULL) < 0)
+ return -1;
+
+ if (virStorageBackendLinstorParseResourceGroupList(rscgrpname,
+ outputRscGrp,
+ storagePoolsOut)) {
+ return -1;
+ }
+
+ return 0;
+}
+
+
+static int
+virStorageBackendLinstorRefreshPool(virStoragePoolObjPtr pool)
+{
+ size_t i;
+ g_autofree char *outputStorPoolList = NULL;
+ g_autofree char *nodename = NULL;
+ g_autoptr(virCommand) cmdStorPoolList = NULL;
+ virJSONValuePtr storagePoolArr = NULL;
+ virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
+
+ if (virStorageBackendLinstorGetNodeName(pool, &nodename))
+ return -1;
+
+ if (virStorageBackendLinstorGetRscGrpPools(def->source.name, &storagePoolArr))
+ return -1;
+
+ /* Get storage pools used in the used resource group */
+ cmdStorPoolList = virStorageBackendLinstorPrepLinstorCmd(true);
+ virCommandAddArgList(cmdStorPoolList, "storage-pool", "list", "-n", nodename, NULL);
+
+ if (storagePoolArr != NULL && virJSONValueArraySize(storagePoolArr) > 0) {
+ virCommandAddArgList(cmdStorPoolList, "-s", NULL);
+ for (i = 0; i < virJSONValueArraySize(storagePoolArr); i++) {
+ virCommandAddArg(cmdStorPoolList,
+ virJSONValueGetString(virJSONValueArrayGet(storagePoolArr, i)));
+ }
+
+ virJSONValueFree(storagePoolArr);
+ }
+
+ virCommandSetOutputBuffer(cmdStorPoolList, &outputStorPoolList);
+ if (virCommandRun(cmdStorPoolList, NULL) < 0)
+ return -1;
+
+ /* update capacity and allocated from used storage pools */
+ if (virStorageBackendLinstorParseStoragePoolList(virStoragePoolObjGetDef(pool),
+ nodename,
+ outputStorPoolList) < 0)
+ return -1;
+
+ /* Get volumes used in the resource group and add */
+ return virStorageBackendLinstorRefreshAllVol(pool);
+}
+
+static int
+virStorageBackendLinstorCreateVol(virStoragePoolObjPtr pool,
+ virStorageVolDefPtr vol)
+{
+ virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
+ g_autoptr(virCommand) cmdRscGrp = NULL;
+
+ VIR_DEBUG("Creating Linstor image %s/%s with size %llu",
+ def->source.name, vol->name, vol->target.capacity);
+
+ if (!vol->target.capacity) {
+ virReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("volume capacity required for this storage pool"));
+ return -1;
+ }
+
+ if (vol->target.format != VIR_STORAGE_FILE_RAW) {
+ virReportError(VIR_ERR_NO_SUPPORT, "%s",
+ _("only RAW volumes are supported by this storage pool"));
+ return -1;
+ }
+
+ if (vol->target.encryption != NULL) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("storage pool does not support encrypted volumes"));
+ return -1;
+ }
+
+ /* spawn resource */
+ cmdRscGrp = virStorageBackendLinstorPrepLinstorCmd(false);
+ virCommandAddArgList(cmdRscGrp, "resource-group", "spawn",
+ "--partial", def->source.name, vol->name, NULL);
+ virCommandAddArgFormat(cmdRscGrp, "%lluKiB", vol->target.capacity / 1024);
+ if (virCommandRun(cmdRscGrp, NULL) < 0)
+ return -1;
+
+ /* set volume path and key */
+ /* we could skip getting the capacity as we already know it */
+ return virStorageBackendLinstorRefreshVol(pool, vol);
+}
+
+
+static int
+virStorageBackendLinstorBuildVolFrom(virStoragePoolObjPtr pool,
+ virStorageVolDefPtr vol,
+ virStorageVolDefPtr inputvol,
+ unsigned int flags)
+{
+ virStorageBackendBuildVolFrom build_func;
+
+ build_func = virStorageBackendGetBuildVolFromFunction(vol, inputvol);
+ if (!build_func)
+ return -1;
+
+ return build_func(pool, vol, inputvol, flags);
+}
+
+
+static int
+virStorageBackendLinstorDeleteVol(virStoragePoolObjPtr pool,
+ virStorageVolDefPtr vol,
+ unsigned int flags)
+{
+ g_autoptr(virCommand) cmd = NULL;
+
+ (void)pool;
+ virCheckFlags(0, -1);
+
+ cmd = virStorageBackendLinstorPrepLinstorCmd(false);
+ virCommandAddArgList(cmd, "resource-definition", "delete", vol->name, NULL);
+ return virCommandRun(cmd, NULL);
+}
+
+
+static int
+virStorageBackendLinstorResizeVol(virStoragePoolObjPtr pool,
+ virStorageVolDefPtr vol,
+ unsigned long long capacity,
+ unsigned int flags)
+{
+ g_autoptr(virCommand) cmd = NULL;
+
+ (void)pool;
+ virCheckFlags(0, -1);
+
+ cmd = virStorageBackendLinstorPrepLinstorCmd(false);
+ virCommandAddArgList(cmd, "volume-definition", "set-size", vol->name, "0", NULL);
+ virCommandAddArgFormat(cmd, "%lluKiB", capacity / 1024);
+ return virCommandRun(cmd, NULL);
+}
+
+
+/**
+ * @brief virStorageBackendVzCheck
+ * Check if we can connect to a Linstor-Controller
+ */
+static int
+virStorageBackendLinstorCheck(virStoragePoolObjPtr pool,
+ bool *isActive)
+{
+ g_autoptr(virCommand) cmd = NULL;
+
+ (void)pool;
+
+ /* This command gets the controller version */
+ cmd = virStorageBackendLinstorPrepLinstorCmd(false);
+ virCommandAddArgList(cmd, "controller", "version", NULL);
+ if (virCommandRun(cmd, NULL)) {
+ *isActive = false;
+ }
+
+ *isActive = true;
+ return 0;
+}
+
+virStorageBackend virStorageBackendLinstor = {
+ .type = VIR_STORAGE_POOL_LINSTOR,
+
+ .refreshPool = virStorageBackendLinstorRefreshPool,
+ .checkPool = virStorageBackendLinstorCheck,
+ .createVol = virStorageBackendLinstorCreateVol,
+ .buildVol = NULL,
+ .buildVolFrom = virStorageBackendLinstorBuildVolFrom,
+ .refreshVol = virStorageBackendLinstorRefreshVol,
+ .deleteVol = virStorageBackendLinstorDeleteVol,
+ .resizeVol = virStorageBackendLinstorResizeVol,
+ .uploadVol = virStorageBackendVolUploadLocal,
+ .downloadVol = virStorageBackendVolDownloadLocal,
+ .wipeVol = virStorageBackendVolWipeLocal,
+};
+
+
+int
+virStorageBackendLinstorRegister(void)
+{
+ return virStorageBackendRegister(&virStorageBackendLinstor);
+}
diff --git a/src/storage/storage_backend_linstor.h b/src/storage/storage_backend_linstor.h
new file mode 100644
index 0000000000..72750fd278
--- /dev/null
+++ b/src/storage/storage_backend_linstor.h
@@ -0,0 +1,23 @@
+/*
+ * storage_backend_linstor.h: storage backend for Sheepdog handling
+ *
+ * Copyright (C) 2020-2021 Rene Peinthor
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+int virStorageBackendLinstorRegister(void);
diff --git a/src/storage/storage_backend_linstor_priv.h b/src/storage/storage_backend_linstor_priv.h
new file mode 100644
index 0000000000..36503993b8
--- /dev/null
+++ b/src/storage/storage_backend_linstor_priv.h
@@ -0,0 +1,53 @@
+/*
+ * storage_backend_linstor_priv.h: header for functions necessary in tests
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef LIBVIRT_STORAGE_BACKEND_LINSTOR_PRIV_H_ALLOW
+# error "storage_backend_linstor_priv.h may only be included by storage_backend_linstor.c or test suites"
+#endif /* LIBVIRT_STORAGE_BACKEND_LINSTOR_PRIV_H_ALLOW */
+
+#pragma once
+
+#include "virjson.h"
+#include "virstorageobj.h"
+#include "conf/storage_conf.h"
+
+int
+virStorageBackendLinstorFilterRscDefsForRscGroup(const char *resourceGroup,
+ const char *output,
+ virJSONValuePtr rscDefArrayOut);
+
+int
+virStorageBackendLinstorParseResourceGroupList(const char *resourceGroup,
+ const char *output,
+ virJSONValuePtr *storPoolArrayOut);
+
+int
+virStorageBackendLinstorParseStoragePoolList(virStoragePoolDefPtr pool,
+ const char* nodeName,
+ const char *output);
+
+int
+virStorageBackendLinstorParseResourceList(virStoragePoolObjPtr pool,
+ const char* nodeName,
+ virJSONValuePtr rscDefFilterArr,
+ const char *outputRscList,
+ const char *outputVolDef);
+
+int
+virStorageBackendLinstorParseVolumeDefinition(virStorageVolDefPtr vol,
+ const char *output);
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 16bc53aa46..63f860a963 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -1647,6 +1647,7 @@ storageVolLookupByPathCallback(virStoragePoolObjPtr obj,
case VIR_STORAGE_POOL_RBD:
case VIR_STORAGE_POOL_SHEEPDOG:
case VIR_STORAGE_POOL_ZFS:
+ case VIR_STORAGE_POOL_LINSTOR:
case VIR_STORAGE_POOL_LAST:
stable_path = g_strdup(data->path);
break;
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 29c4c86b1d..b03ede39d0 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -7103,6 +7103,7 @@ testStorageVolumeTypeForPool(int pooltype)
case VIR_STORAGE_POOL_ISCSI:
case VIR_STORAGE_POOL_SCSI:
case VIR_STORAGE_POOL_ZFS:
+ case VIR_STORAGE_POOL_LINSTOR:
return VIR_STORAGE_VOL_BLOCK;
case VIR_STORAGE_POOL_LAST:
default:
diff --git a/tests/linstorjsondata/broken.json b/tests/linstorjsondata/broken.json
new file mode 100644
index 0000000000..bce5bde3c6
--- /dev/null
+++ b/tests/linstorjsondata/broken.json
@@ -0,0 +1 @@
+[[{"name":"DfltRscGrp","select_filter":{"place_count":2},id":"a52e934a-9fd9-44cb-9db1-716dcd13aae3"},{"name":"libvirtgrp","select_filter":{"place_count":2,"storage_pool":"thinpool","storage_pool_list":["thinpool"]},"uuid":"7ec0bdee-9176-470e-8f7d-532032434160"}]]
diff --git a/tests/linstorjsondata/resource-group.json b/tests/linstorjsondata/resource-group.json
new file mode 100644
index 0000000000..3a2f959ad7
--- /dev/null
+++ b/tests/linstorjsondata/resource-group.json
@@ -0,0 +1 @@
+[[{"name":"DfltRscGrp","select_filter":{"place_count":2},"uuid":"a52e934a-9fd9-44cb-9db1-716dcd13aae3"},{"name":"libvirtgrp","select_filter":{"place_count":2,"storage_pool":"thinpool","storage_pool_list":["thinpool"]},"uuid":"7ec0bdee-9176-470e-8f7d-532032434160"}]]
diff --git a/tests/linstorjsondata/resource-list-test2.json b/tests/linstorjsondata/resource-list-test2.json
new file mode 100644
index 0000000000..86e7f04d82
--- /dev/null
+++ b/tests/linstorjsondata/resource-list-test2.json
@@ -0,0 +1,332 @@
+[
+ [
+ {
+ "name": "test2",
+ "node_name": "linstor1",
+ "props": {
+ "StorPoolName": "thinpool"
+ },
+ "layer_object": {
+ "children": [
+ {
+ "type": "STORAGE",
+ "storage": {
+ "storage_volumes": [
+ {
+ "volume_number": 0,
+ "device_path": "/dev/scratch/test2_00000",
+ "allocated_size_kib": 106496,
+ "usable_size_kib": 106496,
+ "disk_state": "[]"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "DRBD",
+ "drbd": {
+ "drbd_resource_definition": {
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_stripe_size_kib": 32,
+ "port": 7001,
+ "transport_type": "IP",
+ "secret": "2vD4CZEbaEAO3XIZ/ICv",
+ "down": false
+ },
+ "node_id": 0,
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_size": 32,
+ "drbd_volumes": [
+ {
+ "drbd_volume_definition": {
+ "volume_number": 0,
+ "minor_number": 1001
+ },
+ "device_path": "/dev/drbd1001",
+ "backing_device": "/dev/scratch/test2_00000",
+ "allocated_size_kib": 102460,
+ "usable_size_kib": 102400
+ }
+ ],
+ "connections": {
+ "linstor2": {
+ "connected": true,
+ "message": "Connected"
+ },
+ "linstor3": {
+ "connected": true,
+ "message": "Connected"
+ }
+ },
+ "promotion_score": 10102,
+ "may_promote": true
+ }
+ },
+ "state": {
+ "in_use": false
+ },
+ "uuid": "a567d642-02ab-4dd3-8183-a726b20aa9d9",
+ "create_timestamp": 1606836534107,
+ "volumes": [
+ {
+ "volume_number": 0,
+ "storage_pool_name": "thinpool",
+ "provider_kind": "LVM_THIN",
+ "device_path": "/dev/drbd1001",
+ "allocated_size_kib": 63,
+ "state": {
+ "disk_state": "UpToDate"
+ },
+ "layer_data_list": [
+ {
+ "type": "DRBD",
+ "data": {
+ "drbd_volume_definition": {
+ "volume_number": 0,
+ "minor_number": 1001
+ },
+ "device_path": "/dev/drbd1001",
+ "backing_device": "/dev/scratch/test2_00000",
+ "allocated_size_kib": 102460,
+ "usable_size_kib": 102400
+ }
+ },
+ {
+ "type": "STORAGE",
+ "data": {
+ "volume_number": 0,
+ "device_path": "/dev/scratch/test2_00000",
+ "allocated_size_kib": 106496,
+ "usable_size_kib": 106496,
+ "disk_state": "[]"
+ }
+ }
+ ],
+ "uuid": "2e4b6876-c6a0-4df9-8283-5633fce67dee"
+ }
+ ]
+ },
+ {
+ "name": "test2",
+ "node_name": "linstor2",
+ "props": {
+ "StorPoolName": "DfltDisklessStorPool"
+ },
+ "flags": [
+ "DISKLESS",
+ "DRBD_DISKLESS",
+ "TIE_BREAKER"
+ ],
+ "layer_object": {
+ "children": [
+ {
+ "type": "STORAGE",
+ "storage": {
+ "storage_volumes": [
+ {
+ "volume_number": 0,
+ "allocated_size_kib": 0,
+ "usable_size_kib": 102400
+ }
+ ]
+ }
+ }
+ ],
+ "type": "DRBD",
+ "drbd": {
+ "drbd_resource_definition": {
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_stripe_size_kib": 32,
+ "port": 7001,
+ "transport_type": "IP",
+ "secret": "2vD4CZEbaEAO3XIZ/ICv",
+ "down": false
+ },
+ "node_id": 2,
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_size": 32,
+ "flags": [
+ "DISKLESS",
+ "INITIALIZED"
+ ],
+ "drbd_volumes": [
+ {
+ "drbd_volume_definition": {
+ "volume_number": 0,
+ "minor_number": 1001
+ },
+ "device_path": "/dev/drbd1001",
+ "allocated_size_kib": -1,
+ "usable_size_kib": 102400
+ }
+ ],
+ "connections": {
+ "linstor1": {
+ "connected": true,
+ "message": "Connected"
+ },
+ "linstor3": {
+ "connected": true,
+ "message": "Connected"
+ }
+ },
+ "promotion_score": 2,
+ "may_promote": false
+ }
+ },
+ "state": {
+ "in_use": false
+ },
+ "uuid": "57696dfa-4e9e-4a95-93bb-787e8a34fe42",
+ "create_timestamp": 1606836534944,
+ "volumes": [
+ {
+ "volume_number": 0,
+ "storage_pool_name": "DfltDisklessStorPool",
+ "provider_kind": "DISKLESS",
+ "device_path": "/dev/drbd1001",
+ "allocated_size_kib": 0,
+ "state": {
+ "disk_state": "Diskless"
+ },
+ "layer_data_list": [
+ {
+ "type": "DRBD",
+ "data": {
+ "drbd_volume_definition": {
+ "volume_number": 0,
+ "minor_number": 1001
+ },
+ "device_path": "/dev/drbd1001",
+ "allocated_size_kib": -1,
+ "usable_size_kib": 102400
+ }
+ },
+ {
+ "type": "STORAGE",
+ "data": {
+ "volume_number": 0,
+ "allocated_size_kib": 0,
+ "usable_size_kib": 102400
+ }
+ }
+ ],
+ "uuid": "eb058821-f1f9-4d4e-8f89-c33839b71a6b"
+ }
+ ]
+ },
+ {
+ "name": "test2",
+ "node_name": "linstor3",
+ "props": {
+ "AutoSelectedStorPoolName": "thinpool",
+ "StorPoolName": "thinpool"
+ },
+ "layer_object": {
+ "children": [
+ {
+ "type": "STORAGE",
+ "storage": {
+ "storage_volumes": [
+ {
+ "volume_number": 0,
+ "device_path": "/dev/scratch/test2_00000",
+ "allocated_size_kib": 106496,
+ "usable_size_kib": 106496,
+ "disk_state": "[]"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "DRBD",
+ "drbd": {
+ "drbd_resource_definition": {
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_stripe_size_kib": 32,
+ "port": 7001,
+ "transport_type": "IP",
+ "secret": "2vD4CZEbaEAO3XIZ/ICv",
+ "down": false
+ },
+ "node_id": 1,
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_size": 32,
+ "drbd_volumes": [
+ {
+ "drbd_volume_definition": {
+ "volume_number": 0,
+ "minor_number": 1001
+ },
+ "device_path": "/dev/drbd1001",
+ "backing_device": "/dev/scratch/test2_00000",
+ "allocated_size_kib": 102460,
+ "usable_size_kib": 102400
+ }
+ ],
+ "connections": {
+ "linstor2": {
+ "connected": true,
+ "message": "Connected"
+ },
+ "linstor1": {
+ "connected": true,
+ "message": "Connected"
+ }
+ },
+ "promotion_score": 10102,
+ "may_promote": true
+ }
+ },
+ "state": {
+ "in_use": false
+ },
+ "uuid": "f2b1885d-c6e9-4878-9e0a-32d9939e7e73",
+ "create_timestamp": 1606836535621,
+ "volumes": [
+ {
+ "volume_number": 0,
+ "storage_pool_name": "thinpool",
+ "provider_kind": "LVM_THIN",
+ "device_path": "/dev/drbd1001",
+ "allocated_size_kib": 63,
+ "state": {
+ "disk_state": "UpToDate"
+ },
+ "layer_data_list": [
+ {
+ "type": "DRBD",
+ "data": {
+ "drbd_volume_definition": {
+ "volume_number": 0,
+ "minor_number": 1001
+ },
+ "device_path": "/dev/drbd1001",
+ "backing_device": "/dev/scratch/test2_00000",
+ "allocated_size_kib": 102460,
+ "usable_size_kib": 102400
+ }
+ },
+ {
+ "type": "STORAGE",
+ "data": {
+ "volume_number": 0,
+ "device_path": "/dev/scratch/test2_00000",
+ "allocated_size_kib": 106496,
+ "usable_size_kib": 106496,
+ "disk_state": "[]"
+ }
+ }
+ ],
+ "uuid": "c1911c4e-8650-4743-bbc1-5000b133f7a5"
+ }
+ ]
+ }
+ ]
+]
diff --git a/tests/linstorjsondata/storage-pools-ssdpool.json b/tests/linstorjsondata/storage-pools-ssdpool.json
new file mode 100644
index 0000000000..4f83fcb96f
--- /dev/null
+++ b/tests/linstorjsondata/storage-pools-ssdpool.json
@@ -0,0 +1,72 @@
+[
+ [
+ {
+ "storage_pool_name": "ssdpool",
+ "node_name": "kitfox",
+ "provider_kind": "LVM_THIN",
+ "props": {
+ "StorDriver/StorPoolName": "ssdpool/ssdthin"
+ },
+ "static_traits": {
+ "Provisioning": "Thin",
+ "SupportsSnapshots": "true"
+ },
+ "free_capacity": 2520332505,
+ "total_capacity": 3006480384,
+ "free_space_mgr_name": "kitfox:ssdpool",
+ "uuid": "0ec1c14b-684f-432d-83c4-06c093fd5008",
+ "supports_snapshots": true
+ },
+ {
+ "storage_pool_name": "ssdpool",
+ "node_name": "redfox",
+ "provider_kind": "LVM_THIN",
+ "props": {
+ "StorDriver/StorPoolName": "ssdpool/ssdthin"
+ },
+ "static_traits": {
+ "Provisioning": "Thin",
+ "SupportsSnapshots": "true"
+ },
+ "free_capacity": 2263879729,
+ "total_capacity": 3006480384,
+ "free_space_mgr_name": "redfox:ssdpool",
+ "uuid": "ce5cadae-0138-4ce7-8294-9c2dd648ff2c",
+ "supports_snapshots": true
+ },
+ {
+ "storage_pool_name": "ssdpool",
+ "node_name": "silverfox",
+ "provider_kind": "LVM_THIN",
+ "props": {
+ "StorDriver/StorPoolName": "ssdpool/ssdthin"
+ },
+ "static_traits": {
+ "Provisioning": "Thin",
+ "SupportsSnapshots": "true"
+ },
+ "free_capacity": 2541678516,
+ "total_capacity": 3006480384,
+ "free_space_mgr_name": "silverfox:ssdpool",
+ "uuid": "1042ae20-ec3d-494a-8188-0032df0775a2",
+ "supports_snapshots": true
+ },
+ {
+ "storage_pool_name": "ssdpool",
+ "node_name": "swiftfox",
+ "provider_kind": "LVM_THIN",
+ "props": {
+ "StorDriver/StorPoolName": "ssdpool/ssdthin"
+ },
+ "static_traits": {
+ "Provisioning": "Thin",
+ "SupportsSnapshots": "true"
+ },
+ "free_capacity": 2682983094,
+ "total_capacity": 3006480384,
+ "free_space_mgr_name": "swiftfox:ssdpool",
+ "uuid": "38c8220f-b0c1-4977-8b3f-0376bc5f9ee2",
+ "supports_snapshots": true
+ }
+ ]
+]
diff --git a/tests/linstorjsondata/storage-pools.json b/tests/linstorjsondata/storage-pools.json
new file mode 100644
index 0000000000..446ae05ba9
--- /dev/null
+++ b/tests/linstorjsondata/storage-pools.json
@@ -0,0 +1,192 @@
+[
+ [
+ {
+ "storage_pool_name": "DfltDisklessStorPool",
+ "node_name": "kitfox",
+ "provider_kind": "DISKLESS",
+ "static_traits": {
+ "SupportsSnapshots": "false"
+ },
+ "free_capacity": 9223372036854775807,
+ "total_capacity": 9223372036854775807,
+ "free_space_mgr_name": "kitfox:DfltDisklessStorPool",
+ "uuid": "d43400aa-cec3-4517-9eac-e188821dd537",
+ "supports_snapshots": false
+ },
+ {
+ "storage_pool_name": "DfltDisklessStorPool",
+ "node_name": "redfox",
+ "provider_kind": "DISKLESS",
+ "static_traits": {
+ "SupportsSnapshots": "false"
+ },
+ "free_capacity": 9223372036854775807,
+ "total_capacity": 9223372036854775807,
+ "free_space_mgr_name": "redfox:DfltDisklessStorPool",
+ "uuid": "227873ed-422b-4200-a01b-13050218d67b",
+ "supports_snapshots": false
+ },
+ {
+ "storage_pool_name": "DfltDisklessStorPool",
+ "node_name": "silverfox",
+ "provider_kind": "DISKLESS",
+ "static_traits": {
+ "SupportsSnapshots": "false"
+ },
+ "free_capacity": 9223372036854775807,
+ "total_capacity": 9223372036854775807,
+ "free_space_mgr_name": "silverfox:DfltDisklessStorPool",
+ "uuid": "62540ab6-8eea-4283-8e96-338ece66bf68",
+ "supports_snapshots": false
+ },
+ {
+ "storage_pool_name": "DfltDisklessStorPool",
+ "node_name": "swiftfox",
+ "provider_kind": "DISKLESS",
+ "static_traits": {
+ "SupportsSnapshots": "false"
+ },
+ "free_capacity": 9223372036854775807,
+ "total_capacity": 9223372036854775807,
+ "free_space_mgr_name": "swiftfox:DfltDisklessStorPool",
+ "uuid": "0299ef6d-4a72-49c6-bcb1-681875b9da51",
+ "supports_snapshots": false
+ },
+ {
+ "storage_pool_name": "hddpool",
+ "node_name": "kitfox",
+ "provider_kind": "LVM",
+ "props": {
+ "StorDriver/StorPoolName": "hddpool"
+ },
+ "static_traits": {
+ "Provisioning": "Fat",
+ "SupportsSnapshots": "false"
+ },
+ "free_capacity": 46365757440,
+ "total_capacity": 46884159488,
+ "free_space_mgr_name": "kitfox:hddpool",
+ "uuid": "896402d9-a128-45b2-9a22-73a75ff02cf8",
+ "supports_snapshots": false
+ },
+ {
+ "storage_pool_name": "hddpool",
+ "node_name": "redfox",
+ "provider_kind": "LVM",
+ "props": {
+ "StorDriver/StorPoolName": "hddpool"
+ },
+ "static_traits": {
+ "Provisioning": "Fat",
+ "SupportsSnapshots": "false"
+ },
+ "free_capacity": 44282089472,
+ "total_capacity": 46884159488,
+ "free_space_mgr_name": "redfox:hddpool",
+ "uuid": "8b1ba3b9-a202-4d79-bc1e-bd0c4b44d700",
+ "supports_snapshots": false
+ },
+ {
+ "storage_pool_name": "hddpool",
+ "node_name": "silverfox",
+ "provider_kind": "LVM",
+ "props": {
+ "StorDriver/StorPoolName": "hddpool"
+ },
+ "static_traits": {
+ "Provisioning": "Fat",
+ "SupportsSnapshots": "false"
+ },
+ "free_capacity": 46346166272,
+ "total_capacity": 46884159488,
+ "free_space_mgr_name": "silverfox:hddpool",
+ "uuid": "0425df26-da1f-4980-af55-1117b7671b28",
+ "supports_snapshots": false
+ },
+ {
+ "storage_pool_name": "hddpool",
+ "node_name": "swiftfox",
+ "provider_kind": "LVM",
+ "props": {
+ "StorDriver/StorPoolName": "hddpool"
+ },
+ "static_traits": {
+ "Provisioning": "Fat",
+ "SupportsSnapshots": "false"
+ },
+ "free_capacity": 44498202624,
+ "total_capacity": 46884159488,
+ "free_space_mgr_name": "swiftfox:hddpool",
+ "uuid": "5be30898-c8fa-4bea-a54e-99062d43ab30",
+ "supports_snapshots": false
+ },
+ {
+ "storage_pool_name": "ssdpool",
+ "node_name": "kitfox",
+ "provider_kind": "LVM_THIN",
+ "props": {
+ "StorDriver/StorPoolName": "ssdpool/ssdthin"
+ },
+ "static_traits": {
+ "Provisioning": "Thin",
+ "SupportsSnapshots": "true"
+ },
+ "free_capacity": 2520332505,
+ "total_capacity": 3006480384,
+ "free_space_mgr_name": "kitfox:ssdpool",
+ "uuid": "0ec1c14b-684f-432d-83c4-06c093fd5008",
+ "supports_snapshots": true
+ },
+ {
+ "storage_pool_name": "ssdpool",
+ "node_name": "redfox",
+ "provider_kind": "LVM_THIN",
+ "props": {
+ "StorDriver/StorPoolName": "ssdpool/ssdthin"
+ },
+ "static_traits": {
+ "Provisioning": "Thin",
+ "SupportsSnapshots": "true"
+ },
+ "free_capacity": 2263879729,
+ "total_capacity": 3006480384,
+ "free_space_mgr_name": "redfox:ssdpool",
+ "uuid": "ce5cadae-0138-4ce7-8294-9c2dd648ff2c",
+ "supports_snapshots": true
+ },
+ {
+ "storage_pool_name": "ssdpool",
+ "node_name": "silverfox",
+ "provider_kind": "LVM_THIN",
+ "props": {
+ "StorDriver/StorPoolName": "ssdpool/ssdthin"
+ },
+ "static_traits": {
+ "Provisioning": "Thin",
+ "SupportsSnapshots": "true"
+ },
+ "free_capacity": 2541678516,
+ "total_capacity": 3006480384,
+ "free_space_mgr_name": "silverfox:ssdpool",
+ "uuid": "1042ae20-ec3d-494a-8188-0032df0775a2",
+ "supports_snapshots": true
+ },
+ {
+ "storage_pool_name": "ssdpool",
+ "node_name": "swiftfox",
+ "provider_kind": "LVM_THIN",
+ "props": {
+ "StorDriver/StorPoolName": "ssdpool/ssdthin"
+ },
+ "static_traits": {
+ "Provisioning": "Thin",
+ "SupportsSnapshots": "true"
+ },
+ "free_capacity": 2682983094,
+ "total_capacity": 3006480384,
+ "free_space_mgr_name": "swiftfox:ssdpool",
+ "uuid": "38c8220f-b0c1-4977-8b3f-0376bc5f9ee2",
+ "supports_snapshots": true
+ }
+ ]
+]
diff --git a/tests/linstorjsondata/volume-def-list.json b/tests/linstorjsondata/volume-def-list.json
new file mode 100644
index 0000000000..130d258395
--- /dev/null
+++ b/tests/linstorjsondata/volume-def-list.json
@@ -0,0 +1,158 @@
+[
+ [
+ {
+ "name": "test",
+ "props": {
+ "DrbdPrimarySetOn": "LINSTOR2",
+ "DrbdOptions/Handlers/quorum-lost": "/usr/bin/false",
+ "DrbdOptions/Resource/on-no-quorum": "io-error",
+ "DrbdOptions/Resource/quorum": "majority"
+ },
+ "layer_data": [
+ {
+ "type": "DRBD",
+ "data": {
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_stripe_size_kib": 32,
+ "port": 7000,
+ "transport_type": "IP",
+ "secret": "nho9cGTqxHSpsL3PVRlh",
+ "down": false
+ }
+ },
+ {
+ "type": "STORAGE"
+ }
+ ],
+ "uuid": "8a6f32cd-05c7-4ab0-b1e4-28ae7bd9716c",
+ "resource_group_name": "DfltRscGrp",
+ "volume_definitions": [
+ {
+ "volume_number": 0,
+ "size_kib": 102400,
+ "props": {
+ "DrbdCurrentGi": "8D2C5D7B9EFDE716",
+ "DrbdOptions/Disk/discard-zeroes-if-aligned": "yes",
+ "DrbdOptions/Disk/rs-discard-granularity": "65536"
+ },
+ "layer_data": [
+ {
+ "type": "DRBD",
+ "data": {
+ "volume_number": 0,
+ "minor_number": 1000
+ }
+ },
+ {
+ "type": "STORAGE"
+ }
+ ],
+ "uuid": "d5711c63-4aa8-4d01-97a6-982129fb757a"
+ }
+ ]
+ },
+ {
+ "name": "test2",
+ "props": {
+ "DrbdPrimarySetOn": "LINSTOR1",
+ "DrbdOptions/Resource/on-no-quorum": "io-error",
+ "DrbdOptions/Resource/quorum": "majority"
+ },
+ "layer_data": [
+ {
+ "type": "DRBD",
+ "data": {
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_stripe_size_kib": 32,
+ "port": 7001,
+ "transport_type": "IP",
+ "secret": "2vD4CZEbaEAO3XIZ/ICv",
+ "down": false
+ }
+ },
+ {
+ "type": "STORAGE"
+ }
+ ],
+ "uuid": "1b0b86a3-eba1-4453-b8ac-b8389f1ef732",
+ "resource_group_name": "libvirtgrp",
+ "volume_definitions": [
+ {
+ "volume_number": 0,
+ "size_kib": 102400,
+ "props": {
+ "DrbdCurrentGi": "65E85E9CE441095A",
+ "DrbdOptions/Disk/discard-zeroes-if-aligned": "yes",
+ "DrbdOptions/Disk/rs-discard-granularity": "65536"
+ },
+ "layer_data": [
+ {
+ "type": "DRBD",
+ "data": {
+ "volume_number": 0,
+ "minor_number": 1001
+ }
+ },
+ {
+ "type": "STORAGE"
+ }
+ ],
+ "uuid": "3d859e23-db34-4b29-a1d9-7237dca34b48"
+ }
+ ]
+ },
+ {
+ "name": "test3",
+ "props": {
+ "DrbdPrimarySetOn": "LINSTOR2",
+ "DrbdOptions/Resource/on-no-quorum": "io-error",
+ "DrbdOptions/Resource/quorum": "majority"
+ },
+ "layer_data": [
+ {
+ "type": "DRBD",
+ "data": {
+ "peer_slots": 7,
+ "al_stripes": 1,
+ "al_stripe_size_kib": 32,
+ "port": 7002,
+ "transport_type": "IP",
+ "secret": "YfrSh5eLhZStJ0JHFaVx",
+ "down": false
+ }
+ },
+ {
+ "type": "STORAGE"
+ }
+ ],
+ "uuid": "1d14069d-2a17-4865-be9f-73be985c029e",
+ "resource_group_name": "libvirtgrp",
+ "volume_definitions": [
+ {
+ "volume_number": 0,
+ "size_kib": 102400,
+ "props": {
+ "DrbdCurrentGi": "57D5597EEFCA7CCE",
+ "DrbdOptions/Disk/discard-zeroes-if-aligned": "yes",
+ "DrbdOptions/Disk/rs-discard-granularity": "65536"
+ },
+ "layer_data": [
+ {
+ "type": "DRBD",
+ "data": {
+ "volume_number": 0,
+ "minor_number": 1002
+ }
+ },
+ {
+ "type": "STORAGE"
+ }
+ ],
+ "uuid": "f57e6b5f-e516-4a7d-ba3a-24af5cad0428"
+ }
+ ]
+ }
+ ]
+]
diff --git a/tests/linstorjsondata/volume-definition-test2.json b/tests/linstorjsondata/volume-definition-test2.json
new file mode 100644
index 0000000000..cf9b8d3655
--- /dev/null
+++ b/tests/linstorjsondata/volume-definition-test2.json
@@ -0,0 +1 @@
+[[{"name":"test2","props":{"DrbdPrimarySetOn":"LINSTOR1","DrbdOptions/Resource/on-no-quorum":"io-error","DrbdOptions/Resource/quorum":"majority"},"layer_data":[{"type":"DRBD","data":{"peer_slots":7,"al_stripes":1,"al_stripe_size_kib":32,"port":7001,"transport_type":"IP","secret":"N5JDi3hRpTqPnIz/uioJ","down":false}},{"type":"STORAGE"}],"uuid":"fe7f23be-7f1f-4d31-b335-bcde071d5b99","resource_group_name":"DfltRscGrp","volume_definitions":[{"volume_number":0,"size_kib":102400,"props":{"DrbdCurrentGi":"7A18B00623CC057A","DrbdOptions/Disk/discard-zeroes-if-aligned":"yes","DrbdOptions/Disk/rs-discard-granularity":"65536"},"layer_data":[{"type":"DRBD","data":{"volume_number":0,"minor_number":1001}},{"type":"STORAGE"}],"uuid":"984e57bd-adec-464f-b9a3-ce0a10ae2711"}]}]]
diff --git a/tests/meson.build b/tests/meson.build
index f1d91ca50d..616e904b26 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -519,6 +519,12 @@ if conf.has('WITH_STORAGE_SHEEPDOG')
]
endif
+if conf.has('WITH_STORAGE_LINSTOR')
+ tests += [
+ { 'name': 'storagebackendlinstortest', 'link_with': [ storage_driver_impl_lib, storage_backend_linstor_priv_lib ] },
+ ]
+endif
+
if conf.has('WITH_VBOX')
tests += [
{ 'name': 'vboxsnapshotxmltest', 'link_with': [ vbox_driver_impl ] },
diff --git a/tests/storagebackendlinstortest.c b/tests/storagebackendlinstortest.c
new file mode 100644
index 0000000000..6c35bac2e9
--- /dev/null
+++ b/tests/storagebackendlinstortest.c
@@ -0,0 +1,371 @@
+/*
+ * storagebackendlinstortest.c: test for linstor storage backend
+ *
+ * Copyright (C) 2020-2021 Rene Peinthor
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+
+#include <config.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdio.h>
+
+#include "internal.h"
+#include "testutils.h"
+#define LIBVIRT_STORAGE_BACKEND_LINSTOR_PRIV_H_ALLOW
+#include "storage/storage_backend_linstor_priv.h"
+
+#define VIR_FROM_THIS VIR_FROM_NONE
+
+struct testStoragePoolListParserData {
+ const char *input_json;
+ const char *poolxml;
+ const char *node_name;
+ int expected_return;
+ uint64_t expected_capacity;
+ uint64_t expected_allocation;
+};
+
+struct testVolumeDefinitionListParserData {
+ const char *input_json;
+ const char *poolxml;
+ const char *volxml;
+ int expected_return;
+ uint64_t expected_capacity;
+};
+
+struct testResourceListParserData {
+ const char *rsclist_json;
+ const char *voldeflist_json;
+ const char *poolxml;
+ const char *noden_name;
+ const char *rsc_filter_json;
+ int expected_return;
+ size_t expected_volume_count;
+};
+
+struct testResourceGroupListParserData {
+ const char *input_json;
+ const char *poolxml;
+ const char *rsc_grp;
+ int expected_return;
+ const char *expected_storpools;
+};
+
+struct testResourceDeployedData {
+ const char *input_json;
+ const char *rscname;
+ const char *nodename;
+ int expected_return;
+};
+
+
+static int
+test_resourcegroup_list_parser(const void *opaque)
+{
+ const struct testResourceGroupListParserData *data = opaque;
+ g_autofree char *poolxml = NULL;
+ g_autoptr(virStoragePoolDef) pool = NULL;
+ g_autofree char *inputJson = NULL;
+ g_autofree char *indata = NULL;
+ virJSONValuePtr storagePoolList = NULL;
+
+ inputJson = g_strdup_printf("%s/linstorjsondata/%s",
+ abs_srcdir, data->input_json);
+
+ poolxml = g_strdup_printf("%s/storagepoolxml2xmlin/%s",
+ abs_srcdir, data->poolxml);
+
+ if (!(pool = virStoragePoolDefParseFile(poolxml))) {
+ return -1;
+ }
+
+ if (virTestLoadFile(inputJson, &indata) < 0)
+ return -1;
+
+ if (virStorageBackendLinstorParseResourceGroupList(data->rsc_grp,
+ indata,
+ &storagePoolList) != 0) {
+ virJSONValueFree(storagePoolList);
+ return -1;
+ }
+
+ if (storagePoolList == NULL) {
+ return -1;
+ }
+
+ if (g_strcmp0(virJSONValueToString(storagePoolList, false),
+ data->expected_storpools) != 0) {
+ virJSONValueFree(storagePoolList);
+ return -1;
+ }
+
+ virJSONValueFree(storagePoolList);
+ return 0;
+}
+
+
+static int
+run_test_resourcegroup_list_parser(void)
+{
+ int ret = 0;
+
+ struct testResourceGroupListParserData rscGrpTest[] = {
+ { "resource-group.json", "pool-linstor.xml", "libvirtgrp", 0, "[\"thinpool\"]" },
+ { NULL, NULL, NULL, 0, NULL }
+ };
+
+ /* volumedefinition list parse */
+ struct testResourceGroupListParserData *test = rscGrpTest;
+ {
+ while (test->input_json != NULL) {
+ if (virTestRun(
+ "resourcegroup_list_parser",
+ test_resourcegroup_list_parser, test) < 0)
+ ret = -1;
+ ++test;
+ }
+ }
+ return ret;
+}
+
+
+static int
+test_storagepool_list_parser(const void *opaque)
+{
+ const struct testStoragePoolListParserData *data = opaque;
+ g_autofree char *poolxml = NULL;
+ g_autoptr(virStoragePoolDef) pool = NULL;
+ g_autofree char *inputJson = NULL;
+ g_autofree char *indata = NULL;
+
+ inputJson = g_strdup_printf("%s/linstorjsondata/%s",
+ abs_srcdir, data->input_json);
+
+ poolxml = g_strdup_printf("%s/storagepoolxml2xmlin/%s",
+ abs_srcdir, data->poolxml);
+
+ if (!(pool = virStoragePoolDefParseFile(poolxml)))
+ return -1;
+
+ if (virTestLoadFile(inputJson, &indata) < 0)
+ return -1;
+
+ if (virStorageBackendLinstorParseStoragePoolList(pool, data->node_name, indata) !=
+ data->expected_return)
+ return -1;
+
+ if (data->expected_return)
+ return 0;
+
+ if (pool->capacity == data->expected_capacity &&
+ pool->allocation == data->expected_allocation)
+ return 0;
+
+ return -1;
+}
+
+
+static int
+run_test_storagepool_list_parser(void)
+{
+ int ret = 0;
+
+ struct testStoragePoolListParserData storPoolTest[] = {
+ { "storage-pools-ssdpool.json", "pool-linstor.xml", "redfox", 0, 3078635913216, 760423070720 },
+ { "storage-pools.json", "pool-linstor.xml", "silverfox", 0, 51088015228928, 1026862166016 },
+ { NULL, NULL, NULL, 0, 0, 0 }
+ };
+ /* volumedefinition list parse */
+ struct testStoragePoolListParserData *test = storPoolTest;
+ {
+ while (test->input_json != NULL) {
+ if (virTestRun(
+ "test_storagepool_list_parser",
+ test_storagepool_list_parser, test) < 0)
+ ret = -1;
+ ++test;
+ }
+ }
+ return ret;
+}
+
+
+static int
+test_volumedefinition_list_parser(const void *opaque)
+{
+ const struct testVolumeDefinitionListParserData *data = opaque;
+ g_autoptr(virStoragePoolDef) pool = NULL;
+ g_autoptr(virStorageVolDef) vol = NULL;
+ g_autofree char *poolxml = NULL;
+ g_autofree char *volxml = NULL;
+ g_autofree char *inputJson = NULL;
+ g_autofree char *indata = NULL;
+
+ inputJson = g_strdup_printf("%s/linstorjsondata/%s",
+ abs_srcdir, data->input_json);
+
+ poolxml = g_strdup_printf("%s/storagepoolxml2xmlin/%s",
+ abs_srcdir, data->poolxml);
+
+ volxml = g_strdup_printf("%s/storagevolxml2xmlin/%s",
+ abs_srcdir, data->volxml);
+
+ if (!(pool = virStoragePoolDefParseFile(poolxml)))
+ return -1;
+
+ if (!(vol = virStorageVolDefParseFile(pool, volxml, 0)))
+ return -1;
+
+ if (virTestLoadFile(inputJson, &indata) < 0)
+ return -1;
+
+ if (virStorageBackendLinstorParseVolumeDefinition(vol, indata) !=
+ data->expected_return)
+ return -1;
+
+ if (data->expected_return)
+ return 0;
+
+ if (vol->target.capacity == data->expected_capacity)
+ return 0;
+
+ return -1;
+}
+
+
+static int
+run_test_volumedefinition_list_parser(void)
+{
+ int ret = 0;
+
+ struct testVolumeDefinitionListParserData volumeDefTest[] = {
+ { "volume-definition-test2.json", "pool-linstor.xml", "vol-linstor.xml", 0, 104857600 },
+ { NULL, NULL, NULL, 0, 0 }
+ };
+ /* volumedefinition list parse */
+ struct testVolumeDefinitionListParserData *test = volumeDefTest;
+ {
+ while (test->input_json != NULL) {
+ if (virTestRun(
+ "volumedefinition_list_parser",
+ test_volumedefinition_list_parser, test) < 0)
+ ret = -1;
+ ++test;
+ }
+ }
+ return ret;
+}
+
+
+static int
+testResourceListParser(const void *opaque)
+{
+ int ret = -1;
+ const struct testResourceListParserData *data = opaque;
+ virStoragePoolObjPtr pool = NULL;
+ virStoragePoolDefPtr poolDef = NULL;
+ g_autofree char *poolxml = NULL;
+ g_autofree char *rscListJsonFile = NULL;
+ g_autofree char *volDefListJsonFile = NULL;
+ g_autofree char *rscListData = NULL;
+ g_autofree char *volDefListData = NULL;
+ virJSONValuePtr rscFilterArr = NULL;
+
+ rscListJsonFile = g_strdup_printf("%s/linstorjsondata/%s",
+ abs_srcdir, data->rsclist_json);
+
+ volDefListJsonFile = g_strdup_printf("%s/linstorjsondata/%s",
+ abs_srcdir, data->voldeflist_json);
+
+ poolxml = g_strdup_printf("%s/storagepoolxml2xmlin/%s",
+ abs_srcdir, data->poolxml);
+
+ rscFilterArr = virJSONValueFromString(data->rsc_filter_json);
+
+ if (!(poolDef = virStoragePoolDefParseFile(poolxml)))
+ goto cleanup;
+
+ if (!(pool = virStoragePoolObjNew()))
+ goto cleanup;
+
+ virStoragePoolObjSetDef(pool, poolDef);
+
+ if (virTestLoadFile(rscListJsonFile, &rscListData) < 0)
+ goto cleanup;
+
+ if (virTestLoadFile(volDefListJsonFile, &volDefListData) < 0)
+ goto cleanup;
+
+ if (virStorageBackendLinstorParseResourceList(pool,
+ data->noden_name,
+ rscFilterArr,
+ rscListData,
+ volDefListData) != data->expected_return)
+ goto cleanup;
+
+ if (data->expected_return) {
+ ret = 0;
+ goto cleanup;
+ }
+
+ if (data->expected_volume_count == virStoragePoolObjGetVolumesCount(pool))
+ ret = 0;
+
+ cleanup:
+ virStoragePoolObjEndAPI(&pool);
+ return ret;
+}
+
+static int
+runTestResourceListParser(void)
+{
+ int ret = 0;
+ struct testResourceListParserData rscListParseData[] = {
+ { "resource-list-test2.json", "volume-def-list.json", "pool-linstor.xml", "linstor1", "[\"test2\"]", 0, 1 },
+ { NULL, NULL, NULL, NULL, NULL, 0, 0}
+ };
+
+ struct testResourceListParserData *test = rscListParseData;
+ {
+ while (test->rsclist_json != NULL) {
+ if (virTestRun(
+ "virStorageBackendLinstorParseResourceList",
+ testResourceListParser, test) < 0)
+ ret = -1;
+ ++test;
+ }
+ }
+
+ return ret;
+}
+
+
+static int
+mymain(void)
+{
+ int ret = 0;
+
+ ret = run_test_resourcegroup_list_parser() ? -1 : ret;
+ ret = run_test_storagepool_list_parser() ? -1 : ret;
+ ret = run_test_volumedefinition_list_parser() ? -1 : ret;
+ ret = runTestResourceListParser() ? -1 : ret;
+
+ return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
+}
+
+VIR_TEST_MAIN(mymain)
diff --git a/tests/storagepoolcapsschemadata/poolcaps-fs.xml b/tests/storagepoolcapsschemadata/poolcaps-fs.xml
index eee75af746..2ddb18082e 100644
--- a/tests/storagepoolcapsschemadata/poolcaps-fs.xml
+++ b/tests/storagepoolcapsschemadata/poolcaps-fs.xml
@@ -204,4 +204,11 @@
</enum>
</volOptions>
</pool>
+ <pool type='linstor' supported='no'>
+ <volOptions>
+ <defaultFormat type='raw'/>
+ <enum name='targetFormatType'>
+ </enum>
+ </volOptions>
+ </pool>
</storagepoolCapabilities>
diff --git a/tests/storagepoolcapsschemadata/poolcaps-full.xml b/tests/storagepoolcapsschemadata/poolcaps-full.xml
index 805950a937..cdce2d1ad8 100644
--- a/tests/storagepoolcapsschemadata/poolcaps-full.xml
+++ b/tests/storagepoolcapsschemadata/poolcaps-full.xml
@@ -204,4 +204,11 @@
</enum>
</volOptions>
</pool>
+ <pool type='linstor' supported='yes'>
+ <volOptions>
+ <defaultFormat type='raw'/>
+ <enum name='targetFormatType'>
+ </enum>
+ </volOptions>
+ </pool>
</storagepoolCapabilities>
diff --git a/tests/storagepoolxml2argvtest.c b/tests/storagepoolxml2argvtest.c
index 967d1f21a8..a632b07a00 100644
--- a/tests/storagepoolxml2argvtest.c
+++ b/tests/storagepoolxml2argvtest.c
@@ -68,6 +68,7 @@ testCompareXMLToArgvFiles(bool shouldFail,
case VIR_STORAGE_POOL_GLUSTER:
case VIR_STORAGE_POOL_ZFS:
case VIR_STORAGE_POOL_VSTORAGE:
+ case VIR_STORAGE_POOL_LINSTOR:
case VIR_STORAGE_POOL_LAST:
default:
VIR_TEST_DEBUG("pool type '%s' has no xml2argv test", defTypeStr);
diff --git a/tests/storagepoolxml2xmlin/pool-linstor.xml b/tests/storagepoolxml2xmlin/pool-linstor.xml
new file mode 100644
index 0000000000..36f2781e21
--- /dev/null
+++ b/tests/storagepoolxml2xmlin/pool-linstor.xml
@@ -0,0 +1,8 @@
+<pool type="linstor">
+ <source>
+ <name>DfltRscGrp</name>
+ <host name="linstor1"/>
+ </source>
+ <uuid>65fcba04-5b13-bd93-cff3-52ce48e11ad7</uuid>
+ <name>linstor</name>
+</pool>
diff --git a/tests/storagevolxml2xmlin/vol-linstor.xml b/tests/storagevolxml2xmlin/vol-linstor.xml
new file mode 100644
index 0000000000..7369f4f673
--- /dev/null
+++ b/tests/storagevolxml2xmlin/vol-linstor.xml
@@ -0,0 +1,10 @@
+<volume type='network'>
+ <name>test2</name>
+ <source>
+ </source>
+ <capacity unit='bytes'>1024</capacity>
+ <allocation unit='bytes'>0</allocation>
+ <target>
+ <path>/dev/drbd1000</path>
+ </target>
+</volume>
diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c
index 7835fa6d75..0e5bec1688 100644
--- a/tools/virsh-pool.c
+++ b/tools/virsh-pool.c
@@ -1237,6 +1237,9 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
case VIR_STORAGE_POOL_VSTORAGE:
flags |= VIR_CONNECT_LIST_STORAGE_POOLS_VSTORAGE;
break;
+ case VIR_STORAGE_POOL_LINSTOR:
+ flags |= VIR_CONNECT_LIST_STORAGE_POOLS_LINSTOR;
+ break;
case VIR_STORAGE_POOL_LAST:
break;
}
--
2.30.0
4
4
Here is the updated PATCH with split commits,
and changes from the first review.
Rene Peinthor (3):
storage: Linstor configuration
storage: Linstor support
storage: Add tests for the Linstor storage backend
docs/schemas/storagepool.rng | 27 +
docs/storage.html.in | 39 +
include/libvirt/libvirt-storage.h | 1 +
meson.build | 6 +
meson_options.txt | 1 +
po/POTFILES.in | 1 +
src/conf/domain_conf.c | 1 +
src/conf/storage_conf.c | 14 +-
src/conf/storage_conf.h | 1 +
src/conf/virstorageobj.c | 4 +-
src/storage/meson.build | 25 +
src/storage/storage_backend.c | 6 +
src/storage/storage_backend_linstor.c | 781 ++++++++++++++++++
src/storage/storage_backend_linstor.h | 24 +
src/storage/storage_backend_linstor_priv.h | 53 ++
src/storage/storage_driver.c | 1 +
src/test/test_driver.c | 1 +
tests/linstorjsondata/broken.json | 1 +
tests/linstorjsondata/resource-group.json | 1 +
.../linstorjsondata/resource-list-test2.json | 332 ++++++++
.../storage-pools-ssdpool.json | 72 ++
tests/linstorjsondata/storage-pools.json | 192 +++++
tests/linstorjsondata/volume-def-list.json | 158 ++++
.../volume-definition-test2.json | 1 +
tests/meson.build | 6 +
tests/storagebackendlinstortest.c | 372 +++++++++
.../storagepoolcapsschemadata/poolcaps-fs.xml | 7 +
.../poolcaps-full.xml | 7 +
tests/storagepoolxml2argvtest.c | 1 +
tests/storagepoolxml2xmlin/pool-linstor.xml | 8 +
tests/storagevolxml2xmlin/vol-linstor.xml | 10 +
tools/virsh-pool.c | 3 +
32 files changed, 2155 insertions(+), 2 deletions(-)
create mode 100644 src/storage/storage_backend_linstor.c
create mode 100644 src/storage/storage_backend_linstor.h
create mode 100644 src/storage/storage_backend_linstor_priv.h
create mode 100644 tests/linstorjsondata/broken.json
create mode 100644 tests/linstorjsondata/resource-group.json
create mode 100644 tests/linstorjsondata/resource-list-test2.json
create mode 100644 tests/linstorjsondata/storage-pools-ssdpool.json
create mode 100644 tests/linstorjsondata/storage-pools.json
create mode 100644 tests/linstorjsondata/volume-def-list.json
create mode 100644 tests/linstorjsondata/volume-definition-test2.json
create mode 100644 tests/storagebackendlinstortest.c
create mode 100644 tests/storagepoolxml2xmlin/pool-linstor.xml
create mode 100644 tests/storagevolxml2xmlin/vol-linstor.xml
--
2.30.0
1
3
19 Jan '21
Accoring to current agreement mentioned in list recently [1]. Now
vstorage driver will be build in default devs environment and also can
be included into CI. This also closes quite old abandoned thread on
alternative checks for binaries in case of this same driver [2].
[1] https://www.redhat.com/archives/libvir-list/2021-January/msg00750.html
[2] https://www.redhat.com/archives/libvir-list/2020-July/msg00697.html
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy(a)virtuozzo.com>
---
meson.build | 22 ++--------------------
src/storage/storage_backend_vstorage.c | 4 ++--
2 files changed, 4 insertions(+), 22 deletions(-)
diff --git a/meson.build b/meson.build
index b5277b4..e3e7ff7 100644
--- a/meson.build
+++ b/meson.build
@@ -1957,26 +1957,8 @@ if conf.has('WITH_LIBVIRTD')
endif
if not get_option('storage_vstorage').disabled()
- vstorage_enable = true
-
- foreach name : ['vstorage', 'vstorage-mount', 'umount']
- set_variable(
- '@0@_prog'.format(name.underscorify()),
- find_program(name, required: get_option('storage_vstorage'), dirs: libvirt_sbin_path)
- )
- if not get_variable('@0@_prog'.format(name.underscorify())).found()
- vstorage_enable = false
- endif
- endforeach
-
- if vstorage_enable
- use_storage = true
- conf.set('WITH_STORAGE_VSTORAGE', 1)
- foreach name : ['vstorage', 'vstorage-mount', 'umount']
- path = get_variable('@0@_prog'.format(name.underscorify())).path()
- conf.set_quoted(name.to_upper(), path)
- endforeach
- endif
+ use_storage = true
+ conf.set('WITH_STORAGE_VSTORAGE', 1)
endif
if not get_option('storage_zfs').disabled()
diff --git a/src/storage/storage_backend_vstorage.c b/src/storage/storage_backend_vstorage.c
index 6cff9f1..7c67407 100644
--- a/src/storage/storage_backend_vstorage.c
+++ b/src/storage/storage_backend_vstorage.c
@@ -65,7 +65,7 @@ virStorageBackendVzPoolStart(virStoragePoolObjPtr pool)
mode = g_strdup_printf("%o", def->target.perms.mode);
- cmd = virCommandNewArgList(VSTORAGE_MOUNT,
+ cmd = virCommandNewArgList("vstorage-mount",
"-c", def->source.name,
def->target.path,
"-m", mode,
@@ -129,7 +129,7 @@ virStorageBackendVzPoolStop(virStoragePoolObjPtr pool)
if ((rc = virStorageBackendVzIsMounted(pool)) != 1)
return rc;
- cmd = virCommandNewArgList(UMOUNT, def->target.path, NULL);
+ cmd = virCommandNewArgList("umount", def->target.path, NULL);
return virCommandRun(cmd, NULL);
}
--
1.8.3.1
2
1
It breaks on using - in VSTORAGE-MOUNT definition with:
In file included from ../config.h:19:0,
from ../src/util/viraudit.c:22:
./meson-config.h:180:17: error: ISO C99 requires whitespace after the macro name [-Werror]
#define VSTORAGE-MOUNT "/usr/bin/vstorage-mount"
^
./meson-config.h:180:0: error: "VSTORAGE" redefined [-Werror]
#define VSTORAGE-MOUNT "/usr/bin/vstorage-mount"
^
./meson-config.h:178:0: note: this is the location of the previous definition
#define VSTORAGE "/usr/bin/vstorage"
^
#define VSTORAGE-MOUNT "/usr/bin/vstorage-mount"
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index b5277b4..aff2565 100644
--- a/meson.build
+++ b/meson.build
@@ -1974,7 +1974,7 @@ if conf.has('WITH_LIBVIRTD')
conf.set('WITH_STORAGE_VSTORAGE', 1)
foreach name : ['vstorage', 'vstorage-mount', 'umount']
path = get_variable('@0@_prog'.format(name.underscorify())).path()
- conf.set_quoted(name.to_upper(), path)
+ conf.set_quoted(name.underscorify().to_upper(), path)
endforeach
endif
endif
--
1.8.3.1
1
1
18 Jan '21
I've noticed this while working on virtio-pmem-pci patches.
Michal Prívozník (2):
conf: Turn @uuid member of _virDomainMemoryDef struct into a pointer
conf: Move generation of NVDIMM UUID into post parse callback
src/conf/domain_conf.c | 47 +++++++++++++++++++++++++----------------
src/conf/domain_conf.h | 2 +-
src/qemu/qemu_command.c | 2 +-
3 files changed, 31 insertions(+), 20 deletions(-)
--
2.26.2
2
4
Fix the errors from commit a7cafa7bc2 when build RPMs from spec file:
error: Installed (but unpackaged) file(s) found:
/usr/share/man/man8/virtinterfaced.8.gz
/usr/share/man/man8/virtlxcd.8.gz
/usr/share/man/man8/virtnetworkd.8.gz
/usr/share/man/man8/virtnodedevd.8.gz
/usr/share/man/man8/virtnwfilterd.8.gz
/usr/share/man/man8/virtproxyd.8.gz
/usr/share/man/man8/virtqemud.8.gz
/usr/share/man/man8/virtsecretd.8.gz
/usr/share/man/man8/virtstoraged.8.gz
/usr/share/man/man8/virtvboxd.8.gz
/usr/share/man/man8/virtxend.8.gz
Signed-off-by: Han Han <hhan(a)redhat.com>
---
Diff from v1: remove man page for virtvzd and virtbhyved
---
libvirt.spec.in | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index b5892987cf..9458a7a02f 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1581,6 +1581,16 @@ exit 0
%{_mandir}/man8/virtlogd.8*
%{_mandir}/man8/virtlockd.8*
%{_mandir}/man8/virtproxyd.8*
+%{_mandir}/man8/virtxend.8*
+%{_mandir}/man8/virtvboxd.8*
+%{_mandir}/man8/virtstoraged.8*
+%{_mandir}/man8/virtsecretd.8*
+%{_mandir}/man8/virtqemud.8*
+%{_mandir}/man8/virtnwfilterd.8*
+%{_mandir}/man8/virtnodedevd.8*
+%{_mandir}/man8/virtnetworkd.8*
+%{_mandir}/man8/virtlxcd.8*
+%{_mandir}/man8/virtinterfaced.8*
%{_mandir}/man7/virkey*.7*
%files daemon-config-network
--
2.29.2
2
1
To start multiple KVM guests from one qcow2 image with transient disk option
by Masayoshi Mizuma 18 Jan '21
by Masayoshi Mizuma 18 Jan '21
18 Jan '21
Hello,
I would like to start multiple KVM guests from one qcow2 image, and
discard the changes which the KVM guests done.
transient disk option is useful for discarding the changes, however,
we cannot start multiple KVM guest from one qcow2 image because the
image is write-locked by the first guest to be started.
I suppose the disk which transient option is enabled don't need to
get the write lock because any changes go to the overlay image, and
the overlay image is removed when the guest shutdown.
qemu has 'locking' option and the write lock is disabled when locking=off.
To implement that, I have two ideas. I would appreciate it if you could
give me the ideas which way is better (or another way).
1. Add an element to handle 'locking' qemu option. Like as:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' locking='off'/>
<source file='/var/lib/libvirt/images/guest.qcow2'/>
<target dev='vda' bus='virtio'/>
<transient/>
</disk>
2. Add locking=off internally only if the transient disk option is enabled.
The sample code is as follows:
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 23415b323c..6fafe22ca3 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -10186,6 +10186,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
def->src->shared = true;
} else if (virXMLNodeNameEqual(cur, "transient")) {
def->transient = true;
+ def->src->transient = true;
} else if (!encryption &&
virXMLNodeNameEqual(cur, "encryption")) {
if (!(encryption = virStorageEncryptionParseNode(cur, ctxt)))
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
index 4640e339c0..3db888d08b 100644
--- a/src/qemu/qemu_block.c
+++ b/src/qemu/qemu_block.c
@@ -1211,6 +1211,12 @@ qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src,
"s:discard", "unmap",
NULL) < 0)
return NULL;
+
+ if (src->transient) {
+ if (virJSONValueObjectAdd(fileprops,
+ "S:locking", "off", NULL) < 0)
+ return NULL;
+ }
}
}
diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 15494c3415..7823810df6 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -1182,7 +1182,8 @@ qemuSnapshotDiskPrepareDisksTransient(virDomainObjPtr vm,
snapdisk->src = virStorageSourceNew();
snapdisk->src->type = VIR_STORAGE_TYPE_FILE;
snapdisk->src->format = VIR_STORAGE_FILE_QCOW2;
- snapdisk->src->path = g_strdup_printf("%s.TRANSIENT", domdisk->src->path);
+ snapdisk->src->path = g_strdup_printf("%s.TRANSIENT-%s",
+ domdisk->src->path, vm->def->name);
if (virFileExists(snapdisk->src->path)) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h
index 87763cf389..70c963bd42 100644
--- a/src/util/virstoragefile.h
+++ b/src/util/virstoragefile.h
@@ -384,6 +384,8 @@ struct _virStorageSource {
/* these must not be used apart from formatting the output JSON in the qemu driver */
char *ssh_user;
bool ssh_host_key_check_disabled;
+
+ bool transient;
};
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virStorageSource, virObjectUnref);
--
Thanks,
Masa
2
10
Technically, this is v3 of:
https://www.redhat.com/archives/libvir-list/2020-December/msg00199.html
But I've split the big series (so no longer mixing virtio-mem and
virtio-pmem). The virtio-pmem-pci is very similar to NVDIM so the
implementation is fairly straightforward.
Michal Prívozník (6):
qemu_capabilities: Introduce QEMU_CAPS_DEVICE_VIRTIO_PMEM_PCI
conf: Introduce virtio-pmem <memory/> model
security: Relabel virtio-pmem
qemu: Allow virtio-pmem in CGroups
qemu: Create virtio-pmem in namespace
qemu: Build command line for virtio-pmem
docs/formatdomain.rst | 29 ++++--
docs/schemas/domaincommon.rng | 1 +
src/conf/domain_conf.c | 41 ++++++++-
src/conf/domain_conf.h | 3 +-
src/conf/domain_validate.c | 40 ++++++++-
src/qemu/qemu_alias.c | 58 ++++++++----
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_cgroup.c | 6 +-
src/qemu/qemu_command.c | 73 ++++++++-------
src/qemu/qemu_domain.c | 25 ++++++
src/qemu/qemu_domain_address.c | 88 +++++++++++++++----
src/qemu/qemu_domain_address.h | 3 +-
src/qemu/qemu_hotplug.c | 2 +-
src/qemu/qemu_namespace.c | 3 +-
src/qemu/qemu_validate.c | 8 ++
src/security/security_apparmor.c | 1 +
src/security/security_dac.c | 2 +
src/security/security_selinux.c | 2 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.x86_64.xml | 1 +
.../caps_5.1.0.x86_64.xml | 1 +
.../caps_5.2.0.x86_64.xml | 1 +
...ory-hotplug-virtio-pmem.x86_64-latest.args | 45 ++++++++++
.../memory-hotplug-virtio-pmem.xml | 53 +++++++++++
tests/qemuxml2argvtest.c | 1 +
...mory-hotplug-virtio-pmem.x86_64-latest.xml | 1 +
tests/qemuxml2xmltest.c | 1 +
29 files changed, 414 insertions(+), 80 deletions(-)
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.xml
create mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-virtio-pmem.x86_64-latest.xml
--
2.26.2
2
9
Fix the errors from commit a7cafa7bc2 when build RPMs from spec file:
error: Installed (but unpackaged) file(s) found:
/usr/share/man/man8/virtinterfaced.8.gz
/usr/share/man/man8/virtlxcd.8.gz
/usr/share/man/man8/virtnetworkd.8.gz
/usr/share/man/man8/virtnodedevd.8.gz
/usr/share/man/man8/virtnwfilterd.8.gz
/usr/share/man/man8/virtproxyd.8.gz
/usr/share/man/man8/virtqemud.8.gz
/usr/share/man/man8/virtsecretd.8.gz
/usr/share/man/man8/virtstoraged.8.gz
/usr/share/man/man8/virtvboxd.8.gz
/usr/share/man/man8/virtxend.8.gz
Signed-off-by: Han Han <hhan(a)redhat.com>
---
libvirt.spec.in | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index b5892987cf..4389bef406 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1581,6 +1581,18 @@ exit 0
%{_mandir}/man8/virtlogd.8*
%{_mandir}/man8/virtlockd.8*
%{_mandir}/man8/virtproxyd.8*
+%{_mandir}/man8/virtxend.8*
+%{_mandir}/man8/virtvzd.8*
+%{_mandir}/man8/virtvboxd.8*
+%{_mandir}/man8/virtstoraged.8*
+%{_mandir}/man8/virtsecretd.8*
+%{_mandir}/man8/virtqemud.8*
+%{_mandir}/man8/virtnwfilterd.8*
+%{_mandir}/man8/virtnodedevd.8*
+%{_mandir}/man8/virtnetworkd.8*
+%{_mandir}/man8/virtlxcd.8*
+%{_mandir}/man8/virtinterfaced.8*
+%{_mandir}/man8/virtbhyved.8*
%{_mandir}/man7/virkey*.7*
%files daemon-config-network
--
2.29.2
1
0
In the past, the MTU of libvirt virtual network bridge devices was
implicitly set by setting the MTU of the "dummy tap device" (which was
being added in order to force a particular MAC address from the
bridge). But the dummy tap device was removed in commit ee6c936fbb
(libvirt-6.8.0), and so the mtu setting in the network is ignored.
The solution is, of course, to explicitly set the bridge device MTU
when it is created.
Note that any guest interface with a larger MTU that is attached will
cause the bridge to (temporarily) assume the larger MTU, but it will
revert to the bridge's own MTU when that device is deleted (this is
not due to anything libvirt does; it's just how Linux host bridges
work).
Resolves: https://bugzilla.redhat.com/1913561
Signed-off-by: Laine Stump <laine(a)redhat.com>
ee6c936fbbo-set-mtu
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
src/network/bridge_driver.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index b7c604eaea..519a473995 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -2336,6 +2336,9 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver,
/* Set bridge options */
+ if (def->mtu && virNetDevSetMTU(def->bridge, def->mtu) < 0)
+ goto error;
+
/* delay is configured in seconds, but virNetDevBridgeSetSTPDelay
* expects milliseconds
*/
--
2.29.2
2
2
[PATCH 00/20] handle AWOL SR-IOV VF hostdevs during domain lifetime
by Daniel Henrique Barboza 15 Jan '21
by Daniel Henrique Barboza 15 Jan '21
15 Jan '21
Hi,
This series is an attempt to fix https://gitlab.com/libvirt/libvirt/-/issues/72.
The root issue is that, for obvious reasons, virPCIDeviceNew() requires the
device to exist in the host (i.e. the config file must be present in sysfs).
The unexpected absence of the device (e.g. removing the VFs from the host while
a domain was using them) will make virPCIDeviceNew() return -1 in several
code paths, and the effects in Libvirt can be bothersome. Patch 20 will
explain it in greater detail.
Changing virPCIDeviceNew() internals to not fail in this scenario would
be a herculean refactor of innocent code that doesn't have anything to
do with the problem. My approach here is to check if the device exists
in the sysfs in key places, keeping the default virPCIDeviceNew()
behavior intact.
I mentioned this is patch 20 but to emphasize: this is NOT an attempt
to implement surprise hostdev hotunplug support in Libvirt. Removing
SR-IOVs VFs used by any domain is still not cool and should be avoided.
But after this series, Libvirt can at least fall on its feet if this
situation happens.
The series was tested using a Mellanox MT28800 card in a Power 9 server.
Daniel Henrique Barboza (20):
virpci, domain_audit: use virPCIDeviceAddressAsString()
qemu, lxc: move NodeDeviceGetPCIInfo() function to domain_driver.c
domain_driver.c: use PCI address with
virDomainDriverNodeDeviceGetPCIInfo()
virpci.c: simplify virPCIDeviceNew() signature
virpci: introduce virPCIDeviceExists()
virhostdev.c: virHostdevGetPCIHostDevice() now reports missing device
security_selinux.c: modernize set/restore hostdev subsys label
functions
security_dac.c: modernize hostdev label set/restore functions
dac, selinux: skip setting/restoring label for absent PCI devices
libvirt-nodedev.c: remove return value from virNodeDeviceFree()
qemu_driver.c: modernize qemuNodeDeviceReAttach()
libxl_driver.c: modernize libxlNodeDeviceReAttach()
virsh-domain.c: modernize cmdDetachDevice()
virhostdev.c: add virHostdevIsPCIDevice() helper
qemu_cgroup.c: skip absent PCI devices in qemuTeardownHostdevCgroup()
virpci.c: use virPCIDeviceAddressPtr in virPCIDeviceListFindIndex()
virpci.c: use virPCIDeviceAddressPtr in virPCIDeviceListFind()
virpci.c: use virPCIDeviceAddressPtr in virPCIDeviceListSteal()
virpci.c: use virPCIDeviceAddressPtr in virPCIDeviceListDel()
virhostdev.c: remove missing PCI devs from hostdev manager
include/libvirt/libvirt-nodedev.h | 2 +-
src/conf/domain_audit.c | 6 +-
src/datatypes.h | 2 +
src/hypervisor/domain_driver.c | 30 ++++++++++
src/hypervisor/domain_driver.h | 4 ++
src/hypervisor/virhostdev.c | 88 ++++++++++++++++++++++------
src/hypervisor/virhostdev.h | 2 +
src/libvirt-nodedev.c | 15 +++--
src/libvirt_private.syms | 3 +
src/libxl/libxl_driver.c | 87 ++++++++--------------------
src/node_device/node_device_udev.c | 11 ++--
src/qemu/qemu_cgroup.c | 10 ++++
src/qemu/qemu_domain_address.c | 5 +-
src/qemu/qemu_driver.c | 81 +++++++-------------------
src/security/security_apparmor.c | 3 +-
src/security/security_dac.c | 61 ++++++++------------
src/security/security_selinux.c | 66 +++++++++------------
src/security/virt-aa-helper.c | 6 +-
src/util/virnetdev.c | 3 +-
src/util/virnvme.c | 5 +-
src/util/virpci.c | 93 ++++++++++++++----------------
src/util/virpci.h | 14 ++---
tests/virhostdevtest.c | 3 +-
tests/virpcitest.c | 35 ++++++++---
tools/virsh-domain.c | 18 ++----
25 files changed, 325 insertions(+), 328 deletions(-)
--
2.26.2
1
21
15 Jan '21
V2 here: https://www.redhat.com/archives/libvir-list/2021-January/msg00174.html
Since V2:
- Fix the post process of virNetlinkTalk().
If virNetlinkTalk() succeeds and we got an NLMSG_ERROR packet with
the zero-value error, it should be regarded as a success.
- Several fixes for the pointer of resp in virNetlinkTalk().
- Minor fixes according to coding style.
Shi Lei (4):
netlink: Remove invalid flags(NLM_F_CREATE and NLM_F_EXCL) for RTM_DELLINK
netlink: Minor changes for macros NETLINK_MSG_[NEST_START|NEST_END|PUT]
netlink: Introduce macro NETLINK_MSG_APPEND to wrap nlmsg_append
netlink: Introduce a helper function to simplify netlink functions
src/util/virnetlink.c | 321 +++++++++++++++++++-----------------------
src/util/virnetlink.h | 27 +---
2 files changed, 149 insertions(+), 199 deletions(-)
--
2.25.1
2
8
The 7.0.0 release of both libvirt and libvirt-python is tagged and
signed tarballs and source RPMs are available at
https://libvirt.org/sources/
https://libvirt.org/sources/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing any other feedback. Your work is
greatly appreciated.
* Project governance
* Formal handover of release tarball signing
Starting from libvirt-6.6 the release tarballs are signed by Jiří Denemark.
Releases starting with 7.0 contain a note from the previous maintainer
Daniel Veillard offically handing over the signing of packages so that the
transition can be verified.
* New features
* nodedev: Add node device driver support for AP devices
Add support for detecting and listing Adjunct Processor(AP) cards, AP
queues and AP matrix devices (which are capable of MDEV) of a KVM host
system in libvirt node device driver with correct object relationships.
* qemu: Allow control of ``qcow2`` metadata cache
In specific usecases such as when massive storage images are used it's
possible to achieve better performance by increasing the metadata cache
size. The new knob allows advanced users setting the size according to
qemu's documentation to suit their image.
* conf: Add support for keeping TPM emulator state
Currently, swtpm TPM state file is removed when a transient domain is
powered off or undefined. Add per-TPM emulator option ``persistent_state``
for keeping TPM state.
* Improvements
* qemu: Discourage users from polling ``virDomainGetBlockJobInfo`` for block
job completion
Document that waiting for events is a more robust solution.
* secret: Relax XML schema for the ``usage`` name of a ``secret``
Various bits of documentation of how to use libvirt with RBD volumes used
an usage name which would not pass the XML validation. Relax the requirement
to make such XMLs valid.
* virnetdevopenvswitch: Various improvements
The code that handles ``<interface type='vhostuser'/>`` was given various
improvements. So far, libvirt assumed vhostuser interfaces are handled
exclusively by OpenVSwitch and refused to start a guest if it was not so.
Now a guest can be started successfully even if the interface is created by
some other tool (e.g. ``dpdk-testpmd``). Also, the code that detects the
interface name was adapted to new versions of OpenVSwitch and thus can
detect name more reliably.
* qemu: Report guest disks informations in ``virDomainGetGuestInfo``
Libvirt is now able to report disks and filesystems from the guest's
perspective (using guest agent). And with sufficiently new guest agent
(5.3.0 or newer) the API also handles disks on CCW bus.
* Bug fixes
* qemu: Fix logic bug in inactive snapshot deletion
This release fixes a bug introduced in libvirt-6.9 where libvirt's
snapshot metadata would not be deleted on successful snapshot deletion.
* qemu: Fix VMs with ``<iotune>`` on an empty cdrom
Specifying ``<iotune>`` for an empty cdrom would prevent the VM from
starting as qemu doesn't accept the tuning for an empty drive. We now
postpone setting the parameters until a new media is inserted.
* Avoid taking extra host memory when launching pSeries guests
Under certain conditions, pSeries guests were being launched with more
RAM than it was specified in the domain XML by the user. New pSeries
domains created with libvirt 7.0.0 will always launch with the right
amount of initial memory. Existing guests that migrate from an older
libvirt version to 7.0.0 will not be affected by this change.
* qemu: Don't cache NUMA caps
``virsh capabilities`` contains ``<topology/>`` section which reports NUMA
topology among with amount of free hugepages per each NUMA node. However,
these amounts were not updated between calls.
* networkGetDHCPLeases: Handle leases with infinite expiry time
Since libvirt-6.3.0 it is possible to configure expiry time for DHCP
leases. If the expiry time was infinite then ``virsh net-dhcp-leases``
and NSS plugins refused to work.
* qemu: Don't prealloc mem for real NVDIMMs
If a real life NVDIMM is assigned to a guest via ``<memory model='nvdimm'/>``
then QEMU is no longer instructed to preallocate memory
for it. This prevents unnecessary wear on the NVDIMM.
* network: Introduce mutex for bridge name generation
When new libvirt network is defined or created and the input XML does not
contain any bridge name, libvirt generates one. However, it might have
happened that the same name would be generated for different networks if
two or more networks were defined/created at once.
Enjoy.
Jirka
1
0
This patchset aims to support authz device, pass authz device to qemu
cmd and support vnc authz.
authz device example:
<authz mode="simple" index='1' identity='test'/>
vnc authz example:
<graphics ...>
<authz type='sasl' index='1'/>
</graphics>
Zihao Chang (6):
authz: support parsing authz devices
authz: support passing authz device to qemu cmd
authz: support formating authz to xml
authz: support parsing the authz element in vnc
authz: support passing sasl acl in vnc to qemu cmd
vnc: support authz ACL xml format
src/conf/domain_conf.c | 248 +++++++++++++++++++++++++++++++--
src/conf/domain_conf.h | 35 +++++
src/conf/domain_validate.c | 1 +
src/conf/virconftypes.h | 6 +
src/libvirt_private.syms | 2 +
src/qemu/qemu_command.c | 60 +++++++-
src/qemu/qemu_domain.c | 1 +
src/qemu/qemu_domain_address.c | 2 +
src/qemu/qemu_driver.c | 5 +
src/qemu/qemu_hotplug.c | 3 +
src/qemu/qemu_validate.c | 1 +
11 files changed, 353 insertions(+), 11 deletions(-)
--
2.28.0
2
8
15 Jan '21
Patch 2/2 is where the actual logic is happening. It is also depending
on the following QEMU patch:
https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg01979.html
Once merged I'll replace those two occurrences of 'QEMU commit XXX' with
proper commit hash.
Michal Prívozník (2):
qemu_capabilities: Introduce
QEMU_CAPS_X_USE_CANONICAL_PATH_FOR_RAMBLOCK_ID
qemu: Do not Use canonical path for system memory
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 30 ++++++++++++++++---
src/qemu/qemu_command.h | 3 +-
src/qemu/qemu_hotplug.c | 2 +-
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
.../caps_5.0.0.riscv64.xml | 1 +
.../caps_5.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 +
.../caps_5.1.0.x86_64.xml | 1 +
.../caps_5.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 +
.../caps_5.2.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 +
.../caps_5.2.0.x86_64.xml | 1 +
.../hugepages-memaccess3.x86_64-latest.args | 4 +--
28 files changed, 56 insertions(+), 8 deletions(-)
--
2.26.2
5
16
[libvirt PATCH v3 0/3] Propose a simple mechanism on how to disable pipeline jobs
by Erik Skultety 14 Jan '21
by Erik Skultety 14 Jan '21
14 Jan '21
>From time to time it happens that some of the distros for which we run our
pipelines break (or the images we pull break). Because we don't have dedicated
maintainers for the jobs/runners, we can only employ the best effort approach
wrt to making the pipeline green again when we're positive the problem doesn't
lie in libvirt.
For jobs that are broken for quite some time we should opt to disable them
unconditionally unless a volunteer dedicates the time to either fix it or the
matter gets fixed on its own in time (e.g. updated container images).
v1: https://www.redhat.com/archives/libvir-list/2021-January/msg00573.html
v2: https://www.redhat.com/archives/libvir-list/2021-January/msg00672.html
Since v2:
- renamed all the template jobs according to the review comments
- added 'rules' for container jobs as well
- fixed the env variable naming inconsistency that somehow made it to the
v1 patches
Erik Skultety (3):
gitlab-ci.yml: Replace template anchors with extends
gitlab-ci.yml: Convert only/except to the rules syntax
gitlab-ci.yml: Add an explicit env variable to mark a job as broken
.gitlab-ci.yml | 164 ++++++++++++++++++++++++++-----------------------
1 file changed, 86 insertions(+), 78 deletions(-)
--
2.29.2
2
4
Re: qmp-shell TUI (was: Re: Call for Google Summer of Code 2021 project ideas)
by Stefan Hajnoczi 14 Jan '21
by Stefan Hajnoczi 14 Jan '21
14 Jan '21
On Wed, Jan 13, 2021 at 01:59:43PM -0500, John Snow wrote:
> On 1/13/21 3:53 AM, Stefan Hajnoczi wrote:
> > On Tue, Jan 12, 2021 at 9:10 PM John Snow <jsnow(a)redhat.com> wrote:
> > 2. Ability to watch QMP activity on a running QEMU process, e.g. even
> > when libvirt is directly connected to the monitor.
> >
>
> That *WOULD* be extremely cool, and moves a lot closer to how mitmproxy
> works.
>
> (Actually, mitmproxy could theoretically be taught how to read and
> understand QMP traffic, but that's not something I know how to do or would
> be prepared to mentor.)
>
> Is this possible to do in a post-hoc fashion? Let's say you are using
> production environment QEMU, how do we attach the QMP listener to it? Or
> does this idea require that we start QEMU in a specific fashion with a
> second debug socket that qmp-shell can connect to in order to listen?
>
> ... Or do we engineer qmp-shell to open its own socket that libvirt connects
> to ...?
Here is the QEMU command-line that libvirt uses on my F33 system:
-chardev socket,id=charmonitor,fd=36,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control
Goals for this feature:
1. No manual steps required for setup.
2. Ability to start/stop monitoring traffic at runtime without
restarting QEMU.
3. Available to unprivileged users.
I think the easiest way to achieve this is through a new QEMU monitor
command. Approaches that come to mind:
1. Add a -mon debug-chardev property and a QMP command to set it at
runtime. The debug-chardev receives both monitor input (commands) and
output (responses and events). This does not allow MITM, rather it
mirrors traffic.
2. Add a chardev-get-fd command that fetches the fd from a chardev and
then use the existing chardev-change command to replace the monitor
chardev with a chardev connected to qmp-shell. This inserts qmp-shell
as a proxy between the QMP client and server. qmp-shell can remove
itself again with another chardev-change command. This approach
allows MITM. The downside is it assumes the QMP chardev is a file
descriptor, so it won't work with all types of chardev.
3. Add a new chardev-proxy type that aggregates 3 chardevs: 1. an origin
source chardev, 2. a monitoring sink chardev, and 3. a monitoring
source chardev. The data flow is origin <-> monitoring sink <->
monitoring source <-> QMP monitor. qmp-shell creates the monitoring
sink (for receiving incoming QMP commands) and monitoring source
chardev (for forwarding QMP commands or MITM commands), and then it
uses change-chardev to instantiate a chardev-proxy that directs the
original libvirt chardev through the monitoring sink and source.
This is the most complex but also completely contained within the
QEMU chardev layer.
In all these approaches qmp-shell uses virsh qemu-monitor-command or an
equivalent API to start/stop monitoring a running VM without manual
setup steps.
Stefan
4
9
14 Jan '21
v2 of:
https://www.redhat.com/archives/libvir-list/2021-January/msg00601.html
diff to v1:
- Added a comment to patch 1/2 per Peter's request.
- Replaced 'git describe' commit IDs with just their hashes.
The qemu patch is still not merged, so I couldn't replace XXX with
actual QEMU commits in 2/2. I'm keeping an eye on the patch and will do
that once it's merged.
https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg01979.html
Michal Prívozník (2):
qemu_capabilities: Introduce
QEMU_CAPS_X_USE_CANONICAL_PATH_FOR_RAMBLOCK_ID
qemu: Do not Use canonical path for system memory
src/qemu/qemu_capabilities.c | 5 ++++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 30 ++++++++++++++++---
src/qemu/qemu_command.h | 3 +-
src/qemu/qemu_hotplug.c | 2 +-
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
.../caps_5.0.0.riscv64.xml | 1 +
.../caps_5.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 +
.../caps_5.1.0.x86_64.xml | 1 +
.../caps_5.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 +
.../caps_5.2.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 +
.../caps_5.2.0.x86_64.xml | 1 +
.../hugepages-memaccess3.x86_64-latest.args | 4 +--
28 files changed, 59 insertions(+), 8 deletions(-)
--
2.26.2
2
7
[PATCH (for 7.0?) ] conf: disk: Parse and format <metadata_cache> also for <mirror>
by Peter Krempa 14 Jan '21
by Peter Krempa 14 Jan '21
14 Jan '21
Commit 154df5840d added support for <metadata_cache> as property of a
<disk>. Since the same parser is used to parse the XML used with
virDomainBlockCopy it starts the copy job with the appropriate cache
configured, but the <mirror> doesn't show this configuration nor it's
preserved if libvirtd is restarted during the mirror.
Add parsing, formatting and tests for <metadata_cache> for a <mirror>.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
Since <metadata_cache> was introduced in this release we should probably
fix this too prior to the release.
src/conf/domain_conf.c | 22 ++++++++++++++++++-
tests/qemuxml2argvdata/disk-mirror.xml | 14 ++++++++++++
.../qemuxml2xmloutdata/disk-mirror-active.xml | 18 ++++++++++++++-
.../disk-mirror-inactive.xml | 9 +++++++-
4 files changed, 60 insertions(+), 3 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 349fc28c2a..01b7187637 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -8784,6 +8784,12 @@ virDomainDiskDefMirrorParse(virDomainDiskDefPtr def,
return -1;
}
+ if (virParseScaledValue("./format/metadata_cache/max_size", NULL,
+ ctxt,
+ &def->mirror->metadataCacheMaxSize,
+ 1, ULLONG_MAX, false) < 0)
+ return -1;
+
return 0;
}
@@ -24283,6 +24289,8 @@ virDomainDiskDefFormatMirror(virBufferPtr buf,
{
g_auto(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER;
g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf);
+ g_auto(virBuffer) formatAttrBuf = VIR_BUFFER_INITIALIZER;
+ g_auto(virBuffer) formatChildBuf = VIR_BUFFER_INIT_CHILD(&childBuf);
const char *formatStr = NULL;
/* For now, mirroring is currently output-only: we only output it
@@ -24311,7 +24319,19 @@ virDomainDiskDefFormatMirror(virBufferPtr buf,
virBufferEscapeString(&attrBuf, " ready='%s'",
virDomainDiskMirrorStateTypeToString(disk->mirrorState));
- virBufferEscapeString(&childBuf, "<format type='%s'/>\n", formatStr);
+ virBufferEscapeString(&formatAttrBuf, " type='%s'", formatStr);
+ if (disk->mirror->metadataCacheMaxSize > 0) {
+ g_auto(virBuffer) metadataCacheChildBuf = VIR_BUFFER_INIT_CHILD(&formatChildBuf);
+
+ virBufferAsprintf(&metadataCacheChildBuf,
+ "<max_size unit='bytes'>%llu</max_size>\n",
+ disk->mirror->metadataCacheMaxSize);
+
+ virXMLFormatElement(&formatChildBuf, "metadata_cache", NULL, &metadataCacheChildBuf);
+ }
+
+ virXMLFormatElement(&childBuf, "format", &formatAttrBuf, &formatChildBuf);
+
if (virDomainDiskSourceFormat(&childBuf, disk->mirror, "source", 0, true,
flags, false, false, xmlopt) < 0)
return -1;
diff --git a/tests/qemuxml2argvdata/disk-mirror.xml b/tests/qemuxml2argvdata/disk-mirror.xml
index 2d61fe29c3..73886e99f4 100644
--- a/tests/qemuxml2argvdata/disk-mirror.xml
+++ b/tests/qemuxml2argvdata/disk-mirror.xml
@@ -54,6 +54,20 @@
</mirror>
<target dev='vdb' bus='virtio'/>
</disk>
+ <disk type='file' device='disk'>
+ <source file='/tmp/data2.img'/>
+ <backingStore/>
+ <mirror type='file' file='/tmp/copy2.img' format='qcow2' job='copy'>
+ <format type='qcow2'>
+ <metadata_cache>
+ <max_size unit='bytes'>1234</max_size>
+ </metadata_cache>
+ </format>
+ <source file='/tmp/copy2.img'/>
+ <backingStore/>
+ </mirror>
+ <target dev='vdc' bus='virtio'/>
+ </disk>
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
diff --git a/tests/qemuxml2xmloutdata/disk-mirror-active.xml b/tests/qemuxml2xmloutdata/disk-mirror-active.xml
index 17fb061d49..0e2669398c 100644
--- a/tests/qemuxml2xmloutdata/disk-mirror-active.xml
+++ b/tests/qemuxml2xmloutdata/disk-mirror-active.xml
@@ -61,6 +61,22 @@
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <source file='/tmp/data2.img'/>
+ <backingStore/>
+ <mirror type='file' file='/tmp/copy2.img' format='qcow2' job='copy'>
+ <format type='qcow2'>
+ <metadata_cache>
+ <max_size unit='bytes'>1234</max_size>
+ </metadata_cache>
+ </format>
+ <source file='/tmp/copy2.img'/>
+ <backingStore/>
+ </mirror>
+ <target dev='vdc' bus='virtio'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+ </disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
@@ -71,7 +87,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
diff --git a/tests/qemuxml2xmloutdata/disk-mirror-inactive.xml b/tests/qemuxml2xmloutdata/disk-mirror-inactive.xml
index 157ffcf6b2..6c7f92c1cc 100644
--- a/tests/qemuxml2xmloutdata/disk-mirror-inactive.xml
+++ b/tests/qemuxml2xmloutdata/disk-mirror-inactive.xml
@@ -43,6 +43,13 @@
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <source file='/tmp/data2.img'/>
+ <backingStore/>
+ <target dev='vdc' bus='virtio'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+ </disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
@@ -53,7 +60,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
--
2.29.2
2
1
[libvirt PATCH v2 0/3] Propose a simple mechanism on how to disable pipeline jobs
by Erik Skultety 14 Jan '21
by Erik Skultety 14 Jan '21
14 Jan '21
>From time to time it happens that some of the distros for which we run our
pipelines break (or the images we pull break). Because we don't have dedicated
maintainers for the jobs/runners, we can only employ the best effort approach
wrt to making the pipeline green again when we're positive the problem doesn't
lie in libvirt.
For jobs that are broken for quite some time we should opt to disable them
unconditionally unless a volunteer dedicates the time to either fix it or the
matter gets fixed on its own in time (e.g. updated container images).
Since v1:
- as per the review discussion, I converted the 'only/except' syntax to t=
he
'rules' syntax which allows us to use better control of the
'allow_failure' attribute, thus allowing us to wrap it with an explicit
env variable
- since I'm already converting syntax to something more modern I tossed in
a patch converting template anchors to the 'extends' attribute
In the pipeline below I explicitly let one of the container jobs to fail
to demonstrate "when:on_success" for the build jobs. I also overrode the
script with "exit 1" for one of the builds along with using the introduced
env variable to demonstrate the soft failure for broken jobs.
/https://gitlab.com/eskultety/libvirt/-/pipelines/241578661
Erik Skultety (3):
gitlab-ci.yml: Replace template anchors with extends
gitlab-ci.yml: Convert only/except to the rules syntax
gitlab-ci.yml: Add an explicit env variable to mark a job as broken
.gitlab-ci.yml | 160 +++++++++++++++++++++++++------------------------
1 file changed, 82 insertions(+), 78 deletions(-)
--=20
2.29.2
2
10
[RFC v4 1/4] tests: Add 'end-of-file' character to args file in qemuxml2argvdata
by huangy81@chinatelecom.cn 14 Jan '21
by huangy81@chinatelecom.cn 14 Jan '21
14 Jan '21
From: Hyman <huangy81(a)chinatelecom.cn>
The test file disk-backing-chains-noindex.x86_64-latest.args has
'No newline at end of file', this patch rewrite it in case unexpected
behavior bewteen diffrent platform. See the details:
https://www.redhat.com/archives/libvir-list/2021-January/msg00626.html
Signed-off-by: Hyman <huangy81(a)chinatelecom.cn>
---
...sk-backing-chains-index.x86_64-latest.args | 169 +++++++++++++++++-
1 file changed, 168 insertions(+), 1 deletion(-)
mode change 120000 => 100644 tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args
diff --git a/tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args b/tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args
deleted file mode 120000
index 549eb65512..0000000000
--- a/tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args
+++ /dev/null
@@ -1 +0,0 @@
-disk-backing-chains-noindex.x86_64-latest.args
\ No newline at end of file
diff --git a/tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args b/tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args
new file mode 100644
index 0000000000..0f6d70a855
--- /dev/null
+++ b/tests/qemuxml2argvdata/disk-backing-chains-index.x86_64-latest.args
@@ -0,0 +1,168 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/tmp/lib/domain--1-QEMUGuest1 \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
+XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
+XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
+QEMU_AUDIO_DRV=none \
+/usr/bin/qemu-system-i386 \
+-name guest=QEMUGuest1,debug-threads=on \
+-S \
+-object secret,id=masterKey0,format=raw,\
+file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
+-machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-cpu qemu64 \
+-m 214 \
+-object memory-backend-ram,id=pc.ram,size=224395264 \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
+-display none \
+-no-user-config \
+-nodefaults \
+-chardev socket,id=charmonitor,fd=1729,server,nowait \
+-mon chardev=charmonitor,id=monitor,mode=control \
+-rtc base=utc \
+-no-shutdown \
+-no-acpi \
+-boot strict=on \
+-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
+-blockdev '{"driver":"file","filename":"/tmp/missing-backing-store.qcow",\
+"node-name":"libvirt-25-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-25-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-25-storage"}' \
+-blockdev '{"driver":"gluster","volume":"Volume2","path":"Image",\
+"server":[{"type":"unix","path":"/path/to/sock"}],"debug":4,\
+"node-name":"libvirt-24-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-24-format","read-only":false,"driver":"qcow2",\
+"file":"libvirt-24-storage","backing":"libvirt-25-format"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x2,drive=libvirt-24-format,\
+id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/tmp/Fedora-17-x86_64-Live-KDE.iso",\
+"node-name":"libvirt-23-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-23-format","read-only":true,"driver":"raw",\
+"file":"libvirt-23-storage"}' \
+-blockdev '{"driver":"file","filename":"/tmp/image5.qcow",\
+"node-name":"libvirt-22-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-22-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-22-storage","backing":"libvirt-23-format"}' \
+-blockdev '{"driver":"file","filename":"/tmp/image4.qcow",\
+"node-name":"libvirt-21-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-21-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-21-storage","backing":"libvirt-22-format"}' \
+-blockdev '{"driver":"file","filename":"/tmp/image3.qcow",\
+"node-name":"libvirt-20-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-20-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-20-storage","backing":"libvirt-21-format"}' \
+-blockdev '{"driver":"file","filename":"/tmp/image2",\
+"node-name":"libvirt-19-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-19-format","read-only":true,"driver":"vmdk",\
+"file":"libvirt-19-storage","backing":"libvirt-20-format"}' \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\
+"node-name":"libvirt-18-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-18-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-18-storage","backing":"libvirt-19-format"}' \
+-blockdev '{"driver":"nbd","server":{"type":"unix","path":"/var/run/nbdsock"},\
+"export":"bar","node-name":"libvirt-17-storage","auto-read-only":true,\
+"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-17-format","read-only":false,"driver":"qcow2",\
+"file":"libvirt-17-storage","backing":"libvirt-18-format"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x3,drive=libvirt-17-format,\
+id=virtio-disk1 \
+-blockdev '{"driver":"gluster","volume":"Volume1","path":"Image",\
+"server":[{"type":"inet","host":"example.org","port":"6000"}],"debug":4,\
+"node-name":"libvirt-16-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-16-format","read-only":false,"driver":"raw",\
+"file":"libvirt-16-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=libvirt-16-format,\
+id=virtio-disk2 \
+-blockdev '{"driver":"file","filename":"/tmp/image.qcow",\
+"node-name":"libvirt-15-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-15-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-15-storage","backing":null}' \
+-object secret,id=libvirt-14-storage-auth-secret0,\
+data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
+keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
+-blockdev '{"driver":"rbd","pool":"pool","image":"image",\
+"server":[{"host":"mon1.example.org","port":"6321"},{"host":"mon2.example.org",\
+"port":"6322"},{"host":"mon3.example.org","port":"6322"}],"user":"myname",\
+"auth-client-required":["cephx","none"],\
+"key-secret":"libvirt-14-storage-auth-secret0",\
+"node-name":"libvirt-14-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-14-format","read-only":false,"driver":"qcow2",\
+"file":"libvirt-14-storage","backing":"libvirt-15-format"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x5,drive=libvirt-14-format,\
+id=virtio-disk3 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest11",\
+"node-name":"libvirt-13-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-13-format","read-only":false,"driver":"qcow2",\
+"file":"libvirt-13-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x6,drive=libvirt-13-format,\
+id=virtio-disk4 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/rhel7.qcow2",\
+"node-name":"libvirt-12-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-12-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-12-storage","backing":null}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1483536402",\
+"node-name":"libvirt-11-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-11-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-11-storage","backing":"libvirt-12-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1483545313",\
+"node-name":"libvirt-10-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-10-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-10-storage","backing":"libvirt-11-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1483545901",\
+"node-name":"libvirt-9-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-9-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-9-storage","backing":"libvirt-10-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1483546244",\
+"node-name":"libvirt-8-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-8-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-8-storage","backing":"libvirt-9-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1483605920",\
+"node-name":"libvirt-7-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-7-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-7-storage","backing":"libvirt-8-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1483605924",\
+"node-name":"libvirt-6-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-6-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-6-storage","backing":"libvirt-7-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1483615252",\
+"node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-5-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-5-storage","backing":"libvirt-6-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1484071872",\
+"node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-4-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-4-storage","backing":"libvirt-5-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1484071876",\
+"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-3-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-3-storage","backing":"libvirt-4-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1484071877",\
+"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":true,"driver":"qcow2",\
+"file":"libvirt-2-storage","backing":"libvirt-3-format"}' \
+-blockdev '{"driver":"file",\
+"filename":"/var/lib/libvirt/images/rhel7.1484071880",\
+"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\
+"file":"libvirt-1-storage","backing":"libvirt-2-format"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x7,drive=libvirt-1-format,\
+id=virtio-disk5 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
+resourcecontrol=deny \
+-msg timestamp=on
--
2.24.3
3
2
[PATCH 2/2] qemu: Use "-accel" option to specify accelerator instead of "-machine"
by huangy81@chinatelecom.cn 13 Jan '21
by huangy81@chinatelecom.cn 13 Jan '21
13 Jan '21
From: Hyman <huangy81(a)chinatelecom.cn>
The "-machine" options for accelerators are legacy, the "-accel" options
is a better mechanism. The following are the details:
https://lore.kernel.org/qemu-devel/3aa73987-40e8-3619-0723-9f17f73850bd@red…
This patch switch the option "-machine accel" to "-accel" when specifying
accelerator type once libvirt build QEMU command line.
Since this patch involves qemuxml2argvtest, we only modify the test cases
which machine type supported by QEMU with version >= 2.9.0.
Signed-off-by: Hyman <huangy81(a)chinatelecom.cn>
---
src/qemu/qemu_command.c | 131 ++++++++++++++----
...fault-cpu-kvm-virt-4.2.aarch64-latest.args | 3 +-
...fault-cpu-tcg-virt-4.2.aarch64-latest.args | 3 +-
.../aarch64-features-sve.aarch64-latest.args | 3 +-
...arch64-os-firmware-efi.aarch64-latest.args | 3 +-
.../aarch64-virt-graphics.aarch64-latest.args | 3 +-
.../aarch64-virt-headless.aarch64-latest.args | 3 +-
.../blkdeviotune-group-num.x86_64-4.1.0.args | 3 +-
.../blkdeviotune-group-num.x86_64-latest.args | 3 +-
.../blkdeviotune-max-length.x86_64-4.1.0.args | 3 +-
...blkdeviotune-max-length.x86_64-latest.args | 3 +-
.../blkdeviotune-max.x86_64-4.1.0.args | 3 +-
.../blkdeviotune-max.x86_64-latest.args | 3 +-
.../channel-unix-guestfwd.x86_64-latest.args | 3 +-
.../clock-timer-armvtimer.aarch64-latest.args | 3 +-
.../console-virtio-unix.x86_64-latest.args | 3 +-
.../controller-virtio-scsi.x86_64-latest.args | 3 +-
...u-Icelake-Server-pconfig.x86_64-3.1.0.args | 3 +-
...-Icelake-Server-pconfig.x86_64-latest.args | 3 +-
.../cpu-host-model-cmt.x86_64-4.0.0.args | 3 +-
.../cpu-translation.x86_64-4.0.0.args | 3 +-
.../cpu-translation.x86_64-latest.args | 3 +-
.../cpu-tsc-frequency.x86_64-4.0.0.args | 3 +-
.../cpu-tsc-high-frequency.x86_64-latest.args | 3 +-
.../cputune-cpuset-big-id.x86_64-latest.args | 3 +-
...ult-video-type-aarch64.aarch64-latest.args | 3 +-
...default-video-type-ppc64.ppc64-latest.args | 3 +-
...ult-video-type-riscv64.riscv64-latest.args | 3 +-
...default-video-type-s390x.s390x-latest.args | 3 +-
.../disk-aio-io_uring.x86_64-latest.args | 3 +-
.../disk-aio.x86_64-2.12.0.args | 3 +-
.../disk-aio.x86_64-latest.args | 3 +-
.../disk-arm-virtio-sd.aarch64-4.0.0.args | 3 +-
.../disk-arm-virtio-sd.aarch64-latest.args | 3 +-
...-backing-chains-noindex.x86_64-2.12.0.args | 3 +-
...-backing-chains-noindex.x86_64-latest.args | 3 +-
.../disk-cache.x86_64-2.12.0.args | 3 +-
.../disk-cache.x86_64-latest.args | 3 +-
.../disk-cdrom-bus-other.x86_64-latest.args | 3 +-
...m-empty-network-invalid.x86_64-latest.args | 3 +-
.../disk-cdrom-network.x86_64-2.12.0.args | 3 +-
.../disk-cdrom-network.x86_64-latest.args | 3 +-
.../disk-cdrom-tray.x86_64-2.12.0.args | 3 +-
.../disk-cdrom-tray.x86_64-latest.args | 3 +-
.../disk-cdrom.x86_64-2.12.0.args | 3 +-
.../disk-cdrom.x86_64-latest.args | 3 +-
.../disk-copy_on_read.x86_64-2.12.0.args | 3 +-
.../disk-copy_on_read.x86_64-latest.args | 3 +-
.../disk-detect-zeroes.x86_64-2.12.0.args | 3 +-
.../disk-detect-zeroes.x86_64-latest.args | 3 +-
.../disk-discard.x86_64-4.1.0.args | 3 +-
.../disk-discard.x86_64-latest.args | 3 +-
.../disk-error-policy-s390x.s390x-2.12.0.args | 3 +-
.../disk-error-policy-s390x.s390x-latest.args | 3 +-
.../disk-error-policy.x86_64-2.12.0.args | 3 +-
.../disk-error-policy.x86_64-latest.args | 3 +-
.../disk-floppy-q35-2_11.x86_64-2.12.0.args | 3 +-
.../disk-floppy-q35-2_11.x86_64-latest.args | 3 +-
.../disk-floppy-q35-2_9.x86_64-2.12.0.args | 3 +-
.../disk-floppy-q35-2_9.x86_64-latest.args | 3 +-
.../disk-floppy.x86_64-2.12.0.args | 3 +-
.../disk-floppy.x86_64-latest.args | 3 +-
.../disk-metadata-cache.x86_64-latest.args | 3 +-
.../disk-network-gluster.x86_64-2.12.0.args | 3 +-
.../disk-network-gluster.x86_64-latest.args | 3 +-
.../disk-network-http.x86_64-latest.args | 3 +-
.../disk-network-iscsi.x86_64-2.12.0.args | 3 +-
.../disk-network-iscsi.x86_64-latest.args | 3 +-
.../disk-network-nbd.x86_64-2.12.0.args | 3 +-
.../disk-network-nbd.x86_64-latest.args | 3 +-
.../disk-network-nfs.x86_64-latest.args | 3 +-
.../disk-network-rbd.x86_64-2.12.0.args | 3 +-
.../disk-network-rbd.x86_64-latest.args | 3 +-
.../disk-network-sheepdog.x86_64-2.12.0.args | 3 +-
.../disk-network-sheepdog.x86_64-latest.args | 3 +-
...isk-network-source-auth.x86_64-2.12.0.args | 3 +-
...isk-network-source-auth.x86_64-latest.args | 3 +-
...isk-network-tlsx509-nbd.x86_64-2.12.0.args | 3 +-
...isk-network-tlsx509-nbd.x86_64-latest.args | 3 +-
...sk-network-tlsx509-vxhs.x86_64-2.12.0.args | 3 +-
...isk-network-tlsx509-vxhs.x86_64-5.0.0.args | 3 +-
.../disk-network-tlsx509.x86_64-2.12.0.args | 3 +-
.../disk-network-tlsx509.x86_64-latest.args | 3 +-
.../disk-nvme.x86_64-latest.args | 3 +-
.../disk-readonly-disk.x86_64-2.12.0.args | 3 +-
.../disk-readonly-disk.x86_64-latest.args | 3 +-
.../disk-scsi-device-auto.x86_64-latest.args | 3 +-
.../disk-scsi.x86_64-latest.args | 3 +-
.../disk-shared.x86_64-2.12.0.args | 3 +-
.../disk-shared.x86_64-latest.args | 3 +-
.../disk-slices.x86_64-latest.args | 3 +-
.../disk-transient.x86_64-latest.args | 3 +-
...irtio-scsi-reservations.x86_64-2.12.0.args | 3 +-
...irtio-scsi-reservations.x86_64-latest.args | 3 +-
.../eoi-disabled.x86_64-4.0.0.args | 3 +-
.../eoi-disabled.x86_64-latest.args | 3 +-
.../eoi-enabled.x86_64-4.0.0.args | 3 +-
.../eoi-enabled.x86_64-latest.args | 3 +-
.../fips-enabled.x86_64-5.1.0.args | 3 +-
.../fips-enabled.x86_64-latest.args | 3 +-
.../floppy-drive-fat.x86_64-2.12.0.args | 3 +-
.../floppy-drive-fat.x86_64-latest.args | 3 +-
.../fs9p-ccw.s390x-latest.args | 3 +-
.../qemuxml2argvdata/fs9p.x86_64-latest.args | 3 +-
.../genid-auto.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/genid.x86_64-latest.args | 3 +-
...egl-headless-rendernode.x86_64-latest.args | 3 +-
.../graphics-egl-headless.x86_64-latest.args | 3 +-
...pice-gl-auto-rendernode.x86_64-latest.args | 3 +-
...graphics-vnc-tls-secret.x86_64-latest.args | 3 +-
.../graphics-vnc-tls.x86_64-latest.args | 3 +-
...tdev-mdev-display-ramfb.x86_64-latest.args | 3 +-
...play-spice-egl-headless.x86_64-latest.args | 3 +-
...ev-display-spice-opengl.x86_64-latest.args | 3 +-
...isplay-vnc-egl-headless.x86_64-latest.args | 3 +-
...ostdev-mdev-display-vnc.x86_64-latest.args | 3 +-
.../hostdev-scsi-lsi.x86_64-4.1.0.args | 3 +-
.../hostdev-scsi-lsi.x86_64-latest.args | 3 +-
...hostdev-scsi-virtio-scsi.x86_64-4.1.0.args | 3 +-
...ostdev-scsi-virtio-scsi.x86_64-latest.args | 3 +-
...tdev-subsys-mdev-vfio-ap.s390x-latest.args | 3 +-
...ubsys-mdev-vfio-ccw-boot.s390x-latest.args | 3 +-
.../hugepages-memaccess3.x86_64-latest.args | 3 +-
.../hugepages-nvdimm.x86_64-latest.args | 3 +-
.../hyperv-off.x86_64-4.0.0.args | 3 +-
.../hyperv-off.x86_64-latest.args | 3 +-
.../hyperv-panic.x86_64-4.0.0.args | 3 +-
.../hyperv-panic.x86_64-latest.args | 3 +-
.../hyperv-stimer-direct.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/hyperv.x86_64-4.0.0.args | 3 +-
.../hyperv.x86_64-latest.args | 3 +-
.../intel-iommu-aw-bits.x86_64-latest.args | 3 +-
...ntel-iommu-caching-mode.x86_64-latest.args | 3 +-
...ntel-iommu-device-iotlb.x86_64-latest.args | 3 +-
.../intel-iommu-eim.x86_64-latest.args | 3 +-
.../intel-iommu.x86_64-latest.args | 3 +-
.../iommu-smmuv3.aarch64-latest.args | 3 +-
...othreads-virtio-scsi-ccw.s390x-latest.args | 3 +-
...threads-virtio-scsi-pci.x86_64-latest.args | 3 +-
.../kvmclock+eoi-disabled.x86_64-4.0.0.args | 3 +-
.../kvmclock+eoi-disabled.x86_64-latest.args | 3 +-
...v-missing-platform-info.x86_64-2.12.0.args | 3 +-
.../launch-security-sev.x86_64-2.12.0.args | 3 +-
...luks-disks-source-qcow2.x86_64-latest.args | 3 +-
...memory-default-hugepage.x86_64-latest.args | 3 +-
.../memfd-memory-numa.x86_64-latest.args | 3 +-
...y-hotplug-nvdimm-access.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-align.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-label.x86_64-latest.args | 3 +-
...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 3 +-
...hotplug-nvdimm-readonly.x86_64-latest.args | 3 +-
.../memory-hotplug-nvdimm.x86_64-latest.args | 3 +-
.../mlock-off.x86_64-3.0.0.args | 3 +-
.../mlock-off.x86_64-latest.args | 3 +-
.../mlock-on.x86_64-3.0.0.args | 3 +-
.../mlock-on.x86_64-latest.args | 3 +-
.../net-user.x86_64-4.0.0.args | 3 +-
.../net-vdpa.x86_64-latest.args | 3 +-
.../net-vhostuser.x86_64-latest.args | 3 +-
.../numatune-hmat.x86_64-latest.args | 3 +-
.../os-firmware-bios.x86_64-latest.args | 3 +-
...os-firmware-efi-secboot.x86_64-latest.args | 3 +-
.../os-firmware-efi.x86_64-latest.args | 3 +-
.../parallel-unix-chardev.x86_64-latest.args | 3 +-
...cie-root-port-nohotplug.x86_64-latest.args | 3 +-
...ault-cpu-kvm-pseries-2.7.ppc64-latest.args | 3 +-
...ault-cpu-kvm-pseries-3.1.ppc64-latest.args | 3 +-
...ault-cpu-kvm-pseries-4.2.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-2.7.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-3.1.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-4.2.ppc64-latest.args | 3 +-
.../ppc64-pseries-graphics.ppc64-latest.args | 3 +-
.../ppc64-pseries-headless.ppc64-latest.args | 3 +-
.../ppc64-tpmproxy-single.ppc64-latest.args | 3 +-
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 3 +-
.../pv-spinlock-disabled.x86_64-4.0.0.args | 3 +-
.../pv-spinlock-disabled.x86_64-latest.args | 3 +-
.../pv-spinlock-enabled.x86_64-4.0.0.args | 3 +-
.../pv-spinlock-enabled.x86_64-latest.args | 3 +-
.../qemu-ns.x86_64-4.0.0.args | 3 +-
.../qemu-ns.x86_64-latest.args | 3 +-
.../riscv64-virt-graphics.riscv64-latest.args | 3 +-
.../riscv64-virt-headless.riscv64-latest.args | 3 +-
...t-cpu-kvm-ccw-virtio-2.7.s390x-latest.args | 3 +-
...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 3 +-
...t-cpu-tcg-ccw-virtio-2.7.s390x-latest.args | 3 +-
...t-cpu-tcg-ccw-virtio-4.2.s390x-latest.args | 3 +-
.../s390x-ccw-graphics.s390x-latest.args | 3 +-
.../s390x-ccw-headless.s390x-latest.args | 3 +-
.../serial-unix-chardev.x86_64-latest.args | 3 +-
...rtcard-passthrough-unix.x86_64-latest.args | 3 +-
.../tpm-emulator-spapr.ppc64-latest.args | 3 +-
.../tpm-emulator-tpm2-enc.x86_64-latest.args | 3 +-
...pm-emulator-tpm2-pstate.x86_64-latest.args | 3 +-
.../tpm-emulator-tpm2.x86_64-latest.args | 3 +-
.../tpm-emulator.x86_64-latest.args | 3 +-
.../tpm-passthrough-crb.x86_64-latest.args | 3 +-
.../tpm-passthrough.x86_64-latest.args | 3 +-
.../tseg-explicit-size.x86_64-latest.args | 3 +-
.../usb-redir-unix.x86_64-latest.args | 3 +-
...vhost-user-fs-fd-memory.x86_64-latest.args | 3 +-
...vhost-user-fs-hugepages.x86_64-latest.args | 3 +-
...host-user-gpu-secondary.x86_64-latest.args | 3 +-
.../vhost-user-vga.x86_64-latest.args | 3 +-
.../vhost-vsock-auto.x86_64-latest.args | 3 +-
.../vhost-vsock-ccw-auto.s390x-latest.args | 3 +-
.../vhost-vsock-ccw.s390x-latest.args | 3 +-
.../vhost-vsock.x86_64-latest.args | 3 +-
...eo-bochs-display-device.x86_64-latest.args | 3 +-
...video-qxl-device-vram64.x86_64-latest.args | 3 +-
...o-qxl-sec-device-vram64.x86_64-latest.args | 3 +-
...eo-ramfb-display-device.x86_64-latest.args | 3 +-
.../virtio-9p-createmode.x86_64-latest.args | 3 +-
.../virtio-9p-multidevs.x86_64-latest.args | 3 +-
.../virtio-non-transitional.x86_64-3.1.0.args | 3 +-
...virtio-non-transitional.x86_64-latest.args | 3 +-
...-options-controller-ats.x86_64-latest.args | 3 +-
...ptions-controller-iommu.x86_64-latest.args | 3 +-
...tions-controller-packed.x86_64-latest.args | 3 +-
...virtio-options-disk-ats.x86_64-latest.args | 3 +-
...rtio-options-disk-iommu.x86_64-latest.args | 3 +-
...tio-options-disk-packed.x86_64-latest.args | 3 +-
.../virtio-options-fs-ats.x86_64-latest.args | 3 +-
...virtio-options-fs-iommu.x86_64-latest.args | 3 +-
...irtio-options-fs-packed.x86_64-latest.args | 3 +-
...irtio-options-input-ats.x86_64-latest.args | 3 +-
...tio-options-input-iommu.x86_64-latest.args | 3 +-
...io-options-input-packed.x86_64-latest.args | 3 +-
...-options-memballoon-ats.x86_64-latest.args | 3 +-
...loon-freepage-reporting.x86_64-latest.args | 3 +-
...ptions-memballoon-iommu.x86_64-latest.args | 3 +-
...tions-memballoon-packed.x86_64-latest.args | 3 +-
.../virtio-options-net-ats.x86_64-latest.args | 3 +-
...irtio-options-net-iommu.x86_64-latest.args | 3 +-
...rtio-options-net-packed.x86_64-latest.args | 3 +-
.../virtio-options-rng-ats.x86_64-latest.args | 3 +-
...irtio-options-rng-iommu.x86_64-latest.args | 3 +-
...rtio-options-rng-packed.x86_64-latest.args | 3 +-
...irtio-options-video-ats.x86_64-latest.args | 3 +-
...tio-options-video-iommu.x86_64-latest.args | 3 +-
...io-options-video-packed.x86_64-latest.args | 3 +-
.../virtio-options.x86_64-latest.args | 3 +-
.../virtio-rng-builtin.x86_64-latest.args | 3 +-
.../virtio-rng-egd-unix.x86_64-latest.args | 3 +-
.../virtio-transitional.x86_64-3.1.0.args | 3 +-
.../virtio-transitional.x86_64-latest.args | 3 +-
...-default-cpu-kvm-pc-4.2.x86_64-latest.args | 3 +-
...default-cpu-kvm-q35-4.2.x86_64-latest.args | 3 +-
...-default-cpu-tcg-pc-4.2.x86_64-latest.args | 3 +-
...default-cpu-tcg-q35-4.2.x86_64-latest.args | 3 +-
.../x86_64-pc-graphics.x86_64-latest.args | 3 +-
.../x86_64-pc-headless.x86_64-latest.args | 3 +-
.../x86_64-q35-graphics.x86_64-latest.args | 3 +-
.../x86_64-q35-headless.x86_64-latest.args | 3 +-
254 files changed, 608 insertions(+), 282 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 6f970a3128..0f660aaec3 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6711,38 +6711,42 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
virCommandAddArg(cmd, "-machine");
virBufferAdd(&buf, def->os.machine, -1);
- switch ((virDomainVirtType)def->virtType) {
- case VIR_DOMAIN_VIRT_QEMU:
- virBufferAddLit(&buf, ",accel=tcg");
- break;
+ /* QEMU lower than 2.9.0 do not support '-accel'
+ * fallback to '-machine accel' */
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_ACCEL)) {
+ switch ((virDomainVirtType)def->virtType) {
+ case VIR_DOMAIN_VIRT_QEMU:
+ virBufferAddLit(&buf, ",accel=tcg");
+ break;
- case VIR_DOMAIN_VIRT_KVM:
- virBufferAddLit(&buf, ",accel=kvm");
- break;
+ case VIR_DOMAIN_VIRT_KVM:
+ virBufferAddLit(&buf, ",accel=kvm");
+ break;
- case VIR_DOMAIN_VIRT_KQEMU:
- case VIR_DOMAIN_VIRT_XEN:
- case VIR_DOMAIN_VIRT_LXC:
- case VIR_DOMAIN_VIRT_UML:
- case VIR_DOMAIN_VIRT_OPENVZ:
- case VIR_DOMAIN_VIRT_TEST:
- case VIR_DOMAIN_VIRT_VMWARE:
- case VIR_DOMAIN_VIRT_HYPERV:
- case VIR_DOMAIN_VIRT_VBOX:
- case VIR_DOMAIN_VIRT_PHYP:
- case VIR_DOMAIN_VIRT_PARALLELS:
- case VIR_DOMAIN_VIRT_BHYVE:
- case VIR_DOMAIN_VIRT_VZ:
- case VIR_DOMAIN_VIRT_NONE:
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("the QEMU binary does not support %s"),
- virDomainVirtTypeToString(def->virtType));
- return -1;
+ case VIR_DOMAIN_VIRT_KQEMU:
+ case VIR_DOMAIN_VIRT_XEN:
+ case VIR_DOMAIN_VIRT_LXC:
+ case VIR_DOMAIN_VIRT_UML:
+ case VIR_DOMAIN_VIRT_OPENVZ:
+ case VIR_DOMAIN_VIRT_TEST:
+ case VIR_DOMAIN_VIRT_VMWARE:
+ case VIR_DOMAIN_VIRT_HYPERV:
+ case VIR_DOMAIN_VIRT_VBOX:
+ case VIR_DOMAIN_VIRT_PHYP:
+ case VIR_DOMAIN_VIRT_PARALLELS:
+ case VIR_DOMAIN_VIRT_BHYVE:
+ case VIR_DOMAIN_VIRT_VZ:
+ case VIR_DOMAIN_VIRT_NONE:
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("the QEMU binary does not support %s"),
+ virDomainVirtTypeToString(def->virtType));
+ return -1;
- case VIR_DOMAIN_VIRT_LAST:
- default:
- virReportEnumRangeError(virDomainVirtType, def->virtType);
- return -1;
+ case VIR_DOMAIN_VIRT_LAST:
+ default:
+ virReportEnumRangeError(virDomainVirtType, def->virtType);
+ return -1;
+ }
}
/* To avoid the collision of creating USB controllers when calling
@@ -6946,6 +6950,70 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
}
+static void
+qemuBuildAccelCommandLineTcgOptions(void)
+{
+ /* TODO: build command line tcg accelerator
+ * property like tb-size */
+}
+
+
+static void
+qemuBuildAccelCommandLineKvmOptions(void)
+{
+ /* implemented in the next patch */
+}
+
+
+static int
+qemuBuildAccelCommandLine(virCommandPtr cmd,
+ const virDomainDef *def)
+{
+ /* the '-machine' options for accelerator are legacy,
+ * using the '-accel' options by default */
+ g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
+ virCommandAddArg(cmd, "-accel");
+
+ switch ((virDomainVirtType)def->virtType) {
+ case VIR_DOMAIN_VIRT_QEMU:
+ virBufferAddLit(&buf, "tcg");
+ qemuBuildAccelCommandLineTcgOptions();
+ break;
+
+ case VIR_DOMAIN_VIRT_KVM:
+ virBufferAddLit(&buf, "kvm");
+ qemuBuildAccelCommandLineKvmOptions();
+ break;
+
+ case VIR_DOMAIN_VIRT_KQEMU:
+ case VIR_DOMAIN_VIRT_XEN:
+ case VIR_DOMAIN_VIRT_LXC:
+ case VIR_DOMAIN_VIRT_UML:
+ case VIR_DOMAIN_VIRT_OPENVZ:
+ case VIR_DOMAIN_VIRT_TEST:
+ case VIR_DOMAIN_VIRT_VMWARE:
+ case VIR_DOMAIN_VIRT_HYPERV:
+ case VIR_DOMAIN_VIRT_VBOX:
+ case VIR_DOMAIN_VIRT_PHYP:
+ case VIR_DOMAIN_VIRT_PARALLELS:
+ case VIR_DOMAIN_VIRT_BHYVE:
+ case VIR_DOMAIN_VIRT_VZ:
+ case VIR_DOMAIN_VIRT_NONE:
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("the QEMU binary does not support %s"),
+ virDomainVirtTypeToString(def->virtType));
+ return -1;
+
+ case VIR_DOMAIN_VIRT_LAST:
+ default:
+ virReportEnumRangeError(virDomainVirtType, def->virtType);
+ return -1;
+ }
+
+ virCommandAddArgBuffer(cmd, &buf);
+ return 0;
+}
+
static void
qemuBuildTSEGCommandLine(virCommandPtr cmd,
const virDomainDef *def)
@@ -9840,6 +9908,11 @@ qemuBuildCommandLine(virQEMUDriverPtr driver,
if (qemuBuildMachineCommandLine(cmd, cfg, def, qemuCaps, priv) < 0)
return NULL;
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ACCEL)) {
+ if (qemuBuildAccelCommandLine(cmd, def) < 0)
+ return NULL;
+ }
+
qemuBuildTSEGCommandLine(cmd, def);
if (qemuBuildCpuCommandLine(cmd, driver, def, qemuCaps) < 0)
diff --git a/tests/qemuxml2argvdata/aarch64-default-cpu-kvm-virt-4.2.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-default-cpu-kvm-virt-4.2.aarch64-latest.args
index 0c1fe71619..85d0dd4de5 100644
--- a/tests/qemuxml2argvdata/aarch64-default-cpu-kvm-virt-4.2.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-default-cpu-kvm-virt-4.2.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt-4.2,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,\
+-machine virt-4.2,usb=off,dump-guest-core=off,gic-version=3,\
memory-backend=mach-virt.ram \
+-accel kvm \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/aarch64-default-cpu-tcg-virt-4.2.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-default-cpu-tcg-virt-4.2.aarch64-latest.args
index 858eadc257..60b0026564 100644
--- a/tests/qemuxml2argvdata/aarch64-default-cpu-tcg-virt-4.2.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-default-cpu-tcg-virt-4.2.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt-4.2,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\
+-machine virt-4.2,usb=off,dump-guest-core=off,gic-version=2,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a15 \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/aarch64-features-sve.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-features-sve.aarch64-latest.args
index ba79804707..0b412a9972 100644
--- a/tests/qemuxml2argvdata/aarch64-features-sve.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-features-sve.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=3,\
memory-backend=mach-virt.ram \
+-accel kvm \
-cpu host,sve512=on,sve384=off,sve256=on,sve128=on,sve=on \
-m 1024 \
-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args
index 1ff234cc89..7cca330825 100644
--- a/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-aarch64test/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine virt-4.0,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\
+-machine virt-4.0,usb=off,dump-guest-core=off,gic-version=2,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a53 \
-m 1024 \
-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args
index 70be61bb33..de80515779 100644
--- a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-guest/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a15 \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args
index d4b4f05f95..365e95fde0 100644
--- a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-guest/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a15 \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-4.1.0.args b/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-4.1.0.args
index 8aa4c2be7d..fcfee22474 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-latest.args b/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-latest.args
index 79012e5b60..cd483c6635 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-4.1.0.args b/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-4.1.0.args
index b8416ef3b0..c0e091e6b3 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-latest.args b/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-latest.args
index 79012e5b60..cd483c6635 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-4.1.0.args b/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-4.1.0.args
index b03fe20d30..45a5ba9dff 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-latest.args b/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-latest.args
index 79012e5b60..cd483c6635 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args b/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
index f500bfe2ae..588ddd8e03 100644
--- a/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/clock-timer-armvtimer.aarch64-latest.args b/tests/qemuxml2argvdata/clock-timer-armvtimer.aarch64-latest.args
index fd6098b8e1..44170056ac 100644
--- a/tests/qemuxml2argvdata/clock-timer-armvtimer.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/clock-timer-armvtimer.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=3,\
memory-backend=mach-virt.ram \
+-accel kvm \
-cpu host,kvm-no-adjvtime=on \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/console-virtio-unix.x86_64-latest.args b/tests/qemuxml2argvdata/console-virtio-unix.x86_64-latest.args
index 5e64598959..7050fb5c32 100644
--- a/tests/qemuxml2argvdata/console-virtio-unix.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/console-virtio-unix.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args b/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args
index 1d7583b981..42f889c83c 100644
--- a/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-3.1.0.args b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-3.1.0.args
index 96d4306238..9235d35fe2 100644
--- a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-3.1.0.args
+++ b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-3.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-3.1,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-i440fx-3.1,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu Icelake-Server,pconfig=off \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
index a512623af6..33a4b49938 100644
--- a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu Icelake-Server \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
index 017e7a6c06..2079080ae8 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,\
clwb=on,pku=on,la57=on,3dnowext=on,3dnow=on,npt=on,vme=off,fma=off,avx=off,\
f16c=off,rdrand=off,avx2=off,rdseed=off,sha-ni=off,xsavec=off,fxsr_opt=off,\
diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
index f8e19fca24..4e30fed044 100644
--- a/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu Haswell,pclmuldq=on,ds_cpl=on,tsc_adjust=on,fxsr_opt=on,lahf_lm=on,\
cmp_legacy=on,nodeid_msr=on,perfctr_core=on,perfctr_nb=on,kvm_pv_eoi=on,\
kvm_pv_unhalt=on \
diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
index 84c0d05b34..d2fafd6110 100644
--- a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu Haswell,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,\
cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,kvm-pv-eoi=on,\
kvm-pv-unhalt=on \
diff --git a/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args
index b0e6d05b6c..c10e5eb361 100644
--- a/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc_adjust=on,\
clflushopt=on,umip=on,ssbd=on,xsaves=on,pdpe1gb=on,invtsc=on,\
tsc-frequency=3504000000 \
diff --git a/tests/qemuxml2argvdata/cpu-tsc-high-frequency.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-tsc-high-frequency.x86_64-latest.args
index 16a4282ab1..b36d2acdfe 100644
--- a/tests/qemuxml2argvdata/cpu-tsc-high-frequency.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-tsc-high-frequency.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,\
arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,\
rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,invtsc=on,\
diff --git a/tests/qemuxml2argvdata/cputune-cpuset-big-id.x86_64-latest.args b/tests/qemuxml2argvdata/cputune-cpuset-big-id.x86_64-latest.args
index 0ec8ba038d..26759ecfb9 100644
--- a/tests/qemuxml2argvdata/cputune-cpuset-big-id.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cputune-cpuset-big-id.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/default-video-type-aarch64.aarch64-latest.args b/tests/qemuxml2argvdata/default-video-type-aarch64.aarch64-latest.args
index 8a27403f92..0a70e08187 100644
--- a/tests/qemuxml2argvdata/default-video-type-aarch64.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-aarch64.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-default-video-type-a/master-key.aes \
--machine virt,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=3,\
memory-backend=mach-virt.ram \
+-accel kvm \
-m 1024 \
-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/default-video-type-ppc64.ppc64-latest.args b/tests/qemuxml2argvdata/default-video-type-ppc64.ppc64-latest.args
index 7a491a6bd1..57e727fcea 100644
--- a/tests/qemuxml2argvdata/default-video-type-ppc64.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-ppc64.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-default-video-type-p/master-key.aes \
--machine pseries,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel kvm \
-cpu host \
-m 1024 \
-object memory-backend-ram,id=ppc_spapr.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/default-video-type-riscv64.riscv64-latest.args b/tests/qemuxml2argvdata/default-video-type-riscv64.riscv64-latest.args
index c4acaaff0f..345710e795 100644
--- a/tests/qemuxml2argvdata/default-video-type-riscv64.riscv64-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-riscv64.riscv64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=spice \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-default-video-type-r/master-key.aes \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args b/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
index 9eef70cf72..02fd29e536 100644
--- a/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-default-video-type-s/master-key.aes \
--machine s390-ccw-virtio,accel=kvm,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel kvm \
-cpu gen15a-base,aen=on,cmmnt=on,vxpdeh=on,aefsi=on,csske=on,mepoch=on,msa9=on,\
msa8=on,msa7=on,msa6=on,msa5=on,msa4=on,msa3=on,msa2=on,msa1=on,sthyi=on,\
edat=on,ri=on,deflate=on,edat2=on,etoken=on,vx=on,ipter=on,mepochptff=on,ap=on,\
diff --git a/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args b/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
index 69c8742e95..1644898f3e 100644
--- a/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args
index f8a89493f6..dd88aabf7c 100644
--- a/tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args b/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args
index 6f9b81071a..629f781e96 100644
--- a/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args
index 3c2a7cf240..0706f19d05 100644
--- a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args
+++ b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-armtest/master-key.aes \
--machine vexpress-a9,accel=tcg,usb=off,dump-guest-core=off \
+-machine vexpress-a9,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args
index c3007e147e..54ede20d4f 100644
--- a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-armtest/master-key.aes \
--machine vexpress-a9,accel=tcg,usb=off,dump-guest-core=off,\
+-machine vexpress-a9,usb=off,dump-guest-core=off,\
memory-backend=vexpress.highmem \
+-accel tcg \
-cpu cortex-a9 \
-m 1024 \
-object memory-backend-ram,id=vexpress.highmem,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args
index 47691339d6..bd87945e66 100644
--- a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args
index 0f6d70a855..1ab1dddcb6 100644
--- a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args
index aa7a230583..bf009d22bf 100644
--- a/tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-1.5,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-1.5,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args
index e66abd9d4f..e1ca977691 100644
--- a/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-1.5,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-1.5,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args
index a77a851941..9d2a2cee3c 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args
index 94ffa9f9e4..314b6ff3e0 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args
index fa5c0ba087..8c7ad9bb5b 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-1.2,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-1.2,usb=off,dump-guest-core=off \
+-accel kvm \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args
index 3c4f3993f6..c15bd2dd21 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-1.2,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc-1.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args
index 7952c42d07..58e1c7b8cd 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args
index 4e4e0aa62a..a787e08255 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args
index 0621746a3b..a42df874d7 100644
--- a/tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args
index beac75ec1d..4fafdac369 100644
--- a/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args
index 00d5f45def..d294483a50 100644
--- a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args
index 493b478cf8..126f7940a9 100644
--- a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args
index 090cccdb5c..ee75aa5ff3 100644
--- a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-realtime mlock=off \
diff --git a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args
index 97cc49225f..ac28b0716d 100644
--- a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-discard.x86_64-4.1.0.args b/tests/qemuxml2argvdata/disk-discard.x86_64-4.1.0.args
index 4437922eee..9181005c92 100644
--- a/tests/qemuxml2argvdata/disk-discard.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/disk-discard.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-discard.x86_64-latest.args b/tests/qemuxml2argvdata/disk-discard.x86_64-latest.args
index 1aa06c7469..ade6e8dd4a 100644
--- a/tests/qemuxml2argvdata/disk-discard.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-discard.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args
index 6b93b74ec1..7c3bb65826 100644
--- a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine s390-ccw-virtio-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine s390-ccw-virtio-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
index d75d7aca31..fee803f3db 100644
--- a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
+++ b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args
index 26e8f56e58..16195e49b9 100644
--- a/tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args b/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args
index c0079efc0a..d5ae5a4a64 100644
--- a/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args
index b221718e29..18d7b68b78 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.11,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-q35-2.11,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args
index 7e35f6a6cd..6d7e66ea23 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.11,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-q35-2.11,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args
index 51be45465e..8bdca7b28a 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.9,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-q35-2.9,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args
index 47ef5db354..b567432ab5 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.9,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-q35-2.9,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args
index d4f11f8ca0..566591cdee 100644
--- a/tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args
index 96756502df..fa83112989 100644
--- a/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-metadata-cache.x86_64-latest.args b/tests/qemuxml2argvdata/disk-metadata-cache.x86_64-latest.args
index 3e520664ab..b80cb48db6 100644
--- a/tests/qemuxml2argvdata/disk-metadata-cache.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-metadata-cache.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args
index 2721147b3a..d77ec1a5d2 100644
--- a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args
index 1e992fb6d0..a6d38fe749 100644
--- a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args
index 954f1824dd..f119c4d0f5 100644
--- a/tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args
index 930d8d5db2..38d94f1b36 100644
--- a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args
index ab60fc5f4a..8c38a8830e 100644
--- a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args
index 1742f01e25..2af0a90df0 100644
--- a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args
index 5e5c23656a..e92ccfce55 100644
--- a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-nfs.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-nfs.x86_64-latest.args
index b0bc83bfc0..36d480d6b6 100644
--- a/tests/qemuxml2argvdata/disk-network-nfs.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-nfs.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args
index 21d1c2deba..383cfcbfa8 100644
--- a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args
index e91f009d35..6ad57f5ab2 100644
--- a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
index 653fa1af40..adff0abba6 100644
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
index 4418906dc7..1dba55bba0 100644
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args
index 0ccf3df106..458c803339 100644
--- a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args
index 879a52123c..322dbc0497 100644
--- a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-2.12.0.args
index afe84fef32..d88d39fcbd 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32 \
-m 214 \
-realtime mlock=off \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-latest.args
index 8ec4a8ab22..37345a27bf 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-2.12.0.args
index d778d3d704..8b023ad6e2 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32 \
-m 214 \
-realtime mlock=off \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-5.0.0.args b/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-5.0.0.args
index a21f322dfb..4a000feaa2 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-5.0.0.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-5.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-5.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-5.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args
index 2a30ad02c9..fd59d83a05 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32 \
-m 214 \
-realtime mlock=off \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args
index ec4c28e161..3c63929dea 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/disk-nvme.x86_64-latest.args b/tests/qemuxml2argvdata/disk-nvme.x86_64-latest.args
index 3146ad1251..0104094ef0 100644
--- a/tests/qemuxml2argvdata/disk-nvme.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-nvme.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args
index 34ef204632..ae56287059 100644
--- a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args
index 7a83ac4afe..76535e8f85 100644
--- a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args b/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args
index 354686c5fa..21149ff13f 100644
--- a/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args b/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args
index da4ef333c0..7149a1961e 100644
--- a/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args
index d35e7a5f6e..906be277bc 100644
--- a/tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args b/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args
index 4cae79c005..8b0936cf57 100644
--- a/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-slices.x86_64-latest.args b/tests/qemuxml2argvdata/disk-slices.x86_64-latest.args
index a24b3395e2..cace89313d 100644
--- a/tests/qemuxml2argvdata/disk-slices.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-slices.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-transient.x86_64-latest.args b/tests/qemuxml2argvdata/disk-transient.x86_64-latest.args
index eea8560699..6decf5eee5 100644
--- a/tests/qemuxml2argvdata/disk-transient.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-transient.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args
index 21b267f176..a7e19f5214 100644
--- a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=none \
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
-object pr-manager-helper,id=pr-helper0,\
path=/tmp/lib/domain--1-QEMUGuest1/pr-helper0.sock \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 8,sockets=8,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args
index a6e6c12d65..aa273fd6c3 100644
--- a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=none \
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
-object pr-manager-helper,id=pr-helper0,\
path=/tmp/lib/domain--1-QEMUGuest1/pr-helper0.sock \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args
index b0a004f316..f3334fff5d 100644
--- a/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvm_pv_eoi=off \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args
index a2593d155a..7305a5a4ce 100644
--- a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvm-pv-eoi=off \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args
index b008c779fa..35d25d449c 100644
--- a/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvm_pv_eoi=on \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args
index d0befba30f..fe04dd162f 100644
--- a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvm-pv-eoi=on \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/fips-enabled.x86_64-5.1.0.args b/tests/qemuxml2argvdata/fips-enabled.x86_64-5.1.0.args
index e0e416d391..4598948798 100644
--- a/tests/qemuxml2argvdata/fips-enabled.x86_64-5.1.0.args
+++ b/tests/qemuxml2argvdata/fips-enabled.x86_64-5.1.0.args
@@ -13,7 +13,8 @@ QEMU_AUDIO_DRV=none \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
-enable-fips \
--machine pc-i440fx-5.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-5.1,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/fips-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/fips-enabled.x86_64-latest.args
index 4740e52499..16e0e4ccb0 100644
--- a/tests/qemuxml2argvdata/fips-enabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/fips-enabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args
index 90ab4214d9..b0d590b6f5 100644
--- a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args
index 12f0b9cb64..15f928683d 100644
--- a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args b/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
index 07d2a2dc3d..ebc6758f20 100644
--- a/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/fs9p.x86_64-latest.args b/tests/qemuxml2argvdata/fs9p.x86_64-latest.args
index e340218e1a..f6af18c394 100644
--- a/tests/qemuxml2argvdata/fs9p.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/fs9p.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/genid-auto.x86_64-latest.args b/tests/qemuxml2argvdata/genid-auto.x86_64-latest.args
index 8f08342a0b..1649e11c26 100644
--- a/tests/qemuxml2argvdata/genid-auto.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/genid-auto.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/genid.x86_64-latest.args b/tests/qemuxml2argvdata/genid.x86_64-latest.args
index 7dd7d1f616..4e46393c32 100644
--- a/tests/qemuxml2argvdata/genid.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/genid.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args
index e6025557da..3b3d4e6c36 100644
--- a/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args
@@ -11,7 +11,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args
index e6025557da..3b3d4e6c36 100644
--- a/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args
@@ -11,7 +11,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-spice-gl-auto-rendernode.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-spice-gl-auto-rendernode.x86_64-latest.args
index 9329e56b12..ccc85338c5 100644
--- a/tests/qemuxml2argvdata/graphics-spice-gl-auto-rendernode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-spice-gl-auto-rendernode.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=spice \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-latest.args
index b3251fbed4..301348c6a5 100644
--- a/tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-latest.args
@@ -13,7 +13,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-latest.args
index cea42c4d1b..c625aaab2a 100644
--- a/tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-latest.args
@@ -13,7 +13,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb.x86_64-latest.args
index f1a3026474..e291f98dc6 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
index 580cbd9489..48b178ed5b 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=spice \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
index 345bddfc43..e1a1b9911a 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=spice \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
index cef437a228..fe0cfe6e31 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-vnc.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-vnc.x86_64-latest.args
index 68c28fc41e..d4bc505bd5 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-vnc.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-vnc.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-4.1.0.args b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-4.1.0.args
index cee891199d..b121778990 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args
index 89e83e3a2f..80fd0bcc73 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-4.1.0.args b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-4.1.0.args
index 973ae5677a..487f53a312 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args
index c00ef41bf2..a7ec67cf08 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
index a6cf270d0c..64604bee92 100644
--- a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 512 \
-object memory-backend-ram,id=s390.ram,size=536870912 \
diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
index be550aa7d5..2907799dbc 100644
--- a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 512 \
-object memory-backend-ram,id=s390.ram,size=536870912 \
diff --git a/tests/qemuxml2argvdata/hugepages-memaccess3.x86_64-latest.args b/tests/qemuxml2argvdata/hugepages-memaccess3.x86_64-latest.args
index 6033950eab..f7437214ca 100644
--- a/tests/qemuxml2argvdata/hugepages-memaccess3.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hugepages-memaccess3.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-fedora/master-key.aes \
--machine pc-i440fx-2.9,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.9,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel kvm \
-cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,\
arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,\
rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \
diff --git a/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args b/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args
index 969bb713b5..2d04b4fda0 100644
--- a/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=1048576k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/hyperv-off.x86_64-4.0.0.args b/tests/qemuxml2argvdata/hyperv-off.x86_64-4.0.0.args
index 6909b71d52..2d7b9e1699 100644
--- a/tests/qemuxml2argvdata/hyperv-off.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/hyperv-off.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/hyperv-off.x86_64-latest.args b/tests/qemuxml2argvdata/hyperv-off.x86_64-latest.args
index ce7af1bd3a..8c587382ad 100644
--- a/tests/qemuxml2argvdata/hyperv-off.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hyperv-off.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hyperv-panic.x86_64-4.0.0.args b/tests/qemuxml2argvdata/hyperv-panic.x86_64-4.0.0.args
index 55e5099717..5671a9bea0 100644
--- a/tests/qemuxml2argvdata/hyperv-panic.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/hyperv-panic.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,hv-crash \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/hyperv-panic.x86_64-latest.args b/tests/qemuxml2argvdata/hyperv-panic.x86_64-latest.args
index 870fa38d82..a388726580 100644
--- a/tests/qemuxml2argvdata/hyperv-panic.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hyperv-panic.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,hv-crash \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hyperv-stimer-direct.x86_64-latest.args b/tests/qemuxml2argvdata/hyperv-stimer-direct.x86_64-latest.args
index f64bad579d..156053f8c6 100644
--- a/tests/qemuxml2argvdata/hyperv-stimer-direct.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hyperv-stimer-direct.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,hv-vpindex,hv-synic,hv-stimer,hv-stimer-direct \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hyperv.x86_64-4.0.0.args b/tests/qemuxml2argvdata/hyperv.x86_64-4.0.0.args
index b9d9542892..fc4051d6b9 100644
--- a/tests/qemuxml2argvdata/hyperv.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/hyperv.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu 'qemu32,hv_relaxed,hv_vapic,hv-spinlocks=0x2fff,hv_vpindex,hv_runtime,\
hv_synic,hv_stimer,hv_reset,hv-vendor-id=KVM Hv,hv_frequencies,\
hv_reenlightenment,hv_tlbflush,hv_ipi,hv_evmcs' \
diff --git a/tests/qemuxml2argvdata/hyperv.x86_64-latest.args b/tests/qemuxml2argvdata/hyperv.x86_64-latest.args
index c6cba06981..d312485de0 100644
--- a/tests/qemuxml2argvdata/hyperv.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hyperv.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu 'qemu64,hv-relaxed,hv-vapic,hv-spinlocks=0x2fff,hv-vpindex,hv-runtime,\
hv-synic,hv-stimer,hv-reset,hv-vendor-id=KVM Hv,hv-frequencies,\
hv-reenlightenment,hv-tlbflush,hv-ipi,hv-evmcs' \
diff --git a/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
index 211ea3d572..f305b37a99 100644
--- a/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=kvm,usb=off,dump-guest-core=off,kernel_irqchip=split,\
+-machine q35,usb=off,dump-guest-core=off,kernel_irqchip=split,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
index cea414a7f5..a258b64372 100644
--- a/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=kvm,usb=off,dump-guest-core=off,kernel_irqchip=split,\
+-machine q35,usb=off,dump-guest-core=off,kernel_irqchip=split,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
index ef2fa61db8..7e832b92e1 100644
--- a/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=kvm,usb=off,dump-guest-core=off,kernel_irqchip=split,\
+-machine q35,usb=off,dump-guest-core=off,kernel_irqchip=split,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
index 43e666d14f..1bb877eb93 100644
--- a/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=kvm,usb=off,dump-guest-core=off,kernel_irqchip=split,\
+-machine q35,usb=off,dump-guest-core=off,kernel_irqchip=split,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
index 5fe3ed0c26..2fc32760b2 100644
--- a/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/iommu-smmuv3.aarch64-latest.args b/tests/qemuxml2argvdata/iommu-smmuv3.aarch64-latest.args
index 6ee610849f..868f376879 100644
--- a/tests/qemuxml2argvdata/iommu-smmuv3.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/iommu-smmuv3.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,iommu=smmuv3,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,iommu=smmuv3,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a15 \
-m 1024 \
-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args b/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
index f8a5aaaef4..ab5dbb1af5 100644
--- a/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args b/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args
index a2f4d5e609..ae6fe5c7dd 100644
--- a/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args
index c67e253746..2b4244c9bb 100644
--- a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvmclock=off,kvm_pv_eoi=off \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args
index 8842d2a448..7ad6f0afa6 100644
--- a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvmclock=off,kvm-pv-eoi=off \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args b/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args
index 378c3b681c..325b081eba 100644
--- a/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-1.0,accel=kvm,usb=off,dump-guest-core=off,memory-encryption=sev0 \
+-machine pc-1.0,usb=off,dump-guest-core=off,memory-encryption=sev0 \
+-accel kvm \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args b/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
index 378c3b681c..325b081eba 100644
--- a/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-1.0,accel=kvm,usb=off,dump-guest-core=off,memory-encryption=sev0 \
+-machine pc-1.0,usb=off,dump-guest-core=off,memory-encryption=sev0 \
+-accel kvm \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-latest.args b/tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-latest.args
index 6e469d1953..2119eb28c3 100644
--- a/tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-encryptdisk/master-key.aes \
--machine pc-i440fx-2.1,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.1,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args
index ef15e2e97e..a431ca0c8c 100644
--- a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-instance-00000092/master-key.aes \
--machine pc-i440fx-2.3,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.3,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu qemu64 \
-m 14336 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args b/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
index ef15e2e97e..a431ca0c8c 100644
--- a/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-instance-00000092/master-key.aes \
--machine pc-i440fx-2.3,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.3,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu qemu64 \
-m 14336 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args
index 8d3fa2e867..9367b2b0d3 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args
index 4f22f78277..9d7a04c5d1 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args
index 53dda234a2..75a3d7046b 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args
index fb4ae4b518..ae550f16ce 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args
index 5e44496e39..26f224cc37 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args
index 94f8444d95..4148e0ae6f 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=1048576k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args b/tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args
index 8f3725ebd5..3314c4d94e 100644
--- a/tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args
+++ b/tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-3.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-3.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/mlock-off.x86_64-latest.args b/tests/qemuxml2argvdata/mlock-off.x86_64-latest.args
index 2772c82ff6..6ec5d12b3f 100644
--- a/tests/qemuxml2argvdata/mlock-off.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/mlock-off.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args b/tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args
index 46e63a287f..191ace725e 100644
--- a/tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args
+++ b/tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-3.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-3.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=on \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/mlock-on.x86_64-latest.args b/tests/qemuxml2argvdata/mlock-on.x86_64-latest.args
index f77d866055..515b8de264 100644
--- a/tests/qemuxml2argvdata/mlock-on.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/mlock-on.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/net-user.x86_64-4.0.0.args b/tests/qemuxml2argvdata/net-user.x86_64-4.0.0.args
index 190b068191..b8f011a0d7 100644
--- a/tests/qemuxml2argvdata/net-user.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/net-user.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args b/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
index 002ec498a0..bef606b632 100644
--- a/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args b/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
index d889d34168..64385a3693 100644
--- a/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args b/tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args
index c52015caa8..453d35012e 100644
--- a/tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,hmat=on \
+-machine pc,usb=off,dump-guest-core=off,hmat=on \
+-accel tcg \
-cpu qemu64 \
-m 12288 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args b/tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args
index ab94f309df..493a4ceca9 100644
--- a/tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-fedora/master-key.aes \
--machine pc-q35-4.0,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pc-q35-4.0,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-bios /usr/share/seabios/bios-256k.bin \
-m 8 \
diff --git a/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args
index 1eb5aad17b..a6284d0122 100644
--- a/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-fedora/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off,\
+-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-global driver=cfi.pflash01,property=secure,value=on \
-m 8 \
diff --git a/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args b/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args
index 9b8cbc45b9..6e26d44121 100644
--- a/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-fedora/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off,\
+-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 8 \
-object memory-backend-ram,id=pc.ram,size=8388608 \
diff --git a/tests/qemuxml2argvdata/parallel-unix-chardev.x86_64-latest.args b/tests/qemuxml2argvdata/parallel-unix-chardev.x86_64-latest.args
index ea333ef5f8..97bc1b602b 100644
--- a/tests/qemuxml2argvdata/parallel-unix-chardev.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/parallel-unix-chardev.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/pcie-root-port-nohotplug.x86_64-latest.args b/tests/qemuxml2argvdata/pcie-root-port-nohotplug.x86_64-latest.args
index 619b03a3eb..6696300875 100644
--- a/tests/qemuxml2argvdata/pcie-root-port-nohotplug.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/pcie-root-port-nohotplug.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args
index c72b0de2ef..801806e9b4 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-2.7,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pseries-2.7,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel kvm \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-3.1.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-3.1.ppc64-latest.args
index ce6b9b0cad..2a22ef8ff4 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-3.1.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-3.1.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-3.1,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pseries-3.1,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel kvm \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-4.2.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-4.2.ppc64-latest.args
index 18e7488633..2776d6b26e 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-4.2.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-4.2.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-4.2,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pseries-4.2,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel kvm \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args
index 5679ba419d..1792d83490 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-2.7,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries-2.7,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER7 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-3.1.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-3.1.ppc64-latest.args
index 252023784b..63b4371c69 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-3.1.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-3.1.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-3.1,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries-3.1,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER8 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-4.2.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-4.2.ppc64-latest.args
index deeeb8b043..b3377fc867 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-4.2.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-4.2.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-4.2,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries-4.2,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-pseries-graphics.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-pseries-graphics.ppc64-latest.args
index 4b6d90c3a2..c0d6531163 100644
--- a/tests/qemuxml2argvdata/ppc64-pseries-graphics.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-pseries-graphics.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-pseries-headless.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-pseries-headless.ppc64-latest.args
index 67357696c6..128e6d2098 100644
--- a/tests/qemuxml2argvdata/ppc64-pseries-headless.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-pseries-headless.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
index 6190b82cb5..f9b2e381b8 100644
--- a/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 256 \
-object memory-backend-ram,id=ppc_spapr.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
index cac8c2736d..87ac273715 100644
--- a/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 256 \
-object memory-backend-ram,id=ppc_spapr.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args
index 76e439c2b4..4bb2b4381f 100644
--- a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvm_pv_unhalt=off \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args
index 30f45b8a04..f104e6508f 100644
--- a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvm-pv-unhalt=off \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args
index e19ebfda0b..637865519d 100644
--- a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvm_pv_unhalt=on \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args
index beb0e5f2ef..bb09fc9c65 100644
--- a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvm-pv-unhalt=on \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args b/tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args
index 0f3253f831..b2ee2314ed 100644
--- a/tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args
@@ -14,7 +14,8 @@ BAR='' \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args b/tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args
index aefe486298..e46fb7ad93 100644
--- a/tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args
@@ -14,7 +14,8 @@ BAR='' \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/riscv64-virt-graphics.riscv64-latest.args b/tests/qemuxml2argvdata/riscv64-virt-graphics.riscv64-latest.args
index 612e1ce049..2e9058b900 100644
--- a/tests/qemuxml2argvdata/riscv64-virt-graphics.riscv64-latest.args
+++ b/tests/qemuxml2argvdata/riscv64-virt-graphics.riscv64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,usb=off,dump-guest-core=off \
+-accel tcg \
-m 4096 \
-overcommit mem-lock=off \
-smp 4,sockets=4,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/riscv64-virt-headless.riscv64-latest.args b/tests/qemuxml2argvdata/riscv64-virt-headless.riscv64-latest.args
index 8485e3d0f8..f95437ad6e 100644
--- a/tests/qemuxml2argvdata/riscv64-virt-headless.riscv64-latest.args
+++ b/tests/qemuxml2argvdata/riscv64-virt-headless.riscv64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,usb=off,dump-guest-core=off \
+-accel tcg \
-m 4096 \
-overcommit mem-lock=off \
-smp 4,sockets=4,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
index a8be43af55..730086a2c5 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine s390-ccw-virtio-2.7,accel=kvm,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio-2.7,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel kvm \
-cpu host \
-m 256 \
-object memory-backend-ram,id=s390.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
index 62ffe279c4..70592c7ce8 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine s390-ccw-virtio-4.2,accel=kvm,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio-4.2,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel kvm \
-cpu gen15a-base,aen=on,cmmnt=on,vxpdeh=on,aefsi=on,csske=on,mepoch=on,msa9=on,\
msa8=on,msa7=on,msa6=on,msa5=on,msa4=on,msa3=on,msa2=on,msa1=on,sthyi=on,\
edat=on,ri=on,deflate=on,edat2=on,etoken=on,vx=on,ipter=on,mepochptff=on,ap=on,\
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
index f57880ce17..de63431e63 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine s390-ccw-virtio-2.7,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio-2.7,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 256 \
-object memory-backend-ram,id=s390.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
index 155e9b3183..6f021d99e8 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine s390-ccw-virtio-4.2,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio-4.2,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 256 \
-object memory-backend-ram,id=s390.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args b/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
index 8c8667065c..17a9751803 100644
--- a/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 4096 \
-object memory-backend-ram,id=s390.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args b/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
index c44c4dd8d9..f1d257b7d5 100644
--- a/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 4096 \
-object memory-backend-ram,id=s390.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args b/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args
index 07b7aba42f..a41dc11b58 100644
--- a/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/smartcard-passthrough-unix.x86_64-latest.args b/tests/qemuxml2argvdata/smartcard-passthrough-unix.x86_64-latest.args
index 3e0262e49c..a5454b772c 100644
--- a/tests/qemuxml2argvdata/smartcard-passthrough-unix.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/smartcard-passthrough-unix.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args b/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args
index 96bf940b76..b8429eeed0 100644
--- a/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pseries-5.0,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries-5.0,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 2048 \
-object memory-backend-ram,id=ppc_spapr.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator-tpm2-enc.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator-tpm2-enc.x86_64-latest.args
index 90505c7a76..057690f236 100644
--- a/tests/qemuxml2argvdata/tpm-emulator-tpm2-enc.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator-tpm2-enc.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator-tpm2-pstate.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator-tpm2-pstate.x86_64-latest.args
index 90505c7a76..057690f236 100644
--- a/tests/qemuxml2argvdata/tpm-emulator-tpm2-pstate.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator-tpm2-pstate.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator-tpm2.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator-tpm2.x86_64-latest.args
index 90505c7a76..057690f236 100644
--- a/tests/qemuxml2argvdata/tpm-emulator-tpm2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator-tpm2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
index 90505c7a76..057690f236 100644
--- a/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-passthrough-crb.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-passthrough-crb.x86_64-latest.args
index 911d0c660c..3f5880ee18 100644
--- a/tests/qemuxml2argvdata/tpm-passthrough-crb.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-passthrough-crb.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-passthrough.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-passthrough.x86_64-latest.args
index 5da7d13a3d..436fff0551 100644
--- a/tests/qemuxml2argvdata/tpm-passthrough.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-passthrough.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args b/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
index 2e931dfe9a..fe6eaf6948 100644
--- a/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.10,accel=tcg,usb=off,smm=on,dump-guest-core=off,\
+-machine pc-q35-2.10,usb=off,smm=on,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-global mch.extended-tseg-mbytes=48 \
-cpu qemu64 \
-m 214 \
diff --git a/tests/qemuxml2argvdata/usb-redir-unix.x86_64-latest.args b/tests/qemuxml2argvdata/usb-redir-unix.x86_64-latest.args
index 1d247b0337..60b739a3cc 100644
--- a/tests/qemuxml2argvdata/usb-redir-unix.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/usb-redir-unix.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
index dd5f68abc5..f1d10589a4 100644
--- a/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu qemu64 \
-m 14336 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
index e4f5db7a63..7cf6f05b5d 100644
--- a/tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off \
+-machine q35,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args
index e99a5342dc..d758318421 100644
--- a/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args
index 277bf8c646..f39b9004ae 100644
--- a/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/vhost-vsock-auto.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-vsock-auto.x86_64-latest.args
index bc9102eab3..0acef705a3 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-auto.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-auto.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-2.9,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.9,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args b/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
index c70f0519a9..99847d09b1 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args b/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
index e1b17eba66..ccc034f454 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/vhost-vsock.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-vsock.x86_64-latest.args
index a461d4d242..984bf85b5b 100644
--- a/tests/qemuxml2argvdata/vhost-vsock.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args b/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args
index 094c96aad6..c4914d6076 100644
--- a/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/video-qxl-device-vram64.x86_64-latest.args b/tests/qemuxml2argvdata/video-qxl-device-vram64.x86_64-latest.args
index 6f38fae69c..8889752bce 100644
--- a/tests/qemuxml2argvdata/video-qxl-device-vram64.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/video-qxl-device-vram64.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/video-qxl-sec-device-vram64.x86_64-latest.args b/tests/qemuxml2argvdata/video-qxl-sec-device-vram64.x86_64-latest.args
index e79c21eaf0..87d74672ef 100644
--- a/tests/qemuxml2argvdata/video-qxl-sec-device-vram64.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/video-qxl-sec-device-vram64.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args b/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args
index 5e4d4db341..0a0f2b42ec 100644
--- a/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/virtio-9p-createmode.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-9p-createmode.x86_64-latest.args
index 601d4d272e..36ebcff583 100644
--- a/tests/qemuxml2argvdata/virtio-9p-createmode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-9p-createmode.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-9p-multidevs.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-9p-multidevs.x86_64-latest.args
index 4e453a2b05..4d91a3cc25 100644
--- a/tests/qemuxml2argvdata/virtio-9p-multidevs.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-9p-multidevs.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args
index 82a977b731..d2bbac8e2e 100644
--- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args
+++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-3.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-q35-3.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
index 8674a4b99d..8c3cf590ad 100644
--- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-controller-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-controller-ats.x86_64-latest.args
index 6552ee68f0..7657f1f8de 100644
--- a/tests/qemuxml2argvdata/virtio-options-controller-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-controller-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-controller-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-controller-iommu.x86_64-latest.args
index 15eb4b5c49..a182cbd10c 100644
--- a/tests/qemuxml2argvdata/virtio-options-controller-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-controller-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-controller-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-controller-packed.x86_64-latest.args
index ae605a6ef0..ba36cea043 100644
--- a/tests/qemuxml2argvdata/virtio-options-controller-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-controller-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-disk-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-disk-ats.x86_64-latest.args
index 908b5724d4..9dd9411f3e 100644
--- a/tests/qemuxml2argvdata/virtio-options-disk-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-disk-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-disk-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-disk-iommu.x86_64-latest.args
index 3a030d8efb..52546a1133 100644
--- a/tests/qemuxml2argvdata/virtio-options-disk-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-disk-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-disk-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-disk-packed.x86_64-latest.args
index 0cc82a2e46..f374e629df 100644
--- a/tests/qemuxml2argvdata/virtio-options-disk-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-disk-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-fs-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-fs-ats.x86_64-latest.args
index 92b8e248eb..99663ca4c2 100644
--- a/tests/qemuxml2argvdata/virtio-options-fs-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-fs-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-fs-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-fs-iommu.x86_64-latest.args
index 62c2d347f3..42457277ec 100644
--- a/tests/qemuxml2argvdata/virtio-options-fs-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-fs-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-fs-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-fs-packed.x86_64-latest.args
index 79aa5ca1a0..3eda7eff47 100644
--- a/tests/qemuxml2argvdata/virtio-options-fs-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-fs-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-input-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-input-ats.x86_64-latest.args
index 27375c96ba..e4a2ce2d50 100644
--- a/tests/qemuxml2argvdata/virtio-options-input-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-input-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-input-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-input-iommu.x86_64-latest.args
index b38a8f3f9b..79044a7d53 100644
--- a/tests/qemuxml2argvdata/virtio-options-input-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-input-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-input-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-input-packed.x86_64-latest.args
index 38a402ef5a..1550de3b14 100644
--- a/tests/qemuxml2argvdata/virtio-options-input-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-input-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-ats.x86_64-latest.args
index 9b4ef3711c..0ec0ead352 100644
--- a/tests/qemuxml2argvdata/virtio-options-memballoon-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-memballoon-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-freepage-reporting.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-freepage-reporting.x86_64-latest.args
index 6ebc45d931..659498f46e 100644
--- a/tests/qemuxml2argvdata/virtio-options-memballoon-freepage-reporting.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-memballoon-freepage-reporting.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-iommu.x86_64-latest.args
index ead878573d..af48807499 100644
--- a/tests/qemuxml2argvdata/virtio-options-memballoon-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-memballoon-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-packed.x86_64-latest.args
index 3c32335896..1a46428bb1 100644
--- a/tests/qemuxml2argvdata/virtio-options-memballoon-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-memballoon-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
index 12c0764d56..a86028f163 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
index f2d626a35f..3cfdfa41f3 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
index e6453534d4..9ed9870c58 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-rng-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-rng-ats.x86_64-latest.args
index cd4807b6c4..ad85b4a23d 100644
--- a/tests/qemuxml2argvdata/virtio-options-rng-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-rng-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-rng-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-rng-iommu.x86_64-latest.args
index 66fb11bf7a..4ed20c4ecf 100644
--- a/tests/qemuxml2argvdata/virtio-options-rng-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-rng-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-rng-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-rng-packed.x86_64-latest.args
index 3feff0eb58..5e4e23b6ac 100644
--- a/tests/qemuxml2argvdata/virtio-options-rng-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-rng-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-video-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-video-ats.x86_64-latest.args
index 3ec61dab11..fb3fa6791b 100644
--- a/tests/qemuxml2argvdata/virtio-options-video-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-video-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-video-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-video-iommu.x86_64-latest.args
index cfd3024e02..958c89b56a 100644
--- a/tests/qemuxml2argvdata/virtio-options-video-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-video-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-video-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-video-packed.x86_64-latest.args
index c5719bb1e6..f6b53037ba 100644
--- a/tests/qemuxml2argvdata/virtio-options-video-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-video-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
index e230e926a4..036ee91307 100644
--- a/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-latest.args
index f8e37ce7f8..53f6c3c5a6 100644
--- a/tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-latest.args
index 192d84413f..14db22d72a 100644
--- a/tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args b/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args
index ed810d5890..16125995f5 100644
--- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args
+++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-3.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-q35-3.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
index c526d7aec5..ff2f33a297 100644
--- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args
index ad770d204f..5b2659798b 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc-i440fx-4.2,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-4.2,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
index 81df0cb959..1002c52e17 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc-q35-4.2,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pc-q35-4.2,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-pc-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-pc-4.2.x86_64-latest.args
index ffc52d85b0..f2f5b55a33 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-pc-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-pc-4.2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc-i440fx-4.2,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-4.2,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
index eda728f1f8..e85c4d9051 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc-q35-4.2,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-q35-4.2,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
index 5458fc6e10..734043c239 100644
--- a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
index d2246d0a02..0efe66fd3f 100644
--- a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
index e9d4e2c320..3beafee5ba 100644
--- a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
index 8bec37539f..ca5b2863e0 100644
--- a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
--
2.24.3
1
0
13 Jan '21
From: Hyman <huangy81(a)chinatelecom.cn>
The "-machine" options for accelerators are legacy, the "-accel" options
is a better mechanism. The following are the details:
https://lore.kernel.org/qemu-devel/3aa73987-40e8-3619-0723-9f17f73850bd@red…
This patch introduce QEMU_CAPS_ACCEL capability to tell if we're dealing
new enough QEMU so that we can replace '-machine accel' with '-accel'.
There were two phases of -accel support in QEMU:
- 2.9 to 4.2: only one -accel option supported; specifying a fallback couldn't be
done with -accel and required the older "-machine accel=tcg:kvm" instead
- 5.0 or newer: multiple -accel options supported, e.g. "-accel tcg -accel kvm"
and it would be possible to distinguish them, for example using QOM properties.
However Libvirt only ever specifies one accelerator so it makes no difference.
Modify capability test cases with QEMU version >= 2.9.0 carefully.
Signed-off-by: Hyman <huangy81(a)chinatelecom.cn>
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 +
tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 +
44 files changed, 45 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 4d132defbd..7672e36a79 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -609,6 +609,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
"ncr53c90",
"dc390",
"am53c974",
+ "accel",
);
@@ -3220,6 +3221,7 @@ static struct virQEMUCapsCommandLineProps virQEMUCapsCommandLine[] = {
{ "fsdev", "multidevs", QEMU_CAPS_FSDEV_MULTIDEVS },
{ "fw_cfg", "file", QEMU_CAPS_FW_CFG },
{ "fsdev", "fmode", QEMU_CAPS_FSDEV_CREATEMODE }, /* Could have also checked fsdev->dmode */
+ { "accel", NULL, QEMU_CAPS_ACCEL },
};
static int
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 0f90efa459..041ba26bb3 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -589,6 +589,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_SCSI_NCR53C90, /* built-in SCSI */
QEMU_CAPS_SCSI_DC390, /* -device dc-390 */
QEMU_CAPS_SCSI_AM53C974, /* -device am53c974 */
+ QEMU_CAPS_ACCEL, /* -accel */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
index 5b7df57b50..f3a529801d 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
@@ -149,6 +149,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
index fcd375da3b..dbfd5c6565 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
@@ -149,6 +149,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
index dd28959eab..05576ff164 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
@@ -113,6 +113,7 @@
<flag name='migration-param.bandwidth'/>
<flag name='migration-param.downtime'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
index 2fe1888535..bcb2d2f720 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
@@ -193,6 +193,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
index 137fff4dfc..1a2065af77 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
@@ -121,6 +121,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>2011000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100288</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
index 56024cfa5d..c14472f3b3 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
@@ -200,6 +200,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2011000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100288</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
index a4574f70f6..03cc28aca1 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
@@ -166,6 +166,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2012000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
index ab5ab06084..db5fc0b3f4 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
@@ -167,6 +167,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
index 588ccc58e4..ec117f0302 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
@@ -133,6 +133,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>2012000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index 13b61fcfe5..8c0c2df332 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -210,6 +210,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
index 04fd9abfff..663292270b 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
@@ -140,6 +140,7 @@
<flag name='migration-param.downtime'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
index 9cdcb9988a..2153200c81 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
@@ -106,6 +106,7 @@
<flag name='fw_cfg'/>
<flag name='migration-param.bandwidth'/>
<flag name='migration-param.downtime'/>
+ <flag name='accel'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index d984ad3066..29dc807507 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -186,6 +186,7 @@
<flag name='migration-param.downtime'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
index c92bb5f6a3..c261367726 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
@@ -169,6 +169,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2012050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
index d68c785583..cb5ed43f54 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
@@ -103,6 +103,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
index 3dd3ec87e5..3226689e17 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
@@ -103,6 +103,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
index 649104ccbd..de68315967 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
@@ -136,6 +136,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
index d7f1d6cd84..3d680e9959 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
@@ -216,6 +216,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
index f4b4566ea8..e09413498b 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
@@ -174,6 +174,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>3000091</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
index b8391f1353..3334536258 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
@@ -219,6 +219,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>3000092</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
index 4722557eaf..e06ebaef46 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
@@ -180,6 +180,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
index 6f549902ca..a16f6b76db 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
@@ -188,6 +188,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
index b1dc08eb4d..d2a4fd2f07 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
@@ -181,6 +181,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
index babb8fb8ab..4f2a3ac699 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
@@ -181,6 +181,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
index 5a15848f88..d07676f9c4 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
@@ -144,6 +144,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
index 43b70ccc94..9928b0a933 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
@@ -225,6 +225,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
index 58774fddcc..f3f7dae90e 100644
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
@@ -231,6 +231,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
index 77fdc73415..5dafacd45a 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
@@ -193,6 +193,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
index 15eaac77a6..3d6469c46d 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
@@ -194,6 +194,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
index 42a7cca50a..14a199da27 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
@@ -155,6 +155,7 @@
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='blockdev-hostdev-scsi'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
index 1ba8c09374..110e9bcf51 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
@@ -240,6 +240,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
index d584642bff..fc796c88c1 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
@@ -203,6 +203,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
index 596bccd70a..e4c9c06f71 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
@@ -212,6 +212,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
index eb760f2911..67568245c5 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
@@ -199,6 +199,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
index 849727eb40..355a93d4bf 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
@@ -247,6 +247,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
index a293437850..dee63e0645 100644
--- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
+++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
@@ -115,6 +115,7 @@
<flag name='netdev.vhost-vdpa'/>
<flag name='fsdev.createmode'/>
<flag name='ncr53c90'/>
+ <flag name='accel'/>
<version>5001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
index ff5f42a563..f958038a06 100644
--- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
@@ -249,6 +249,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
index cac9b40528..5e3e319f79 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
@@ -207,6 +207,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
index e92201ad43..97b48a2d98 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
@@ -214,6 +214,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
index bee7f547c7..cf70406da5 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
@@ -201,6 +201,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
index 15e7ee84c6..4594055c49 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
@@ -162,6 +162,7 @@
<flag name='block-export-add'/>
<flag name='netdev.vhost-vdpa'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
index cebacc249d..0061121051 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
@@ -250,6 +250,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>
--
2.24.3
1
0
From: Hyman <huangy81(a)chinatelecom.cn>
QEMU introduced a dirty ring feature, this patch add a new
KVM feature 'dirty-ring' to set this feature for kvm guests.
To enable the feature, libvirt add "-accel dirty-gfn-count=xxx"
to QEMU command line, the following XML needs to be added to
the guest's domain description:
<features>
<kvm>
<dirty-ring state='on' size='xxx'>
</kvm>
</features>
Signed-off-by: Hyman <huangy81(a)chinatelecom.cn>
---
docs/formatdomain.rst | 16 +++++++++-------
docs/schemas/domaincommon.rng | 10 ++++++++++
src/conf/domain_conf.c | 34 ++++++++++++++++++++++++++++++++++
src/conf/domain_conf.h | 4 ++++
src/qemu/qemu_command.c | 13 ++++++++++---
5 files changed, 67 insertions(+), 10 deletions(-)
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 6100b88..5bf8517 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -1767,6 +1767,7 @@ Hypervisors may allow certain CPU / machine features to be toggled on/off.
<hidden state='on'/>
<hint-dedicated state='on'/>
<poll-control='on'/>
+ <dirty-ring state='on' size='4096'/>
</kvm>
<xen>
<e820_host state='on'/>
@@ -1849,13 +1850,14 @@ are:
``kvm``
Various features to change the behavior of the KVM hypervisor.
- ============== ============================================================================ ======= ============================
- Feature Description Value Since
- ============== ============================================================================ ======= ============================
- hidden Hide the KVM hypervisor from standard MSR based discovery on, off :since:`1.2.8 (QEMU 2.1.0)`
- hint-dedicated Allows a guest to enable optimizations when running on dedicated vCPUs on, off :since:`5.7.0 (QEMU 2.12.0)`
- poll-control Decrease IO completion latency by introducing a grace period of busy waiting on, off :since:`6.10.0 (QEMU 4.2)`
- ============== ============================================================================ ======= ============================
+ ============== ============================================================================ ================================== ============================
+ Feature Description Value Since
+ ============== ============================================================================ ================================== ============================
+ hidden Hide the KVM hypervisor from standard MSR based discovery on, off :since:`1.2.8 (QEMU 2.1.0)`
+ hint-dedicated Allows a guest to enable optimizations when running on dedicated vCPUs on, off :since:`5.7.0 (QEMU 2.12.0)`
+ poll-control Decrease IO completion latency by introducing a grace period of busy waiting on, off :since:`6.10.0 (QEMU 4.2)`
+ dirty-ring Enable dirty ring feature on, off; size - must be power of 2 :since:`7.0.0 (QEMU 5.2.1)`
+ ============== ============================================================================ ================================== ============================
``xen``
Various features to change the behavior of the Xen hypervisor.
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 7dc419b..5af4bbe 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -6569,6 +6569,16 @@
<ref name="featurestate"/>
</element>
</optional>
+ <optional>
+ <element name="dirty-ring">
+ <ref name="featurestate"/>
+ <optional>
+ <attribute name="size">
+ <data type="unsignedInt"/>
+ </attribute>
+ </optional>
+ </element>
+ </optional>
</interleave>
</element>
</define>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 349fc28..e617b95 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -186,6 +186,7 @@ VIR_ENUM_IMPL(virDomainKVM,
"hidden",
"hint-dedicated",
"poll-control",
+ "dirty-ring",
);
VIR_ENUM_IMPL(virDomainXen,
@@ -18379,6 +18380,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
if (def->features[VIR_DOMAIN_FEATURE_KVM] == VIR_TRISTATE_SWITCH_ON) {
int feature;
int value;
+ node = ctxt->node;
if ((n = virXPathNodeSet("./features/kvm/*", ctxt, &nodes)) < 0)
return -1;
@@ -18395,6 +18397,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
case VIR_DOMAIN_KVM_HIDDEN:
case VIR_DOMAIN_KVM_DEDICATED:
case VIR_DOMAIN_KVM_POLLCONTROL:
+ case VIR_DOMAIN_KVM_DIRTY_RING:
if (!(tmp = virXMLPropString(nodes[i], "state"))) {
virReportError(VIR_ERR_XML_ERROR,
_("missing 'state' attribute for "
@@ -18413,6 +18416,26 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
VIR_FREE(tmp);
def->kvm_features[feature] = value;
+
+ /* only for dirty ring case */
+ if (((virDomainKVM) feature) == VIR_DOMAIN_KVM_DIRTY_RING &&
+ value == VIR_TRISTATE_SWITCH_ON) {
+ ctxt->node = nodes[i];
+ if (virXPathUInt("string(./@size)", ctxt,
+ &def->dirty_gfn_count) < 0) {
+ virReportError(VIR_ERR_XML_ERROR, "%s",
+ _("invalid number of dirty GFNs"));
+ return -1;
+ }
+
+ if ((def->dirty_gfn_count & (def->dirty_gfn_count - 1)) ||
+ def->dirty_gfn_count > 65536) {
+ virReportError(VIR_ERR_XML_ERROR, "%s",
+ _("max number of dirty GFNs is 65536 "
+ "and must be power of 2"));
+ return -1;
+ }
+ }
break;
/* coverity[dead_error_begin] */
@@ -18421,6 +18444,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
}
}
VIR_FREE(nodes);
+ ctxt->node = node;
}
if (def->features[VIR_DOMAIN_FEATURE_XEN] == VIR_TRISTATE_SWITCH_ON) {
@@ -22521,6 +22545,7 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr src,
case VIR_DOMAIN_KVM_HIDDEN:
case VIR_DOMAIN_KVM_DEDICATED:
case VIR_DOMAIN_KVM_POLLCONTROL:
+ case VIR_DOMAIN_KVM_DIRTY_RING:
if (src->kvm_features[i] != dst->kvm_features[i]) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("State of KVM feature '%s' differs: "
@@ -28271,6 +28296,15 @@ virDomainDefFormatFeatures(virBufferPtr buf,
def->kvm_features[j]));
break;
+ case VIR_DOMAIN_KVM_DIRTY_RING:
+ if (def->kvm_features[j])
+ virBufferAsprintf(&childBuf, "<%s state='%s' size='%d'/>\n",
+ virDomainKVMTypeToString(j),
+ virTristateSwitchTypeToString(
+ def->kvm_features[j]),
+ def->dirty_gfn_count);
+ break;
+
/* coverity[dead_error_begin] */
case VIR_DOMAIN_KVM_LAST:
break;
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index ec43bbe..120d490 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1917,6 +1917,7 @@ typedef enum {
VIR_DOMAIN_KVM_HIDDEN = 0,
VIR_DOMAIN_KVM_DEDICATED,
VIR_DOMAIN_KVM_POLLCONTROL,
+ VIR_DOMAIN_KVM_DIRTY_RING,
VIR_DOMAIN_KVM_LAST
} virDomainKVM;
@@ -2728,6 +2729,9 @@ struct _virDomainDef {
callbacks failed for a non-critical reason
(was not able to fill in some data) and thus
should be re-run before starting */
+
+ /* Number of dirty GFNs per ring */
+ unsigned int dirty_gfn_count;
};
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 0f660aa..31829ba 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6525,6 +6525,9 @@ qemuBuildCpuCommandLine(virCommandPtr cmd,
virBufferAddLit(&buf, ",kvm-poll-control=on");
break;
+ case VIR_DOMAIN_KVM_DIRTY_RING:
+ break;
+
/* coverity[dead_error_begin] */
case VIR_DOMAIN_KVM_LAST:
break;
@@ -6959,9 +6962,13 @@ qemuBuildAccelCommandLineTcgOptions(void)
static void
-qemuBuildAccelCommandLineKvmOptions(void)
+qemuBuildAccelCommandLineKvmOptions(virBuffer *buf,
+ const virDomainDef *def)
{
- /* implemented in the next patch */
+ if (def->features[VIR_DOMAIN_FEATURE_KVM] == VIR_TRISTATE_SWITCH_ON &&
+ def->kvm_features[VIR_DOMAIN_KVM_DIRTY_RING] == VIR_TRISTATE_SWITCH_ON) {
+ virBufferAsprintf(buf, ",dirty-gfn-count=%d", def->dirty_gfn_count);
+ }
}
@@ -6982,7 +6989,7 @@ qemuBuildAccelCommandLine(virCommandPtr cmd,
case VIR_DOMAIN_VIRT_KVM:
virBufferAddLit(&buf, "kvm");
- qemuBuildAccelCommandLineKvmOptions();
+ qemuBuildAccelCommandLineKvmOptions(&buf, def);
break;
case VIR_DOMAIN_VIRT_KQEMU:
--
1.8.3.1
3
2
13 Jan '21
Depending on the memballoon model, the corresponding QOM node
will have a different type and we need to account for this
when searching for it in the QOM tree.
https://bugzilla.redhat.com/show_bug.cgi?id=1911786
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/qemu/qemu_monitor.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index b5c0364652..c97dadd11e 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -1017,7 +1017,27 @@ qemuMonitorInitBalloonObjectPath(qemuMonitorPtr mon,
switch (balloon->info.type) {
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI:
- name = "virtio-balloon-pci";
+ switch (balloon->model) {
+ case VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO:
+ name = "virtio-balloon-pci";
+ break;
+ case VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO_TRANSITIONAL:
+ name = "virtio-balloon-pci-transitional";
+ break;
+ case VIR_DOMAIN_MEMBALLOON_MODEL_VIRTIO_NON_TRANSITIONAL:
+ name = "virtio-balloon-pci-non-transitional";
+ break;
+ case VIR_DOMAIN_MEMBALLOON_MODEL_XEN:
+ case VIR_DOMAIN_MEMBALLOON_MODEL_NONE:
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("invalid model for virtio-balloon-pci"));
+ return;
+ case VIR_DOMAIN_MEMBALLOON_MODEL_LAST:
+ default:
+ virReportEnumRangeError(virDomainMemballoonModel,
+ balloon->model);
+ return;
+ }
break;
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
name = "virtio-balloon-ccw";
--
2.26.2
4
6
From: Hyman <huangy81(a)chinatelecom.cn>
QEMU introduced a dirty ring feature, this patch add a new
KVM feature 'dirty-ring' to set this feature for kvm guests.
To enable the feature, libvirt add "-accel dirty-gfn-count=xxx"
to QEMU command line, the following XML needs to be added to
the guest's domain description:
<features>
<kvm>
<dirty-ring state='on' size='xxx'>
</kvm>
</features>
Signed-off-by: Hyman <huangy81(a)chinatelecom.cn>
---
docs/formatdomain.rst | 16 +++++++++-------
docs/schemas/domaincommon.rng | 10 ++++++++++
src/conf/domain_conf.c | 34 ++++++++++++++++++++++++++++++++++
src/conf/domain_conf.h | 4 ++++
src/qemu/qemu_command.c | 13 ++++++++++---
5 files changed, 67 insertions(+), 10 deletions(-)
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 6100b88e99..5bf8517cda 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -1767,6 +1767,7 @@ Hypervisors may allow certain CPU / machine features to be toggled on/off.
<hidden state='on'/>
<hint-dedicated state='on'/>
<poll-control='on'/>
+ <dirty-ring state='on' size='4096'/>
</kvm>
<xen>
<e820_host state='on'/>
@@ -1849,13 +1850,14 @@ are:
``kvm``
Various features to change the behavior of the KVM hypervisor.
- ============== ============================================================================ ======= ============================
- Feature Description Value Since
- ============== ============================================================================ ======= ============================
- hidden Hide the KVM hypervisor from standard MSR based discovery on, off :since:`1.2.8 (QEMU 2.1.0)`
- hint-dedicated Allows a guest to enable optimizations when running on dedicated vCPUs on, off :since:`5.7.0 (QEMU 2.12.0)`
- poll-control Decrease IO completion latency by introducing a grace period of busy waiting on, off :since:`6.10.0 (QEMU 4.2)`
- ============== ============================================================================ ======= ============================
+ ============== ============================================================================ ================================== ============================
+ Feature Description Value Since
+ ============== ============================================================================ ================================== ============================
+ hidden Hide the KVM hypervisor from standard MSR based discovery on, off :since:`1.2.8 (QEMU 2.1.0)`
+ hint-dedicated Allows a guest to enable optimizations when running on dedicated vCPUs on, off :since:`5.7.0 (QEMU 2.12.0)`
+ poll-control Decrease IO completion latency by introducing a grace period of busy waiting on, off :since:`6.10.0 (QEMU 4.2)`
+ dirty-ring Enable dirty ring feature on, off; size - must be power of 2 :since:`7.0.0 (QEMU 5.2.1)`
+ ============== ============================================================================ ================================== ============================
``xen``
Various features to change the behavior of the Xen hypervisor.
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 7dc419bcc3..5af4bbeee6 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -6569,6 +6569,16 @@
<ref name="featurestate"/>
</element>
</optional>
+ <optional>
+ <element name="dirty-ring">
+ <ref name="featurestate"/>
+ <optional>
+ <attribute name="size">
+ <data type="unsignedInt"/>
+ </attribute>
+ </optional>
+ </element>
+ </optional>
</interleave>
</element>
</define>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 349fc28c2a..e617b952db 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -186,6 +186,7 @@ VIR_ENUM_IMPL(virDomainKVM,
"hidden",
"hint-dedicated",
"poll-control",
+ "dirty-ring",
);
VIR_ENUM_IMPL(virDomainXen,
@@ -18379,6 +18380,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
if (def->features[VIR_DOMAIN_FEATURE_KVM] == VIR_TRISTATE_SWITCH_ON) {
int feature;
int value;
+ node = ctxt->node;
if ((n = virXPathNodeSet("./features/kvm/*", ctxt, &nodes)) < 0)
return -1;
@@ -18395,6 +18397,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
case VIR_DOMAIN_KVM_HIDDEN:
case VIR_DOMAIN_KVM_DEDICATED:
case VIR_DOMAIN_KVM_POLLCONTROL:
+ case VIR_DOMAIN_KVM_DIRTY_RING:
if (!(tmp = virXMLPropString(nodes[i], "state"))) {
virReportError(VIR_ERR_XML_ERROR,
_("missing 'state' attribute for "
@@ -18413,6 +18416,26 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
VIR_FREE(tmp);
def->kvm_features[feature] = value;
+
+ /* only for dirty ring case */
+ if (((virDomainKVM) feature) == VIR_DOMAIN_KVM_DIRTY_RING &&
+ value == VIR_TRISTATE_SWITCH_ON) {
+ ctxt->node = nodes[i];
+ if (virXPathUInt("string(./@size)", ctxt,
+ &def->dirty_gfn_count) < 0) {
+ virReportError(VIR_ERR_XML_ERROR, "%s",
+ _("invalid number of dirty GFNs"));
+ return -1;
+ }
+
+ if ((def->dirty_gfn_count & (def->dirty_gfn_count - 1)) ||
+ def->dirty_gfn_count > 65536) {
+ virReportError(VIR_ERR_XML_ERROR, "%s",
+ _("max number of dirty GFNs is 65536 "
+ "and must be power of 2"));
+ return -1;
+ }
+ }
break;
/* coverity[dead_error_begin] */
@@ -18421,6 +18444,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
}
}
VIR_FREE(nodes);
+ ctxt->node = node;
}
if (def->features[VIR_DOMAIN_FEATURE_XEN] == VIR_TRISTATE_SWITCH_ON) {
@@ -22521,6 +22545,7 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr src,
case VIR_DOMAIN_KVM_HIDDEN:
case VIR_DOMAIN_KVM_DEDICATED:
case VIR_DOMAIN_KVM_POLLCONTROL:
+ case VIR_DOMAIN_KVM_DIRTY_RING:
if (src->kvm_features[i] != dst->kvm_features[i]) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("State of KVM feature '%s' differs: "
@@ -28271,6 +28296,15 @@ virDomainDefFormatFeatures(virBufferPtr buf,
def->kvm_features[j]));
break;
+ case VIR_DOMAIN_KVM_DIRTY_RING:
+ if (def->kvm_features[j])
+ virBufferAsprintf(&childBuf, "<%s state='%s' size='%d'/>\n",
+ virDomainKVMTypeToString(j),
+ virTristateSwitchTypeToString(
+ def->kvm_features[j]),
+ def->dirty_gfn_count);
+ break;
+
/* coverity[dead_error_begin] */
case VIR_DOMAIN_KVM_LAST:
break;
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index ec43bbe186..120d490ce7 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1917,6 +1917,7 @@ typedef enum {
VIR_DOMAIN_KVM_HIDDEN = 0,
VIR_DOMAIN_KVM_DEDICATED,
VIR_DOMAIN_KVM_POLLCONTROL,
+ VIR_DOMAIN_KVM_DIRTY_RING,
VIR_DOMAIN_KVM_LAST
} virDomainKVM;
@@ -2728,6 +2729,9 @@ struct _virDomainDef {
callbacks failed for a non-critical reason
(was not able to fill in some data) and thus
should be re-run before starting */
+
+ /* Number of dirty GFNs per ring */
+ unsigned int dirty_gfn_count;
};
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 0f660aaec3..31829baeea 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6525,6 +6525,9 @@ qemuBuildCpuCommandLine(virCommandPtr cmd,
virBufferAddLit(&buf, ",kvm-poll-control=on");
break;
+ case VIR_DOMAIN_KVM_DIRTY_RING:
+ break;
+
/* coverity[dead_error_begin] */
case VIR_DOMAIN_KVM_LAST:
break;
@@ -6959,9 +6962,13 @@ qemuBuildAccelCommandLineTcgOptions(void)
static void
-qemuBuildAccelCommandLineKvmOptions(void)
+qemuBuildAccelCommandLineKvmOptions(virBuffer *buf,
+ const virDomainDef *def)
{
- /* implemented in the next patch */
+ if (def->features[VIR_DOMAIN_FEATURE_KVM] == VIR_TRISTATE_SWITCH_ON &&
+ def->kvm_features[VIR_DOMAIN_KVM_DIRTY_RING] == VIR_TRISTATE_SWITCH_ON) {
+ virBufferAsprintf(buf, ",dirty-gfn-count=%d", def->dirty_gfn_count);
+ }
}
@@ -6982,7 +6989,7 @@ qemuBuildAccelCommandLine(virCommandPtr cmd,
case VIR_DOMAIN_VIRT_KVM:
virBufferAddLit(&buf, "kvm");
- qemuBuildAccelCommandLineKvmOptions();
+ qemuBuildAccelCommandLineKvmOptions(&buf, def);
break;
case VIR_DOMAIN_VIRT_KQEMU:
--
2.24.3
1
0
[RFC v5 2/3] qemu: use "-accel" option to specify accelerator instead of "-machine"
by huangy81@chinatelecom.cn 13 Jan '21
by huangy81@chinatelecom.cn 13 Jan '21
13 Jan '21
From: Hyman <huangy81(a)chinatelecom.cn>
The "-machine" options for accelerators are legacy, the "-accel" options
is a better mechanism. The following are the details:
https://lore.kernel.org/qemu-devel/3aa73987-40e8-3619-0723-9f17f73850bd@red…
This patch switch the option "-machine accel" to "-accel" when specifying
accelerator type once libvirt build QEMU command line.
Since this patch involves qemuxml2argvtest, we only modify the test cases
which machine type supported by QEMU with version >= 2.9.0.
Signed-off-by: Hyman <huangy81(a)chinatelecom.cn>
---
src/qemu/qemu_command.c | 131 ++++++++++++++----
...fault-cpu-kvm-virt-4.2.aarch64-latest.args | 3 +-
...fault-cpu-tcg-virt-4.2.aarch64-latest.args | 3 +-
.../aarch64-features-sve.aarch64-latest.args | 3 +-
...arch64-os-firmware-efi.aarch64-latest.args | 3 +-
.../aarch64-virt-graphics.aarch64-latest.args | 3 +-
.../aarch64-virt-headless.aarch64-latest.args | 3 +-
.../blkdeviotune-group-num.x86_64-4.1.0.args | 3 +-
.../blkdeviotune-group-num.x86_64-latest.args | 3 +-
.../blkdeviotune-max-length.x86_64-4.1.0.args | 3 +-
...blkdeviotune-max-length.x86_64-latest.args | 3 +-
.../blkdeviotune-max.x86_64-4.1.0.args | 3 +-
.../blkdeviotune-max.x86_64-latest.args | 3 +-
.../channel-unix-guestfwd.x86_64-latest.args | 3 +-
.../clock-timer-armvtimer.aarch64-latest.args | 3 +-
.../console-virtio-unix.x86_64-latest.args | 3 +-
.../controller-virtio-scsi.x86_64-latest.args | 3 +-
...u-Icelake-Server-pconfig.x86_64-3.1.0.args | 3 +-
...-Icelake-Server-pconfig.x86_64-latest.args | 3 +-
.../cpu-host-model-cmt.x86_64-4.0.0.args | 3 +-
.../cpu-translation.x86_64-4.0.0.args | 3 +-
.../cpu-translation.x86_64-latest.args | 3 +-
.../cpu-tsc-frequency.x86_64-4.0.0.args | 3 +-
.../cpu-tsc-high-frequency.x86_64-latest.args | 3 +-
.../cputune-cpuset-big-id.x86_64-latest.args | 3 +-
...ult-video-type-aarch64.aarch64-latest.args | 3 +-
...default-video-type-ppc64.ppc64-latest.args | 3 +-
...ult-video-type-riscv64.riscv64-latest.args | 3 +-
...default-video-type-s390x.s390x-latest.args | 3 +-
.../disk-aio-io_uring.x86_64-latest.args | 3 +-
.../disk-aio.x86_64-2.12.0.args | 3 +-
.../disk-aio.x86_64-latest.args | 3 +-
.../disk-arm-virtio-sd.aarch64-4.0.0.args | 3 +-
.../disk-arm-virtio-sd.aarch64-latest.args | 3 +-
...-backing-chains-noindex.x86_64-2.12.0.args | 3 +-
...-backing-chains-noindex.x86_64-latest.args | 3 +-
.../disk-cache.x86_64-2.12.0.args | 3 +-
.../disk-cache.x86_64-latest.args | 3 +-
.../disk-cdrom-bus-other.x86_64-latest.args | 3 +-
...m-empty-network-invalid.x86_64-latest.args | 3 +-
.../disk-cdrom-network.x86_64-2.12.0.args | 3 +-
.../disk-cdrom-network.x86_64-latest.args | 3 +-
.../disk-cdrom-tray.x86_64-2.12.0.args | 3 +-
.../disk-cdrom-tray.x86_64-latest.args | 3 +-
.../disk-cdrom.x86_64-2.12.0.args | 3 +-
.../disk-cdrom.x86_64-latest.args | 3 +-
.../disk-copy_on_read.x86_64-2.12.0.args | 3 +-
.../disk-copy_on_read.x86_64-latest.args | 3 +-
.../disk-detect-zeroes.x86_64-2.12.0.args | 3 +-
.../disk-detect-zeroes.x86_64-latest.args | 3 +-
.../disk-discard.x86_64-4.1.0.args | 3 +-
.../disk-discard.x86_64-latest.args | 3 +-
.../disk-error-policy-s390x.s390x-2.12.0.args | 3 +-
.../disk-error-policy-s390x.s390x-latest.args | 3 +-
.../disk-error-policy.x86_64-2.12.0.args | 3 +-
.../disk-error-policy.x86_64-latest.args | 3 +-
.../disk-floppy-q35-2_11.x86_64-2.12.0.args | 3 +-
.../disk-floppy-q35-2_11.x86_64-latest.args | 3 +-
.../disk-floppy-q35-2_9.x86_64-2.12.0.args | 3 +-
.../disk-floppy-q35-2_9.x86_64-latest.args | 3 +-
.../disk-floppy.x86_64-2.12.0.args | 3 +-
.../disk-floppy.x86_64-latest.args | 3 +-
.../disk-metadata-cache.x86_64-latest.args | 3 +-
.../disk-network-gluster.x86_64-2.12.0.args | 3 +-
.../disk-network-gluster.x86_64-latest.args | 3 +-
.../disk-network-http.x86_64-latest.args | 3 +-
.../disk-network-iscsi.x86_64-2.12.0.args | 3 +-
.../disk-network-iscsi.x86_64-latest.args | 3 +-
.../disk-network-nbd.x86_64-2.12.0.args | 3 +-
.../disk-network-nbd.x86_64-latest.args | 3 +-
.../disk-network-nfs.x86_64-latest.args | 3 +-
.../disk-network-rbd.x86_64-2.12.0.args | 3 +-
.../disk-network-rbd.x86_64-latest.args | 3 +-
.../disk-network-sheepdog.x86_64-2.12.0.args | 3 +-
.../disk-network-sheepdog.x86_64-latest.args | 3 +-
...isk-network-source-auth.x86_64-2.12.0.args | 3 +-
...isk-network-source-auth.x86_64-latest.args | 3 +-
...isk-network-tlsx509-nbd.x86_64-2.12.0.args | 3 +-
...isk-network-tlsx509-nbd.x86_64-latest.args | 3 +-
...sk-network-tlsx509-vxhs.x86_64-2.12.0.args | 3 +-
...isk-network-tlsx509-vxhs.x86_64-5.0.0.args | 3 +-
.../disk-network-tlsx509.x86_64-2.12.0.args | 3 +-
.../disk-network-tlsx509.x86_64-latest.args | 3 +-
.../disk-nvme.x86_64-latest.args | 3 +-
.../disk-readonly-disk.x86_64-2.12.0.args | 3 +-
.../disk-readonly-disk.x86_64-latest.args | 3 +-
.../disk-scsi-device-auto.x86_64-latest.args | 3 +-
.../disk-scsi.x86_64-latest.args | 3 +-
.../disk-shared.x86_64-2.12.0.args | 3 +-
.../disk-shared.x86_64-latest.args | 3 +-
.../disk-slices.x86_64-latest.args | 3 +-
.../disk-transient.x86_64-latest.args | 3 +-
...irtio-scsi-reservations.x86_64-2.12.0.args | 3 +-
...irtio-scsi-reservations.x86_64-latest.args | 3 +-
.../eoi-disabled.x86_64-4.0.0.args | 3 +-
.../eoi-disabled.x86_64-latest.args | 3 +-
.../eoi-enabled.x86_64-4.0.0.args | 3 +-
.../eoi-enabled.x86_64-latest.args | 3 +-
.../fips-enabled.x86_64-5.1.0.args | 3 +-
.../fips-enabled.x86_64-latest.args | 3 +-
.../floppy-drive-fat.x86_64-2.12.0.args | 3 +-
.../floppy-drive-fat.x86_64-latest.args | 3 +-
.../fs9p-ccw.s390x-latest.args | 3 +-
.../qemuxml2argvdata/fs9p.x86_64-latest.args | 3 +-
.../genid-auto.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/genid.x86_64-latest.args | 3 +-
...egl-headless-rendernode.x86_64-latest.args | 3 +-
.../graphics-egl-headless.x86_64-latest.args | 3 +-
...pice-gl-auto-rendernode.x86_64-latest.args | 3 +-
...graphics-vnc-tls-secret.x86_64-latest.args | 3 +-
.../graphics-vnc-tls.x86_64-latest.args | 3 +-
...tdev-mdev-display-ramfb.x86_64-latest.args | 3 +-
...play-spice-egl-headless.x86_64-latest.args | 3 +-
...ev-display-spice-opengl.x86_64-latest.args | 3 +-
...isplay-vnc-egl-headless.x86_64-latest.args | 3 +-
...ostdev-mdev-display-vnc.x86_64-latest.args | 3 +-
.../hostdev-scsi-lsi.x86_64-4.1.0.args | 3 +-
.../hostdev-scsi-lsi.x86_64-latest.args | 3 +-
...hostdev-scsi-virtio-scsi.x86_64-4.1.0.args | 3 +-
...ostdev-scsi-virtio-scsi.x86_64-latest.args | 3 +-
...tdev-subsys-mdev-vfio-ap.s390x-latest.args | 3 +-
...ubsys-mdev-vfio-ccw-boot.s390x-latest.args | 3 +-
.../hugepages-memaccess3.x86_64-latest.args | 3 +-
.../hugepages-nvdimm.x86_64-latest.args | 3 +-
.../hyperv-off.x86_64-4.0.0.args | 3 +-
.../hyperv-off.x86_64-latest.args | 3 +-
.../hyperv-panic.x86_64-4.0.0.args | 3 +-
.../hyperv-panic.x86_64-latest.args | 3 +-
.../hyperv-stimer-direct.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/hyperv.x86_64-4.0.0.args | 3 +-
.../hyperv.x86_64-latest.args | 3 +-
.../intel-iommu-aw-bits.x86_64-latest.args | 3 +-
...ntel-iommu-caching-mode.x86_64-latest.args | 3 +-
...ntel-iommu-device-iotlb.x86_64-latest.args | 3 +-
.../intel-iommu-eim.x86_64-latest.args | 3 +-
.../intel-iommu.x86_64-latest.args | 3 +-
.../iommu-smmuv3.aarch64-latest.args | 3 +-
...othreads-virtio-scsi-ccw.s390x-latest.args | 3 +-
...threads-virtio-scsi-pci.x86_64-latest.args | 3 +-
.../kvmclock+eoi-disabled.x86_64-4.0.0.args | 3 +-
.../kvmclock+eoi-disabled.x86_64-latest.args | 3 +-
...v-missing-platform-info.x86_64-2.12.0.args | 3 +-
.../launch-security-sev.x86_64-2.12.0.args | 3 +-
...luks-disks-source-qcow2.x86_64-latest.args | 3 +-
...memory-default-hugepage.x86_64-latest.args | 3 +-
.../memfd-memory-numa.x86_64-latest.args | 3 +-
...y-hotplug-nvdimm-access.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-align.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-label.x86_64-latest.args | 3 +-
...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 3 +-
...hotplug-nvdimm-readonly.x86_64-latest.args | 3 +-
.../memory-hotplug-nvdimm.x86_64-latest.args | 3 +-
.../mlock-off.x86_64-3.0.0.args | 3 +-
.../mlock-off.x86_64-latest.args | 3 +-
.../mlock-on.x86_64-3.0.0.args | 3 +-
.../mlock-on.x86_64-latest.args | 3 +-
.../net-user.x86_64-4.0.0.args | 3 +-
.../net-vdpa.x86_64-latest.args | 3 +-
.../net-vhostuser.x86_64-latest.args | 3 +-
.../numatune-hmat.x86_64-latest.args | 3 +-
.../os-firmware-bios.x86_64-latest.args | 3 +-
...os-firmware-efi-secboot.x86_64-latest.args | 3 +-
.../os-firmware-efi.x86_64-latest.args | 3 +-
.../parallel-unix-chardev.x86_64-latest.args | 3 +-
...cie-root-port-nohotplug.x86_64-latest.args | 3 +-
...ault-cpu-kvm-pseries-2.7.ppc64-latest.args | 3 +-
...ault-cpu-kvm-pseries-3.1.ppc64-latest.args | 3 +-
...ault-cpu-kvm-pseries-4.2.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-2.7.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-3.1.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-4.2.ppc64-latest.args | 3 +-
.../ppc64-pseries-graphics.ppc64-latest.args | 3 +-
.../ppc64-pseries-headless.ppc64-latest.args | 3 +-
.../ppc64-tpmproxy-single.ppc64-latest.args | 3 +-
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 3 +-
.../pv-spinlock-disabled.x86_64-4.0.0.args | 3 +-
.../pv-spinlock-disabled.x86_64-latest.args | 3 +-
.../pv-spinlock-enabled.x86_64-4.0.0.args | 3 +-
.../pv-spinlock-enabled.x86_64-latest.args | 3 +-
.../qemu-ns.x86_64-4.0.0.args | 3 +-
.../qemu-ns.x86_64-latest.args | 3 +-
.../riscv64-virt-graphics.riscv64-latest.args | 3 +-
.../riscv64-virt-headless.riscv64-latest.args | 3 +-
...t-cpu-kvm-ccw-virtio-2.7.s390x-latest.args | 3 +-
...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 3 +-
...t-cpu-tcg-ccw-virtio-2.7.s390x-latest.args | 3 +-
...t-cpu-tcg-ccw-virtio-4.2.s390x-latest.args | 3 +-
.../s390x-ccw-graphics.s390x-latest.args | 3 +-
.../s390x-ccw-headless.s390x-latest.args | 3 +-
.../serial-unix-chardev.x86_64-latest.args | 3 +-
...rtcard-passthrough-unix.x86_64-latest.args | 3 +-
.../tpm-emulator-spapr.ppc64-latest.args | 3 +-
.../tpm-emulator-tpm2-enc.x86_64-latest.args | 3 +-
...pm-emulator-tpm2-pstate.x86_64-latest.args | 3 +-
.../tpm-emulator-tpm2.x86_64-latest.args | 3 +-
.../tpm-emulator.x86_64-latest.args | 3 +-
.../tpm-passthrough-crb.x86_64-latest.args | 3 +-
.../tpm-passthrough.x86_64-latest.args | 3 +-
.../tseg-explicit-size.x86_64-latest.args | 3 +-
.../usb-redir-unix.x86_64-latest.args | 3 +-
...vhost-user-fs-fd-memory.x86_64-latest.args | 3 +-
...vhost-user-fs-hugepages.x86_64-latest.args | 3 +-
...host-user-gpu-secondary.x86_64-latest.args | 3 +-
.../vhost-user-vga.x86_64-latest.args | 3 +-
.../vhost-vsock-auto.x86_64-latest.args | 3 +-
.../vhost-vsock-ccw-auto.s390x-latest.args | 3 +-
.../vhost-vsock-ccw.s390x-latest.args | 3 +-
.../vhost-vsock.x86_64-latest.args | 3 +-
...eo-bochs-display-device.x86_64-latest.args | 3 +-
...video-qxl-device-vram64.x86_64-latest.args | 3 +-
...o-qxl-sec-device-vram64.x86_64-latest.args | 3 +-
...eo-ramfb-display-device.x86_64-latest.args | 3 +-
.../virtio-9p-createmode.x86_64-latest.args | 3 +-
.../virtio-9p-multidevs.x86_64-latest.args | 3 +-
.../virtio-non-transitional.x86_64-3.1.0.args | 3 +-
...virtio-non-transitional.x86_64-latest.args | 3 +-
...-options-controller-ats.x86_64-latest.args | 3 +-
...ptions-controller-iommu.x86_64-latest.args | 3 +-
...tions-controller-packed.x86_64-latest.args | 3 +-
...virtio-options-disk-ats.x86_64-latest.args | 3 +-
...rtio-options-disk-iommu.x86_64-latest.args | 3 +-
...tio-options-disk-packed.x86_64-latest.args | 3 +-
.../virtio-options-fs-ats.x86_64-latest.args | 3 +-
...virtio-options-fs-iommu.x86_64-latest.args | 3 +-
...irtio-options-fs-packed.x86_64-latest.args | 3 +-
...irtio-options-input-ats.x86_64-latest.args | 3 +-
...tio-options-input-iommu.x86_64-latest.args | 3 +-
...io-options-input-packed.x86_64-latest.args | 3 +-
...-options-memballoon-ats.x86_64-latest.args | 3 +-
...loon-freepage-reporting.x86_64-latest.args | 3 +-
...ptions-memballoon-iommu.x86_64-latest.args | 3 +-
...tions-memballoon-packed.x86_64-latest.args | 3 +-
.../virtio-options-net-ats.x86_64-latest.args | 3 +-
...irtio-options-net-iommu.x86_64-latest.args | 3 +-
...rtio-options-net-packed.x86_64-latest.args | 3 +-
.../virtio-options-rng-ats.x86_64-latest.args | 3 +-
...irtio-options-rng-iommu.x86_64-latest.args | 3 +-
...rtio-options-rng-packed.x86_64-latest.args | 3 +-
...irtio-options-video-ats.x86_64-latest.args | 3 +-
...tio-options-video-iommu.x86_64-latest.args | 3 +-
...io-options-video-packed.x86_64-latest.args | 3 +-
.../virtio-options.x86_64-latest.args | 3 +-
.../virtio-rng-builtin.x86_64-latest.args | 3 +-
.../virtio-rng-egd-unix.x86_64-latest.args | 3 +-
.../virtio-transitional.x86_64-3.1.0.args | 3 +-
.../virtio-transitional.x86_64-latest.args | 3 +-
...-default-cpu-kvm-pc-4.2.x86_64-latest.args | 3 +-
...default-cpu-kvm-q35-4.2.x86_64-latest.args | 3 +-
...-default-cpu-tcg-pc-4.2.x86_64-latest.args | 3 +-
...default-cpu-tcg-q35-4.2.x86_64-latest.args | 3 +-
.../x86_64-pc-graphics.x86_64-latest.args | 3 +-
.../x86_64-pc-headless.x86_64-latest.args | 3 +-
.../x86_64-q35-graphics.x86_64-latest.args | 3 +-
.../x86_64-q35-headless.x86_64-latest.args | 3 +-
254 files changed, 608 insertions(+), 282 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 6f970a3128..0f660aaec3 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6711,38 +6711,42 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
virCommandAddArg(cmd, "-machine");
virBufferAdd(&buf, def->os.machine, -1);
- switch ((virDomainVirtType)def->virtType) {
- case VIR_DOMAIN_VIRT_QEMU:
- virBufferAddLit(&buf, ",accel=tcg");
- break;
+ /* QEMU lower than 2.9.0 do not support '-accel'
+ * fallback to '-machine accel' */
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_ACCEL)) {
+ switch ((virDomainVirtType)def->virtType) {
+ case VIR_DOMAIN_VIRT_QEMU:
+ virBufferAddLit(&buf, ",accel=tcg");
+ break;
- case VIR_DOMAIN_VIRT_KVM:
- virBufferAddLit(&buf, ",accel=kvm");
- break;
+ case VIR_DOMAIN_VIRT_KVM:
+ virBufferAddLit(&buf, ",accel=kvm");
+ break;
- case VIR_DOMAIN_VIRT_KQEMU:
- case VIR_DOMAIN_VIRT_XEN:
- case VIR_DOMAIN_VIRT_LXC:
- case VIR_DOMAIN_VIRT_UML:
- case VIR_DOMAIN_VIRT_OPENVZ:
- case VIR_DOMAIN_VIRT_TEST:
- case VIR_DOMAIN_VIRT_VMWARE:
- case VIR_DOMAIN_VIRT_HYPERV:
- case VIR_DOMAIN_VIRT_VBOX:
- case VIR_DOMAIN_VIRT_PHYP:
- case VIR_DOMAIN_VIRT_PARALLELS:
- case VIR_DOMAIN_VIRT_BHYVE:
- case VIR_DOMAIN_VIRT_VZ:
- case VIR_DOMAIN_VIRT_NONE:
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("the QEMU binary does not support %s"),
- virDomainVirtTypeToString(def->virtType));
- return -1;
+ case VIR_DOMAIN_VIRT_KQEMU:
+ case VIR_DOMAIN_VIRT_XEN:
+ case VIR_DOMAIN_VIRT_LXC:
+ case VIR_DOMAIN_VIRT_UML:
+ case VIR_DOMAIN_VIRT_OPENVZ:
+ case VIR_DOMAIN_VIRT_TEST:
+ case VIR_DOMAIN_VIRT_VMWARE:
+ case VIR_DOMAIN_VIRT_HYPERV:
+ case VIR_DOMAIN_VIRT_VBOX:
+ case VIR_DOMAIN_VIRT_PHYP:
+ case VIR_DOMAIN_VIRT_PARALLELS:
+ case VIR_DOMAIN_VIRT_BHYVE:
+ case VIR_DOMAIN_VIRT_VZ:
+ case VIR_DOMAIN_VIRT_NONE:
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("the QEMU binary does not support %s"),
+ virDomainVirtTypeToString(def->virtType));
+ return -1;
- case VIR_DOMAIN_VIRT_LAST:
- default:
- virReportEnumRangeError(virDomainVirtType, def->virtType);
- return -1;
+ case VIR_DOMAIN_VIRT_LAST:
+ default:
+ virReportEnumRangeError(virDomainVirtType, def->virtType);
+ return -1;
+ }
}
/* To avoid the collision of creating USB controllers when calling
@@ -6946,6 +6950,70 @@ qemuBuildMachineCommandLine(virCommandPtr cmd,
}
+static void
+qemuBuildAccelCommandLineTcgOptions(void)
+{
+ /* TODO: build command line tcg accelerator
+ * property like tb-size */
+}
+
+
+static void
+qemuBuildAccelCommandLineKvmOptions(void)
+{
+ /* implemented in the next patch */
+}
+
+
+static int
+qemuBuildAccelCommandLine(virCommandPtr cmd,
+ const virDomainDef *def)
+{
+ /* the '-machine' options for accelerator are legacy,
+ * using the '-accel' options by default */
+ g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
+ virCommandAddArg(cmd, "-accel");
+
+ switch ((virDomainVirtType)def->virtType) {
+ case VIR_DOMAIN_VIRT_QEMU:
+ virBufferAddLit(&buf, "tcg");
+ qemuBuildAccelCommandLineTcgOptions();
+ break;
+
+ case VIR_DOMAIN_VIRT_KVM:
+ virBufferAddLit(&buf, "kvm");
+ qemuBuildAccelCommandLineKvmOptions();
+ break;
+
+ case VIR_DOMAIN_VIRT_KQEMU:
+ case VIR_DOMAIN_VIRT_XEN:
+ case VIR_DOMAIN_VIRT_LXC:
+ case VIR_DOMAIN_VIRT_UML:
+ case VIR_DOMAIN_VIRT_OPENVZ:
+ case VIR_DOMAIN_VIRT_TEST:
+ case VIR_DOMAIN_VIRT_VMWARE:
+ case VIR_DOMAIN_VIRT_HYPERV:
+ case VIR_DOMAIN_VIRT_VBOX:
+ case VIR_DOMAIN_VIRT_PHYP:
+ case VIR_DOMAIN_VIRT_PARALLELS:
+ case VIR_DOMAIN_VIRT_BHYVE:
+ case VIR_DOMAIN_VIRT_VZ:
+ case VIR_DOMAIN_VIRT_NONE:
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("the QEMU binary does not support %s"),
+ virDomainVirtTypeToString(def->virtType));
+ return -1;
+
+ case VIR_DOMAIN_VIRT_LAST:
+ default:
+ virReportEnumRangeError(virDomainVirtType, def->virtType);
+ return -1;
+ }
+
+ virCommandAddArgBuffer(cmd, &buf);
+ return 0;
+}
+
static void
qemuBuildTSEGCommandLine(virCommandPtr cmd,
const virDomainDef *def)
@@ -9840,6 +9908,11 @@ qemuBuildCommandLine(virQEMUDriverPtr driver,
if (qemuBuildMachineCommandLine(cmd, cfg, def, qemuCaps, priv) < 0)
return NULL;
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_ACCEL)) {
+ if (qemuBuildAccelCommandLine(cmd, def) < 0)
+ return NULL;
+ }
+
qemuBuildTSEGCommandLine(cmd, def);
if (qemuBuildCpuCommandLine(cmd, driver, def, qemuCaps) < 0)
diff --git a/tests/qemuxml2argvdata/aarch64-default-cpu-kvm-virt-4.2.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-default-cpu-kvm-virt-4.2.aarch64-latest.args
index 0c1fe71619..85d0dd4de5 100644
--- a/tests/qemuxml2argvdata/aarch64-default-cpu-kvm-virt-4.2.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-default-cpu-kvm-virt-4.2.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt-4.2,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,\
+-machine virt-4.2,usb=off,dump-guest-core=off,gic-version=3,\
memory-backend=mach-virt.ram \
+-accel kvm \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/aarch64-default-cpu-tcg-virt-4.2.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-default-cpu-tcg-virt-4.2.aarch64-latest.args
index 858eadc257..60b0026564 100644
--- a/tests/qemuxml2argvdata/aarch64-default-cpu-tcg-virt-4.2.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-default-cpu-tcg-virt-4.2.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt-4.2,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\
+-machine virt-4.2,usb=off,dump-guest-core=off,gic-version=2,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a15 \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/aarch64-features-sve.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-features-sve.aarch64-latest.args
index ba79804707..0b412a9972 100644
--- a/tests/qemuxml2argvdata/aarch64-features-sve.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-features-sve.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=3,\
memory-backend=mach-virt.ram \
+-accel kvm \
-cpu host,sve512=on,sve384=off,sve256=on,sve128=on,sve=on \
-m 1024 \
-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args
index 1ff234cc89..7cca330825 100644
--- a/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-aarch64test/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine virt-4.0,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\
+-machine virt-4.0,usb=off,dump-guest-core=off,gic-version=2,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a53 \
-m 1024 \
-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args
index 70be61bb33..de80515779 100644
--- a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-guest/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a15 \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args
index d4b4f05f95..365e95fde0 100644
--- a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-guest/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a15 \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-4.1.0.args b/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-4.1.0.args
index 8aa4c2be7d..fcfee22474 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-latest.args b/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-latest.args
index 79012e5b60..cd483c6635 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-group-num.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-4.1.0.args b/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-4.1.0.args
index b8416ef3b0..c0e091e6b3 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-latest.args b/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-latest.args
index 79012e5b60..cd483c6635 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-max-length.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-4.1.0.args b/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-4.1.0.args
index b03fe20d30..45a5ba9dff 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-latest.args b/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-latest.args
index 79012e5b60..cd483c6635 100644
--- a/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/blkdeviotune-max.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args b/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
index f500bfe2ae..588ddd8e03 100644
--- a/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/clock-timer-armvtimer.aarch64-latest.args b/tests/qemuxml2argvdata/clock-timer-armvtimer.aarch64-latest.args
index fd6098b8e1..44170056ac 100644
--- a/tests/qemuxml2argvdata/clock-timer-armvtimer.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/clock-timer-armvtimer.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=3,\
memory-backend=mach-virt.ram \
+-accel kvm \
-cpu host,kvm-no-adjvtime=on \
-m 4096 \
-object memory-backend-ram,id=mach-virt.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/console-virtio-unix.x86_64-latest.args b/tests/qemuxml2argvdata/console-virtio-unix.x86_64-latest.args
index 5e64598959..7050fb5c32 100644
--- a/tests/qemuxml2argvdata/console-virtio-unix.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/console-virtio-unix.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args b/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args
index 1d7583b981..42f889c83c 100644
--- a/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-3.1.0.args b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-3.1.0.args
index 96d4306238..9235d35fe2 100644
--- a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-3.1.0.args
+++ b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-3.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-3.1,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-i440fx-3.1,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu Icelake-Server,pconfig=off \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
index a512623af6..33a4b49938 100644
--- a/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-Icelake-Server-pconfig.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu Icelake-Server \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
index 017e7a6c06..2079080ae8 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-cmt.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu EPYC,acpi=on,ss=on,monitor=on,hypervisor=on,erms=on,mpx=on,pcommit=on,\
clwb=on,pku=on,la57=on,3dnowext=on,3dnow=on,npt=on,vme=off,fma=off,avx=off,\
f16c=off,rdrand=off,avx2=off,rdseed=off,sha-ni=off,xsavec=off,fxsr_opt=off,\
diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
index f8e19fca24..4e30fed044 100644
--- a/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu Haswell,pclmuldq=on,ds_cpl=on,tsc_adjust=on,fxsr_opt=on,lahf_lm=on,\
cmp_legacy=on,nodeid_msr=on,perfctr_core=on,perfctr_nb=on,kvm_pv_eoi=on,\
kvm_pv_unhalt=on \
diff --git a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
index 84c0d05b34..d2fafd6110 100644
--- a/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu Haswell,pclmulqdq=on,ds-cpl=on,tsc-adjust=on,fxsr-opt=on,lahf-lm=on,\
cmp-legacy=on,nodeid-msr=on,perfctr-core=on,perfctr-nb=on,kvm-pv-eoi=on,\
kvm-pv-unhalt=on \
diff --git a/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args b/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args
index b0e6d05b6c..c10e5eb361 100644
--- a/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-tsc-frequency.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc_adjust=on,\
clflushopt=on,umip=on,ssbd=on,xsaves=on,pdpe1gb=on,invtsc=on,\
tsc-frequency=3504000000 \
diff --git a/tests/qemuxml2argvdata/cpu-tsc-high-frequency.x86_64-latest.args b/tests/qemuxml2argvdata/cpu-tsc-high-frequency.x86_64-latest.args
index 16a4282ab1..b36d2acdfe 100644
--- a/tests/qemuxml2argvdata/cpu-tsc-high-frequency.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-tsc-high-frequency.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,\
arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,\
rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on,invtsc=on,\
diff --git a/tests/qemuxml2argvdata/cputune-cpuset-big-id.x86_64-latest.args b/tests/qemuxml2argvdata/cputune-cpuset-big-id.x86_64-latest.args
index 0ec8ba038d..26759ecfb9 100644
--- a/tests/qemuxml2argvdata/cputune-cpuset-big-id.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cputune-cpuset-big-id.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/default-video-type-aarch64.aarch64-latest.args b/tests/qemuxml2argvdata/default-video-type-aarch64.aarch64-latest.args
index 8a27403f92..0a70e08187 100644
--- a/tests/qemuxml2argvdata/default-video-type-aarch64.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-aarch64.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-default-video-type-a/master-key.aes \
--machine virt,accel=kvm,usb=off,dump-guest-core=off,gic-version=3,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=3,\
memory-backend=mach-virt.ram \
+-accel kvm \
-m 1024 \
-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/default-video-type-ppc64.ppc64-latest.args b/tests/qemuxml2argvdata/default-video-type-ppc64.ppc64-latest.args
index 7a491a6bd1..57e727fcea 100644
--- a/tests/qemuxml2argvdata/default-video-type-ppc64.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-ppc64.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-default-video-type-p/master-key.aes \
--machine pseries,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel kvm \
-cpu host \
-m 1024 \
-object memory-backend-ram,id=ppc_spapr.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/default-video-type-riscv64.riscv64-latest.args b/tests/qemuxml2argvdata/default-video-type-riscv64.riscv64-latest.args
index c4acaaff0f..345710e795 100644
--- a/tests/qemuxml2argvdata/default-video-type-riscv64.riscv64-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-riscv64.riscv64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=spice \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-default-video-type-r/master-key.aes \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args b/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
index 9eef70cf72..02fd29e536 100644
--- a/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-default-video-type-s/master-key.aes \
--machine s390-ccw-virtio,accel=kvm,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel kvm \
-cpu gen15a-base,aen=on,cmmnt=on,vxpdeh=on,aefsi=on,csske=on,mepoch=on,msa9=on,\
msa8=on,msa7=on,msa6=on,msa5=on,msa4=on,msa3=on,msa2=on,msa1=on,sthyi=on,\
edat=on,ri=on,deflate=on,edat2=on,etoken=on,vx=on,ipter=on,mepochptff=on,ap=on,\
diff --git a/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args b/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
index 69c8742e95..1644898f3e 100644
--- a/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-aio-io_uring.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args
index f8a89493f6..dd88aabf7c 100644
--- a/tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-aio.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args b/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args
index 6f9b81071a..629f781e96 100644
--- a/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args
index 3c2a7cf240..0706f19d05 100644
--- a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args
+++ b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-armtest/master-key.aes \
--machine vexpress-a9,accel=tcg,usb=off,dump-guest-core=off \
+-machine vexpress-a9,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args
index c3007e147e..54ede20d4f 100644
--- a/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/disk-arm-virtio-sd.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-armtest/master-key.aes \
--machine vexpress-a9,accel=tcg,usb=off,dump-guest-core=off,\
+-machine vexpress-a9,usb=off,dump-guest-core=off,\
memory-backend=vexpress.highmem \
+-accel tcg \
-cpu cortex-a9 \
-m 1024 \
-object memory-backend-ram,id=vexpress.highmem,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args
index 47691339d6..bd87945e66 100644
--- a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args
index 0f6d70a855..1ab1dddcb6 100644
--- a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args
index aa7a230583..bf009d22bf 100644
--- a/tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-cache.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-1.5,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-1.5,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args
index e66abd9d4f..e1ca977691 100644
--- a/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-1.5,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-1.5,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args
index a77a851941..9d2a2cee3c 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-bus-other.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args
index 94ffa9f9e4..314b6ff3e0 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args
index fa5c0ba087..8c7ad9bb5b 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-1.2,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-1.2,usb=off,dump-guest-core=off \
+-accel kvm \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args
index 3c4f3993f6..c15bd2dd21 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-1.2,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc-1.2,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args
index 7952c42d07..58e1c7b8cd 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args
index 4e4e0aa62a..a787e08255 100644
--- a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args
index 0621746a3b..a42df874d7 100644
--- a/tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-cdrom.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args
index beac75ec1d..4fafdac369 100644
--- a/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args
index 00d5f45def..d294483a50 100644
--- a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args
index 493b478cf8..126f7940a9 100644
--- a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args
index 090cccdb5c..ee75aa5ff3 100644
--- a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-realtime mlock=off \
diff --git a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args
index 97cc49225f..ac28b0716d 100644
--- a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-discard.x86_64-4.1.0.args b/tests/qemuxml2argvdata/disk-discard.x86_64-4.1.0.args
index 4437922eee..9181005c92 100644
--- a/tests/qemuxml2argvdata/disk-discard.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/disk-discard.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 1024 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-discard.x86_64-latest.args b/tests/qemuxml2argvdata/disk-discard.x86_64-latest.args
index 1aa06c7469..ade6e8dd4a 100644
--- a/tests/qemuxml2argvdata/disk-discard.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-discard.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args
index 6b93b74ec1..7c3bb65826 100644
--- a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine s390-ccw-virtio-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine s390-ccw-virtio-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
index d75d7aca31..fee803f3db 100644
--- a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
+++ b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args
index 26e8f56e58..16195e49b9 100644
--- a/tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-error-policy.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args b/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args
index c0079efc0a..d5ae5a4a64 100644
--- a/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args
index b221718e29..18d7b68b78 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.11,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-q35-2.11,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args
index 7e35f6a6cd..6d7e66ea23 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.11,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-q35-2.11,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args
index 51be45465e..8bdca7b28a 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.9,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-q35-2.9,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args
index 47ef5db354..b567432ab5 100644
--- a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.9,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-q35-2.9,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args
index d4f11f8ca0..566591cdee 100644
--- a/tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-floppy.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args
index 96756502df..fa83112989 100644
--- a/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-metadata-cache.x86_64-latest.args b/tests/qemuxml2argvdata/disk-metadata-cache.x86_64-latest.args
index 3e520664ab..b80cb48db6 100644
--- a/tests/qemuxml2argvdata/disk-metadata-cache.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-metadata-cache.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args
index 2721147b3a..d77ec1a5d2 100644
--- a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args
index 1e992fb6d0..a6d38fe749 100644
--- a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args
index 954f1824dd..f119c4d0f5 100644
--- a/tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args
index 930d8d5db2..38d94f1b36 100644
--- a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args
index ab60fc5f4a..8c38a8830e 100644
--- a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args
index 1742f01e25..2af0a90df0 100644
--- a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args
index 5e5c23656a..e92ccfce55 100644
--- a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-nfs.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-nfs.x86_64-latest.args
index b0bc83bfc0..36d480d6b6 100644
--- a/tests/qemuxml2argvdata/disk-network-nfs.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-nfs.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args
index 21d1c2deba..383cfcbfa8 100644
--- a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args
index e91f009d35..6ad57f5ab2 100644
--- a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
index 653fa1af40..adff0abba6 100644
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
index 4418906dc7..1dba55bba0 100644
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args
index 0ccf3df106..458c803339 100644
--- a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args
index 879a52123c..322dbc0497 100644
--- a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-2.12.0.args
index afe84fef32..d88d39fcbd 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32 \
-m 214 \
-realtime mlock=off \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-latest.args
index 8ec4a8ab22..37345a27bf 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-2.12.0.args
index d778d3d704..8b023ad6e2 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32 \
-m 214 \
-realtime mlock=off \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-5.0.0.args b/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-5.0.0.args
index a21f322dfb..4a000feaa2 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-5.0.0.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509-vxhs.x86_64-5.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-5.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-5.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args
index 2a30ad02c9..fd59d83a05 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32 \
-m 214 \
-realtime mlock=off \
diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args
index ec4c28e161..3c63929dea 100644
--- a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/disk-nvme.x86_64-latest.args b/tests/qemuxml2argvdata/disk-nvme.x86_64-latest.args
index 3146ad1251..0104094ef0 100644
--- a/tests/qemuxml2argvdata/disk-nvme.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-nvme.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args
index 34ef204632..ae56287059 100644
--- a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args
index 7a83ac4afe..76535e8f85 100644
--- a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args b/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args
index 354686c5fa..21149ff13f 100644
--- a/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args b/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args
index da4ef333c0..7149a1961e 100644
--- a/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args
index d35e7a5f6e..906be277bc 100644
--- a/tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-shared.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args b/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args
index 4cae79c005..8b0936cf57 100644
--- a/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-slices.x86_64-latest.args b/tests/qemuxml2argvdata/disk-slices.x86_64-latest.args
index a24b3395e2..cace89313d 100644
--- a/tests/qemuxml2argvdata/disk-slices.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-slices.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-transient.x86_64-latest.args b/tests/qemuxml2argvdata/disk-transient.x86_64-latest.args
index eea8560699..6decf5eee5 100644
--- a/tests/qemuxml2argvdata/disk-transient.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-transient.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args
index 21b267f176..a7e19f5214 100644
--- a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-2.12.0.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=none \
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
-object pr-manager-helper,id=pr-helper0,\
path=/tmp/lib/domain--1-QEMUGuest1/pr-helper0.sock \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 8,sockets=8,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args
index a6e6c12d65..aa273fd6c3 100644
--- a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args
@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=none \
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
-object pr-manager-helper,id=pr-helper0,\
path=/tmp/lib/domain--1-QEMUGuest1/pr-helper0.sock \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args
index b0a004f316..f3334fff5d 100644
--- a/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvm_pv_eoi=off \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args
index a2593d155a..7305a5a4ce 100644
--- a/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvm-pv-eoi=off \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args
index b008c779fa..35d25d449c 100644
--- a/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvm_pv_eoi=on \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args
index d0befba30f..fe04dd162f 100644
--- a/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvm-pv-eoi=on \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/fips-enabled.x86_64-5.1.0.args b/tests/qemuxml2argvdata/fips-enabled.x86_64-5.1.0.args
index e0e416d391..4598948798 100644
--- a/tests/qemuxml2argvdata/fips-enabled.x86_64-5.1.0.args
+++ b/tests/qemuxml2argvdata/fips-enabled.x86_64-5.1.0.args
@@ -13,7 +13,8 @@ QEMU_AUDIO_DRV=none \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
-enable-fips \
--machine pc-i440fx-5.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-5.1,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/fips-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/fips-enabled.x86_64-latest.args
index 4740e52499..16e0e4ccb0 100644
--- a/tests/qemuxml2argvdata/fips-enabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/fips-enabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args
index 90ab4214d9..b0d590b6f5 100644
--- a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args
index 12f0b9cb64..15f928683d 100644
--- a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args b/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
index 07d2a2dc3d..ebc6758f20 100644
--- a/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/fs9p.x86_64-latest.args b/tests/qemuxml2argvdata/fs9p.x86_64-latest.args
index e340218e1a..f6af18c394 100644
--- a/tests/qemuxml2argvdata/fs9p.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/fs9p.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/genid-auto.x86_64-latest.args b/tests/qemuxml2argvdata/genid-auto.x86_64-latest.args
index 8f08342a0b..1649e11c26 100644
--- a/tests/qemuxml2argvdata/genid-auto.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/genid-auto.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/genid.x86_64-latest.args b/tests/qemuxml2argvdata/genid.x86_64-latest.args
index 7dd7d1f616..4e46393c32 100644
--- a/tests/qemuxml2argvdata/genid.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/genid.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args
index e6025557da..3b3d4e6c36 100644
--- a/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args
@@ -11,7 +11,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args
index e6025557da..3b3d4e6c36 100644
--- a/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args
@@ -11,7 +11,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-spice-gl-auto-rendernode.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-spice-gl-auto-rendernode.x86_64-latest.args
index 9329e56b12..ccc85338c5 100644
--- a/tests/qemuxml2argvdata/graphics-spice-gl-auto-rendernode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-spice-gl-auto-rendernode.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=spice \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-latest.args
index b3251fbed4..301348c6a5 100644
--- a/tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-latest.args
@@ -13,7 +13,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-latest.args
index cea42c4d1b..c625aaab2a 100644
--- a/tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/graphics-vnc-tls.x86_64-latest.args
@@ -13,7 +13,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb.x86_64-latest.args
index f1a3026474..e291f98dc6 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-ramfb.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
index 580cbd9489..48b178ed5b 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=spice \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
index 345bddfc43..e1a1b9911a 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=spice \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
index cef437a228..fe0cfe6e31 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-mdev-display-vnc.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-mdev-display-vnc.x86_64-latest.args
index 68c28fc41e..d4bc505bd5 100644
--- a/tests/qemuxml2argvdata/hostdev-mdev-display-vnc.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-mdev-display-vnc.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-4.1.0.args b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-4.1.0.args
index cee891199d..b121778990 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args
index 89e83e3a2f..80fd0bcc73 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-4.1.0.args b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-4.1.0.args
index 973ae5677a..487f53a312 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-4.1.0.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-4.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc-i440fx-4.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args
index c00ef41bf2..a7ec67cf08 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest2/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
index a6cf270d0c..64604bee92 100644
--- a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 512 \
-object memory-backend-ram,id=s390.ram,size=536870912 \
diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
index be550aa7d5..2907799dbc 100644
--- a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 512 \
-object memory-backend-ram,id=s390.ram,size=536870912 \
diff --git a/tests/qemuxml2argvdata/hugepages-memaccess3.x86_64-latest.args b/tests/qemuxml2argvdata/hugepages-memaccess3.x86_64-latest.args
index 6033950eab..f7437214ca 100644
--- a/tests/qemuxml2argvdata/hugepages-memaccess3.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hugepages-memaccess3.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-fedora/master-key.aes \
--machine pc-i440fx-2.9,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.9,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel kvm \
-cpu EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,\
arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,\
rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on \
diff --git a/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args b/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args
index 969bb713b5..2d04b4fda0 100644
--- a/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hugepages-nvdimm.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=1048576k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/hyperv-off.x86_64-4.0.0.args b/tests/qemuxml2argvdata/hyperv-off.x86_64-4.0.0.args
index 6909b71d52..2d7b9e1699 100644
--- a/tests/qemuxml2argvdata/hyperv-off.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/hyperv-off.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/hyperv-off.x86_64-latest.args b/tests/qemuxml2argvdata/hyperv-off.x86_64-latest.args
index ce7af1bd3a..8c587382ad 100644
--- a/tests/qemuxml2argvdata/hyperv-off.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hyperv-off.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hyperv-panic.x86_64-4.0.0.args b/tests/qemuxml2argvdata/hyperv-panic.x86_64-4.0.0.args
index 55e5099717..5671a9bea0 100644
--- a/tests/qemuxml2argvdata/hyperv-panic.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/hyperv-panic.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,hv-crash \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/hyperv-panic.x86_64-latest.args b/tests/qemuxml2argvdata/hyperv-panic.x86_64-latest.args
index 870fa38d82..a388726580 100644
--- a/tests/qemuxml2argvdata/hyperv-panic.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hyperv-panic.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,hv-crash \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hyperv-stimer-direct.x86_64-latest.args b/tests/qemuxml2argvdata/hyperv-stimer-direct.x86_64-latest.args
index f64bad579d..156053f8c6 100644
--- a/tests/qemuxml2argvdata/hyperv-stimer-direct.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hyperv-stimer-direct.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,hv-vpindex,hv-synic,hv-stimer,hv-stimer-direct \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/hyperv.x86_64-4.0.0.args b/tests/qemuxml2argvdata/hyperv.x86_64-4.0.0.args
index b9d9542892..fc4051d6b9 100644
--- a/tests/qemuxml2argvdata/hyperv.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/hyperv.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu 'qemu32,hv_relaxed,hv_vapic,hv-spinlocks=0x2fff,hv_vpindex,hv_runtime,\
hv_synic,hv_stimer,hv_reset,hv-vendor-id=KVM Hv,hv_frequencies,\
hv_reenlightenment,hv_tlbflush,hv_ipi,hv_evmcs' \
diff --git a/tests/qemuxml2argvdata/hyperv.x86_64-latest.args b/tests/qemuxml2argvdata/hyperv.x86_64-latest.args
index c6cba06981..d312485de0 100644
--- a/tests/qemuxml2argvdata/hyperv.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/hyperv.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu 'qemu64,hv-relaxed,hv-vapic,hv-spinlocks=0x2fff,hv-vpindex,hv-runtime,\
hv-synic,hv-stimer,hv-reset,hv-vendor-id=KVM Hv,hv-frequencies,\
hv-reenlightenment,hv-tlbflush,hv-ipi,hv-evmcs' \
diff --git a/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
index 211ea3d572..f305b37a99 100644
--- a/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-aw-bits.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=kvm,usb=off,dump-guest-core=off,kernel_irqchip=split,\
+-machine q35,usb=off,dump-guest-core=off,kernel_irqchip=split,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
index cea414a7f5..a258b64372 100644
--- a/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-caching-mode.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=kvm,usb=off,dump-guest-core=off,kernel_irqchip=split,\
+-machine q35,usb=off,dump-guest-core=off,kernel_irqchip=split,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
index ef2fa61db8..7e832b92e1 100644
--- a/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-device-iotlb.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=kvm,usb=off,dump-guest-core=off,kernel_irqchip=split,\
+-machine q35,usb=off,dump-guest-core=off,kernel_irqchip=split,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
index 43e666d14f..1bb877eb93 100644
--- a/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu-eim.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=kvm,usb=off,dump-guest-core=off,kernel_irqchip=split,\
+-machine q35,usb=off,dump-guest-core=off,kernel_irqchip=split,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
index 5fe3ed0c26..2fc32760b2 100644
--- a/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/intel-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/iommu-smmuv3.aarch64-latest.args b/tests/qemuxml2argvdata/iommu-smmuv3.aarch64-latest.args
index 6ee610849f..868f376879 100644
--- a/tests/qemuxml2argvdata/iommu-smmuv3.aarch64-latest.args
+++ b/tests/qemuxml2argvdata/iommu-smmuv3.aarch64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,iommu=smmuv3,\
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,iommu=smmuv3,\
memory-backend=mach-virt.ram \
+-accel tcg \
-cpu cortex-a15 \
-m 1024 \
-object memory-backend-ram,id=mach-virt.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args b/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
index f8a5aaaef4..ab5dbb1af5 100644
--- a/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args b/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args
index a2f4d5e609..ae6fe5c7dd 100644
--- a/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args
index c67e253746..2b4244c9bb 100644
--- a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvmclock=off,kvm_pv_eoi=off \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args
index 8842d2a448..7ad6f0afa6 100644
--- a/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/kvmclock+eoi-disabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvmclock=off,kvm-pv-eoi=off \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args b/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args
index 378c3b681c..325b081eba 100644
--- a/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/launch-security-sev-missing-platform-info.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-1.0,accel=kvm,usb=off,dump-guest-core=off,memory-encryption=sev0 \
+-machine pc-1.0,usb=off,dump-guest-core=off,memory-encryption=sev0 \
+-accel kvm \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args b/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
index 378c3b681c..325b081eba 100644
--- a/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
+++ b/tests/qemuxml2argvdata/launch-security-sev.x86_64-2.12.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-1.0,accel=kvm,usb=off,dump-guest-core=off,memory-encryption=sev0 \
+-machine pc-1.0,usb=off,dump-guest-core=off,memory-encryption=sev0 \
+-accel kvm \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-latest.args b/tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-latest.args
index 6e469d1953..2119eb28c3 100644
--- a/tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-encryptdisk/master-key.aes \
--machine pc-i440fx-2.1,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.1,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args
index ef15e2e97e..a431ca0c8c 100644
--- a/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memfd-memory-default-hugepage.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-instance-00000092/master-key.aes \
--machine pc-i440fx-2.3,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.3,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu qemu64 \
-m 14336 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args b/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
index ef15e2e97e..a431ca0c8c 100644
--- a/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memfd-memory-numa.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-instance-00000092/master-key.aes \
--machine pc-i440fx-2.3,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc-i440fx-2.3,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu qemu64 \
-m 14336 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args
index 8d3fa2e867..9367b2b0d3 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args
index 4f22f78277..9d7a04c5d1 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args
index 53dda234a2..75a3d7046b 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args
index fb4ae4b518..ae550f16ce 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args
index 5e44496e39..26f224cc37 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=219136k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args
index 94f8444d95..4148e0ae6f 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,nvdimm=on \
+-machine pc,usb=off,dump-guest-core=off,nvdimm=on \
+-accel tcg \
-cpu qemu64 \
-m size=1048576k,slots=16,maxmem=1099511627776k \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args b/tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args
index 8f3725ebd5..3314c4d94e 100644
--- a/tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args
+++ b/tests/qemuxml2argvdata/mlock-off.x86_64-3.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-3.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-3.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/mlock-off.x86_64-latest.args b/tests/qemuxml2argvdata/mlock-off.x86_64-latest.args
index 2772c82ff6..6ec5d12b3f 100644
--- a/tests/qemuxml2argvdata/mlock-off.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/mlock-off.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args b/tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args
index 46e63a287f..191ace725e 100644
--- a/tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args
+++ b/tests/qemuxml2argvdata/mlock-on.x86_64-3.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-3.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-3.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-realtime mlock=on \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/mlock-on.x86_64-latest.args b/tests/qemuxml2argvdata/mlock-on.x86_64-latest.args
index f77d866055..515b8de264 100644
--- a/tests/qemuxml2argvdata/mlock-on.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/mlock-on.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/net-user.x86_64-4.0.0.args b/tests/qemuxml2argvdata/net-user.x86_64-4.0.0.args
index 190b068191..b8f011a0d7 100644
--- a/tests/qemuxml2argvdata/net-user.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/net-user.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args b/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
index 002ec498a0..bef606b632 100644
--- a/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args b/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
index d889d34168..64385a3693 100644
--- a/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args b/tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args
index c52015caa8..453d35012e 100644
--- a/tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/numatune-hmat.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,hmat=on \
+-machine pc,usb=off,dump-guest-core=off,hmat=on \
+-accel tcg \
-cpu qemu64 \
-m 12288 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args b/tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args
index ab94f309df..493a4ceca9 100644
--- a/tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/os-firmware-bios.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-fedora/master-key.aes \
--machine pc-q35-4.0,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pc-q35-4.0,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-bios /usr/share/seabios/bios-256k.bin \
-m 8 \
diff --git a/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args
index 1eb5aad17b..a6284d0122 100644
--- a/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-fedora/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off,\
+-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-global driver=cfi.pflash01,property=secure,value=on \
-m 8 \
diff --git a/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args b/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args
index 9b8cbc45b9..6e26d44121 100644
--- a/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args
@@ -23,9 +23,10 @@ file=/tmp/lib/domain--1-fedora/master-key.aes \
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\
"driver":"raw","file":"libvirt-pflash1-storage"}' \
--machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off,\
+-machine pc-q35-4.0,usb=off,smm=on,dump-guest-core=off,\
pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 8 \
-object memory-backend-ram,id=pc.ram,size=8388608 \
diff --git a/tests/qemuxml2argvdata/parallel-unix-chardev.x86_64-latest.args b/tests/qemuxml2argvdata/parallel-unix-chardev.x86_64-latest.args
index ea333ef5f8..97bc1b602b 100644
--- a/tests/qemuxml2argvdata/parallel-unix-chardev.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/parallel-unix-chardev.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/pcie-root-port-nohotplug.x86_64-latest.args b/tests/qemuxml2argvdata/pcie-root-port-nohotplug.x86_64-latest.args
index 619b03a3eb..6696300875 100644
--- a/tests/qemuxml2argvdata/pcie-root-port-nohotplug.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/pcie-root-port-nohotplug.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args
index c72b0de2ef..801806e9b4 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-2.7,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pseries-2.7,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel kvm \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-3.1.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-3.1.ppc64-latest.args
index ce6b9b0cad..2a22ef8ff4 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-3.1.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-3.1.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-3.1,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pseries-3.1,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel kvm \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-4.2.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-4.2.ppc64-latest.args
index 18e7488633..2776d6b26e 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-4.2.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-kvm-pseries-4.2.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-4.2,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pseries-4.2,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel kvm \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args
index 5679ba419d..1792d83490 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-2.7,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries-2.7,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER7 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-3.1.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-3.1.ppc64-latest.args
index 252023784b..63b4371c69 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-3.1.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-3.1.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-3.1,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries-3.1,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER8 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-4.2.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-4.2.ppc64-latest.args
index deeeb8b043..b3377fc867 100644
--- a/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-4.2.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-default-cpu-tcg-pseries-4.2.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries-4.2,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries-4.2,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-pseries-graphics.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-pseries-graphics.ppc64-latest.args
index 4b6d90c3a2..c0d6531163 100644
--- a/tests/qemuxml2argvdata/ppc64-pseries-graphics.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-pseries-graphics.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-pseries-headless.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-pseries-headless.ppc64-latest.args
index 67357696c6..128e6d2098 100644
--- a/tests/qemuxml2argvdata/ppc64-pseries-headless.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-pseries-headless.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 4096 \
-object memory-backend-ram,id=ppc_spapr.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
index 6190b82cb5..f9b2e381b8 100644
--- a/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 256 \
-object memory-backend-ram,id=ppc_spapr.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args b/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
index cac8c2736d..87ac273715 100644
--- a/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pseries,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 256 \
-object memory-backend-ram,id=ppc_spapr.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args
index 76e439c2b4..4bb2b4381f 100644
--- a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvm_pv_unhalt=off \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args
index 30f45b8a04..f104e6508f 100644
--- a/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/pv-spinlock-disabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvm-pv-unhalt=off \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args
index e19ebfda0b..637865519d 100644
--- a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-4.0.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu32,kvm_pv_unhalt=on \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args
index beb0e5f2ef..bb09fc9c65 100644
--- a/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/pv-spinlock-enabled.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64,kvm-pv-unhalt=on \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args b/tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args
index 0f3253f831..b2ee2314ed 100644
--- a/tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args
+++ b/tests/qemuxml2argvdata/qemu-ns.x86_64-4.0.0.args
@@ -14,7 +14,8 @@ BAR='' \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-i440fx-4.0,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-i440fx-4.0,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args b/tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args
index aefe486298..e46fb7ad93 100644
--- a/tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/qemu-ns.x86_64-latest.args
@@ -14,7 +14,8 @@ BAR='' \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/riscv64-virt-graphics.riscv64-latest.args b/tests/qemuxml2argvdata/riscv64-virt-graphics.riscv64-latest.args
index 612e1ce049..2e9058b900 100644
--- a/tests/qemuxml2argvdata/riscv64-virt-graphics.riscv64-latest.args
+++ b/tests/qemuxml2argvdata/riscv64-virt-graphics.riscv64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,usb=off,dump-guest-core=off \
+-accel tcg \
-m 4096 \
-overcommit mem-lock=off \
-smp 4,sockets=4,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/riscv64-virt-headless.riscv64-latest.args b/tests/qemuxml2argvdata/riscv64-virt-headless.riscv64-latest.args
index 8485e3d0f8..f95437ad6e 100644
--- a/tests/qemuxml2argvdata/riscv64-virt-headless.riscv64-latest.args
+++ b/tests/qemuxml2argvdata/riscv64-virt-headless.riscv64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,accel=tcg,usb=off,dump-guest-core=off \
+-machine virt,usb=off,dump-guest-core=off \
+-accel tcg \
-m 4096 \
-overcommit mem-lock=off \
-smp 4,sockets=4,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
index a8be43af55..730086a2c5 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine s390-ccw-virtio-2.7,accel=kvm,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio-2.7,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel kvm \
-cpu host \
-m 256 \
-object memory-backend-ram,id=s390.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
index 62ffe279c4..70592c7ce8 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine s390-ccw-virtio-4.2,accel=kvm,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio-4.2,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel kvm \
-cpu gen15a-base,aen=on,cmmnt=on,vxpdeh=on,aefsi=on,csske=on,mepoch=on,msa9=on,\
msa8=on,msa7=on,msa6=on,msa5=on,msa4=on,msa3=on,msa2=on,msa1=on,sthyi=on,\
edat=on,ri=on,deflate=on,edat2=on,etoken=on,vx=on,ipter=on,mepochptff=on,ap=on,\
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
index f57880ce17..de63431e63 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine s390-ccw-virtio-2.7,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio-2.7,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 256 \
-object memory-backend-ram,id=s390.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
index 155e9b3183..6f021d99e8 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine s390-ccw-virtio-4.2,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio-4.2,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 256 \
-object memory-backend-ram,id=s390.ram,size=268435456 \
diff --git a/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args b/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
index 8c8667065c..17a9751803 100644
--- a/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 4096 \
-object memory-backend-ram,id=s390.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args b/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
index c44c4dd8d9..f1d257b7d5 100644
--- a/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 4096 \
-object memory-backend-ram,id=s390.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args b/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args
index 07b7aba42f..a41dc11b58 100644
--- a/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/serial-unix-chardev.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/smartcard-passthrough-unix.x86_64-latest.args b/tests/qemuxml2argvdata/smartcard-passthrough-unix.x86_64-latest.args
index 3e0262e49c..a5454b772c 100644
--- a/tests/qemuxml2argvdata/smartcard-passthrough-unix.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/smartcard-passthrough-unix.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args b/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args
index 96bf940b76..b8429eeed0 100644
--- a/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pseries-5.0,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pseries-5.0,usb=off,dump-guest-core=off,\
memory-backend=ppc_spapr.ram \
+-accel tcg \
-cpu POWER9 \
-m 2048 \
-object memory-backend-ram,id=ppc_spapr.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator-tpm2-enc.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator-tpm2-enc.x86_64-latest.args
index 90505c7a76..057690f236 100644
--- a/tests/qemuxml2argvdata/tpm-emulator-tpm2-enc.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator-tpm2-enc.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator-tpm2-pstate.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator-tpm2-pstate.x86_64-latest.args
index 90505c7a76..057690f236 100644
--- a/tests/qemuxml2argvdata/tpm-emulator-tpm2-pstate.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator-tpm2-pstate.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator-tpm2.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator-tpm2.x86_64-latest.args
index 90505c7a76..057690f236 100644
--- a/tests/qemuxml2argvdata/tpm-emulator-tpm2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator-tpm2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
index 90505c7a76..057690f236 100644
--- a/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-emulator.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-passthrough-crb.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-passthrough-crb.x86_64-latest.args
index 911d0c660c..3f5880ee18 100644
--- a/tests/qemuxml2argvdata/tpm-passthrough-crb.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-passthrough-crb.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tpm-passthrough.x86_64-latest.args b/tests/qemuxml2argvdata/tpm-passthrough.x86_64-latest.args
index 5da7d13a3d..436fff0551 100644
--- a/tests/qemuxml2argvdata/tpm-passthrough.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tpm-passthrough.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-TPM-VM/master-key.aes \
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.12,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-object memory-backend-ram,id=pc.ram,size=2147483648 \
diff --git a/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args b/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
index 2e931dfe9a..fe6eaf6948 100644
--- a/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/tseg-explicit-size.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-2.10,accel=tcg,usb=off,smm=on,dump-guest-core=off,\
+-machine pc-q35-2.10,usb=off,smm=on,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-global mch.extended-tseg-mbytes=48 \
-cpu qemu64 \
-m 214 \
diff --git a/tests/qemuxml2argvdata/usb-redir-unix.x86_64-latest.args b/tests/qemuxml2argvdata/usb-redir-unix.x86_64-latest.args
index 1d247b0337..60b739a3cc 100644
--- a/tests/qemuxml2argvdata/usb-redir-unix.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/usb-redir-unix.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
index dd5f68abc5..f1d10589a4 100644
--- a/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off \
+-machine pc,usb=off,dump-guest-core=off \
+-accel kvm \
-cpu qemu64 \
-m 14336 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
index e4f5db7a63..7cf6f05b5d 100644
--- a/tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off \
+-machine q35,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 2048 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args
index e99a5342dc..d758318421 100644
--- a/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args
index 277bf8c646..f39b9004ae 100644
--- a/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc,usb=off,dump-guest-core=off \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
diff --git a/tests/qemuxml2argvdata/vhost-vsock-auto.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-vsock-auto.x86_64-latest.args
index bc9102eab3..0acef705a3 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-auto.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-auto.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc-i440fx-2.9,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-2.9,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args b/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
index c70f0519a9..99847d09b1 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args b/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
index e1b17eba66..ccc034f454 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine s390-ccw-virtio,accel=tcg,usb=off,dump-guest-core=off,\
+-machine s390-ccw-virtio,usb=off,dump-guest-core=off,\
memory-backend=s390.ram \
+-accel tcg \
-cpu qemu \
-m 214 \
-object memory-backend-ram,id=s390.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/vhost-vsock.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-vsock.x86_64-latest.args
index a461d4d242..984bf85b5b 100644
--- a/tests/qemuxml2argvdata/vhost-vsock.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-test/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args b/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args
index 094c96aad6..c4914d6076 100644
--- a/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/video-qxl-device-vram64.x86_64-latest.args b/tests/qemuxml2argvdata/video-qxl-device-vram64.x86_64-latest.args
index 6f38fae69c..8889752bce 100644
--- a/tests/qemuxml2argvdata/video-qxl-device-vram64.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/video-qxl-device-vram64.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/video-qxl-sec-device-vram64.x86_64-latest.args b/tests/qemuxml2argvdata/video-qxl-sec-device-vram64.x86_64-latest.args
index e79c21eaf0..87d74672ef 100644
--- a/tests/qemuxml2argvdata/video-qxl-sec-device-vram64.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/video-qxl-sec-device-vram64.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args b/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args
index 5e4d4db341..0a0f2b42ec 100644
--- a/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 1024 \
-object memory-backend-ram,id=pc.ram,size=1073741824 \
diff --git a/tests/qemuxml2argvdata/virtio-9p-createmode.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-9p-createmode.x86_64-latest.args
index 601d4d272e..36ebcff583 100644
--- a/tests/qemuxml2argvdata/virtio-9p-createmode.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-9p-createmode.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-9p-multidevs.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-9p-multidevs.x86_64-latest.args
index 4e453a2b05..4d91a3cc25 100644
--- a/tests/qemuxml2argvdata/virtio-9p-multidevs.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-9p-multidevs.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args
index 82a977b731..d2bbac8e2e 100644
--- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args
+++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-3.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-q35-3.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
index 8674a4b99d..8c3cf590ad 100644
--- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-controller-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-controller-ats.x86_64-latest.args
index 6552ee68f0..7657f1f8de 100644
--- a/tests/qemuxml2argvdata/virtio-options-controller-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-controller-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-controller-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-controller-iommu.x86_64-latest.args
index 15eb4b5c49..a182cbd10c 100644
--- a/tests/qemuxml2argvdata/virtio-options-controller-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-controller-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-controller-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-controller-packed.x86_64-latest.args
index ae605a6ef0..ba36cea043 100644
--- a/tests/qemuxml2argvdata/virtio-options-controller-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-controller-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-disk-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-disk-ats.x86_64-latest.args
index 908b5724d4..9dd9411f3e 100644
--- a/tests/qemuxml2argvdata/virtio-options-disk-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-disk-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-disk-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-disk-iommu.x86_64-latest.args
index 3a030d8efb..52546a1133 100644
--- a/tests/qemuxml2argvdata/virtio-options-disk-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-disk-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-disk-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-disk-packed.x86_64-latest.args
index 0cc82a2e46..f374e629df 100644
--- a/tests/qemuxml2argvdata/virtio-options-disk-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-disk-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-fs-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-fs-ats.x86_64-latest.args
index 92b8e248eb..99663ca4c2 100644
--- a/tests/qemuxml2argvdata/virtio-options-fs-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-fs-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-fs-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-fs-iommu.x86_64-latest.args
index 62c2d347f3..42457277ec 100644
--- a/tests/qemuxml2argvdata/virtio-options-fs-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-fs-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-fs-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-fs-packed.x86_64-latest.args
index 79aa5ca1a0..3eda7eff47 100644
--- a/tests/qemuxml2argvdata/virtio-options-fs-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-fs-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-input-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-input-ats.x86_64-latest.args
index 27375c96ba..e4a2ce2d50 100644
--- a/tests/qemuxml2argvdata/virtio-options-input-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-input-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-input-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-input-iommu.x86_64-latest.args
index b38a8f3f9b..79044a7d53 100644
--- a/tests/qemuxml2argvdata/virtio-options-input-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-input-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-input-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-input-packed.x86_64-latest.args
index 38a402ef5a..1550de3b14 100644
--- a/tests/qemuxml2argvdata/virtio-options-input-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-input-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-ats.x86_64-latest.args
index 9b4ef3711c..0ec0ead352 100644
--- a/tests/qemuxml2argvdata/virtio-options-memballoon-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-memballoon-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-freepage-reporting.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-freepage-reporting.x86_64-latest.args
index 6ebc45d931..659498f46e 100644
--- a/tests/qemuxml2argvdata/virtio-options-memballoon-freepage-reporting.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-memballoon-freepage-reporting.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-iommu.x86_64-latest.args
index ead878573d..af48807499 100644
--- a/tests/qemuxml2argvdata/virtio-options-memballoon-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-memballoon-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-memballoon-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-memballoon-packed.x86_64-latest.args
index 3c32335896..1a46428bb1 100644
--- a/tests/qemuxml2argvdata/virtio-options-memballoon-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-memballoon-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
index 12c0764d56..a86028f163 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
index f2d626a35f..3cfdfa41f3 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
index e6453534d4..9ed9870c58 100644
--- a/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-rng-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-rng-ats.x86_64-latest.args
index cd4807b6c4..ad85b4a23d 100644
--- a/tests/qemuxml2argvdata/virtio-options-rng-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-rng-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-rng-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-rng-iommu.x86_64-latest.args
index 66fb11bf7a..4ed20c4ecf 100644
--- a/tests/qemuxml2argvdata/virtio-options-rng-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-rng-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-rng-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-rng-packed.x86_64-latest.args
index 3feff0eb58..5e4e23b6ac 100644
--- a/tests/qemuxml2argvdata/virtio-options-rng-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-rng-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-video-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-video-ats.x86_64-latest.args
index 3ec61dab11..fb3fa6791b 100644
--- a/tests/qemuxml2argvdata/virtio-options-video-ats.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-video-ats.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-video-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-video-iommu.x86_64-latest.args
index cfd3024e02..958c89b56a 100644
--- a/tests/qemuxml2argvdata/virtio-options-video-iommu.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-video-iommu.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options-video-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-video-packed.x86_64-latest.args
index c5719bb1e6..f6b53037ba 100644
--- a/tests/qemuxml2argvdata/virtio-options-video-packed.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options-video-packed.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
index e230e926a4..036ee91307 100644
--- a/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-latest.args
index f8e37ce7f8..53f6c3c5a6 100644
--- a/tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-latest.args
index 192d84413f..14db22d72a 100644
--- a/tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args b/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args
index ed810d5890..16125995f5 100644
--- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args
+++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine pc-q35-3.1,accel=tcg,usb=off,dump-guest-core=off \
+-machine pc-q35-3.1,usb=off,dump-guest-core=off \
+-accel tcg \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
index c526d7aec5..ff2f33a297 100644
--- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 214 \
-object memory-backend-ram,id=pc.ram,size=224395264 \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args
index ad770d204f..5b2659798b 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-pc-4.2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc-i440fx-4.2,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-4.2,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
index 81df0cb959..1002c52e17 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-kvm-q35-4.2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc-q35-4.2,accel=kvm,usb=off,dump-guest-core=off,\
+-machine pc-q35-4.2,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel kvm \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-pc-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-pc-4.2.x86_64-latest.args
index ffc52d85b0..f2f5b55a33 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-pc-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-pc-4.2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc-i440fx-4.2,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-i440fx-4.2,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
index eda728f1f8..e85c4d9051 100644
--- a/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-default-cpu-tcg-q35-4.2.x86_64-latest.args
@@ -12,8 +12,9 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc-q35-4.2,accel=tcg,usb=off,dump-guest-core=off,\
+-machine pc-q35-4.2,usb=off,dump-guest-core=off,\
memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
index 5458fc6e10..734043c239 100644
--- a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
index d2246d0a02..0efe66fd3f 100644
--- a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
index e9d4e2c320..3beafee5ba 100644
--- a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
diff --git a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
index 8bec37539f..ca5b2863e0 100644
--- a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args
@@ -12,7 +12,8 @@ QEMU_AUDIO_DRV=none \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
+-accel tcg \
-cpu qemu64 \
-m 4096 \
-object memory-backend-ram,id=pc.ram,size=4294967296 \
--
2.24.3
1
0
13 Jan '21
From: Hyman <huangy81(a)chinatelecom.cn>
The "-machine" options for accelerators are legacy, the "-accel" options
is a better mechanism. The following are the details:
https://lore.kernel.org/qemu-devel/3aa73987-40e8-3619-0723-9f17f73850bd@red…
This patch introduce QEMU_CAPS_ACCEL capability to tell if we're dealing
new enough QEMU so that we can replace '-machine accel' with '-accel'.
There were two phases of -accel support in QEMU:
- 2.9 to 4.2: only one -accel option supported; specifying a fallback couldn't be
done with -accel and required the older "-machine accel=tcg:kvm" instead
- 5.0 or newer: multiple -accel options supported, e.g. "-accel tcg -accel kvm"
and it would be possible to distinguish them, for example using QOM properties.
However Libvirt only ever specifies one accelerator so it makes no difference.
Modify capability test cases with QEMU version >= 2.9.0 carefully.
Signed-off-by: Hyman <huangy81(a)chinatelecom.cn>
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 +
tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 +
44 files changed, 45 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 4d132defbd..7672e36a79 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -609,6 +609,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
"ncr53c90",
"dc390",
"am53c974",
+ "accel",
);
@@ -3220,6 +3221,7 @@ static struct virQEMUCapsCommandLineProps virQEMUCapsCommandLine[] = {
{ "fsdev", "multidevs", QEMU_CAPS_FSDEV_MULTIDEVS },
{ "fw_cfg", "file", QEMU_CAPS_FW_CFG },
{ "fsdev", "fmode", QEMU_CAPS_FSDEV_CREATEMODE }, /* Could have also checked fsdev->dmode */
+ { "accel", NULL, QEMU_CAPS_ACCEL },
};
static int
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 0f90efa459..041ba26bb3 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -589,6 +589,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_SCSI_NCR53C90, /* built-in SCSI */
QEMU_CAPS_SCSI_DC390, /* -device dc-390 */
QEMU_CAPS_SCSI_AM53C974, /* -device am53c974 */
+ QEMU_CAPS_ACCEL, /* -accel */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
index 5b7df57b50..f3a529801d 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
@@ -149,6 +149,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
index fcd375da3b..dbfd5c6565 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
@@ -149,6 +149,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
index dd28959eab..05576ff164 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
@@ -113,6 +113,7 @@
<flag name='migration-param.bandwidth'/>
<flag name='migration-param.downtime'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
index 2fe1888535..bcb2d2f720 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
@@ -193,6 +193,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100287</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
index 137fff4dfc..1a2065af77 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
@@ -121,6 +121,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>2011000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100288</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
index 56024cfa5d..c14472f3b3 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
@@ -200,6 +200,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2011000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100288</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
index a4574f70f6..03cc28aca1 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
@@ -166,6 +166,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2012000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
index ab5ab06084..db5fc0b3f4 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
@@ -167,6 +167,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
index 588ccc58e4..ec117f0302 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
@@ -133,6 +133,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>2012000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index 13b61fcfe5..8c0c2df332 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -210,6 +210,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100289</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
index 04fd9abfff..663292270b 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
@@ -140,6 +140,7 @@
<flag name='migration-param.downtime'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
index 9cdcb9988a..2153200c81 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
@@ -106,6 +106,7 @@
<flag name='fw_cfg'/>
<flag name='migration-param.bandwidth'/>
<flag name='migration-param.downtime'/>
+ <flag name='accel'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index d984ad3066..29dc807507 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -186,6 +186,7 @@
<flag name='migration-param.downtime'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100247</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
index c92bb5f6a3..c261367726 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
@@ -169,6 +169,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>2012050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
index d68c785583..cb5ed43f54 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
@@ -103,6 +103,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
index 3dd3ec87e5..3226689e17 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
@@ -103,6 +103,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
index 649104ccbd..de68315967 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
@@ -136,6 +136,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
index d7f1d6cd84..3d680e9959 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
@@ -216,6 +216,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100239</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
index f4b4566ea8..e09413498b 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
@@ -174,6 +174,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>3000091</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
index b8391f1353..3334536258 100644
--- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
@@ -219,6 +219,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>3000092</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
index 4722557eaf..e06ebaef46 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
@@ -180,6 +180,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
index 6f549902ca..a16f6b76db 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
@@ -188,6 +188,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
index b1dc08eb4d..d2a4fd2f07 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
@@ -181,6 +181,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
index babb8fb8ab..4f2a3ac699 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
@@ -181,6 +181,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
index 5a15848f88..d07676f9c4 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
@@ -144,6 +144,7 @@
<flag name='migration-param.downtime'/>
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
index 43b70ccc94..9928b0a933 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
@@ -225,6 +225,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100240</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
index 58774fddcc..f3f7dae90e 100644
--- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
@@ -231,6 +231,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
index 77fdc73415..5dafacd45a 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
@@ -193,6 +193,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
index 15eaac77a6..3d6469c46d 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
@@ -194,6 +194,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
index 42a7cca50a..14a199da27 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
@@ -155,6 +155,7 @@
<flag name='migration-param.xbzrle-cache-size'/>
<flag name='blockdev-hostdev-scsi'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
index 1ba8c09374..110e9bcf51 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
@@ -240,6 +240,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
index d584642bff..fc796c88c1 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
@@ -203,6 +203,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
index 596bccd70a..e4c9c06f71 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
@@ -212,6 +212,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
index eb760f2911..67568245c5 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
@@ -199,6 +199,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
index 849727eb40..355a93d4bf 100644
--- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
@@ -247,6 +247,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
index a293437850..dee63e0645 100644
--- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
+++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml
@@ -115,6 +115,7 @@
<flag name='netdev.vhost-vdpa'/>
<flag name='fsdev.createmode'/>
<flag name='ncr53c90'/>
+ <flag name='accel'/>
<version>5001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
index ff5f42a563..f958038a06 100644
--- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
@@ -249,6 +249,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
index cac9b40528..5e3e319f79 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml
@@ -207,6 +207,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
index e92201ad43..97b48a2d98 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml
@@ -214,6 +214,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
index bee7f547c7..cf70406da5 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml
@@ -201,6 +201,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
index 15e7ee84c6..4594055c49 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml
@@ -162,6 +162,7 @@
<flag name='block-export-add'/>
<flag name='netdev.vhost-vdpa'/>
<flag name='fsdev.createmode'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
index cebacc249d..0061121051 100644
--- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
@@ -250,6 +250,7 @@
<flag name='fsdev.createmode'/>
<flag name='dc390'/>
<flag name='am53c974'/>
+ <flag name='accel'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>
--
2.24.3
1
0
From: Hyman <huangy81(a)chinatelecom.cn>
The v5 of Dirty Ring correct the mistake introduced in v3 patch.
Which using the shell script to modify the hundereds of test cases
in qemuxml2argvdata directory, and do not take the symlink into
account. The following is detail:
https://www.redhat.com/archives/libvir-list/2021-January/msg00645.html
So the modification just drop the first patch in v4 patchset and skip
the disk-backing-chains-index.x86_64-latest.args when modifying.
Just modify the disk-backing-chains-noindex.x86_64-latest.args
that the former file link to only.
The v4 of Dirty Ring just fix args file in testsuite which has
'No-newline-at-end-of-file' and make it a stand-alone patch.
The following is detail:
https://www.redhat.com/archives/libvir-list/2021-January/msg00626.html
The v3 of Dirty Ring do some modification based on the following discussion:
https://www.redhat.com/archives/libvir-list/2021-January/msg00531.html
https://www.redhat.com/archives/libvir-list/2021-January/msg00520.html
modification 1: introducing the QEMU_CAPS_ACCEL so that we can use it to
choose the right option cause -accel option only supported
by QEMU with version >= 2.9.0.
modification 2: splitting the qemuBuildAccelCommandLine function separation
from the actual functional changes to make it easier to see
what's going on.
modification 3: update the libvirt version to 7.0.0 in docs
The v2 of Dirty ring support of Libvirt just and an empty function of
'qemuBuildAccelCommandLineTcgOptions' and do some code clen, if things
go smoothly, the tcg accelerator property may be support in the future,
this empty function give a hint to do that.
This is v1 of Dirty ring support of Libvirt. It is merely the same as v0, but
fix the parameter dirty-gfn-count passed to QEMU command line. A previous
implementation was patched by me mistakenly.
This series of patches is a supplement of dirty ring implementation for Libvirt:
https://lore.kernel.org/qemu-devel/20210108165050.406906-10-peterx@redhat.c…
Since QEMU enable the dirty ring feature by specifying the "-accel" sub-parameter.
Libvirt use "-machine accel=xxx" option to specify the type of accelerator by
default, which is conflict with QEMU. Either the Libvirt or QEMU may compromise,
According to the Paolo Bonzini's patient and prompt explanation:
https://lore.kernel.org/qemu-devel/3aa73987-40e8-3619-0723-9f17f73850bd@red…
We'd like to have Libvirt switch to "-accel xxx" instead, cause the "-machine"
options for accelerator are legacy and now there is a better mechanism.
The 3 patches do the following thing:
1. introduce QEMU_CAPS_ACCEL so the the next patch can use it to choose the right
option when specifying the accelerator type.
2. switch the option "-machine accel=xxx" to "-accel xxx" when specifying accelerator
type once libvirt build QEMU command line, so that the next patch can build
QEMU command line for accelerator type using "-accel xxx" directly.
3. introduce a dirty ring size, which is bonding to the kvm feature. Though the dirty
ring is per-cpu logically, the number of GFNs per ring is registered by 'struct kvm'
in QEMU. So We'd like to place the dirty ring size as a property of vm in Libvirt
like the QEMU do. The dirty ring feature is disabled by default Like the QEMU.
The key point of this patches i think is the placement of dirty ring size, whether
there is a better placement for dirty ring size may be discussable.
Since we have Libvirt change the way to specify the type of accelerator, more property
of accelerator can be specified by Libvirt which has not been implemented yet, like
the "kvm-shadow-mem", "tb-size", etc, whether to perfect that implementation is also
a topic.
Please review, Thanks!
Best Regards !
Hyman (3):
qemu_capabilities: Introduce QEMU_CAPS_ACCEL
qemu: use "-accel" option to specify accelerator instead of "-machine"
qemu: suppor dirty ring feature
docs/formatdomain.rst | 16 +-
docs/schemas/domaincommon.rng | 10 ++
src/conf/domain_conf.c | 34 +++++
src/conf/domain_conf.h | 4 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 138 ++++++++++++++----
.../caps_2.10.0.aarch64.xml | 1 +
.../caps_2.10.0.ppc64.xml | 1 +
.../caps_2.10.0.s390x.xml | 1 +
.../caps_2.10.0.x86_64.xml | 1 +
.../caps_2.11.0.s390x.xml | 1 +
.../caps_2.11.0.x86_64.xml | 1 +
.../caps_2.12.0.aarch64.xml | 1 +
.../caps_2.12.0.ppc64.xml | 1 +
.../caps_2.12.0.s390x.xml | 1 +
.../caps_2.12.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 +
.../caps_2.9.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 +
.../caps_3.0.0.riscv32.xml | 1 +
.../caps_3.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 1 +
.../caps_3.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 +
.../caps_3.1.0.x86_64.xml | 1 +
.../caps_4.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 +
.../caps_4.0.0.riscv32.xml | 1 +
.../caps_4.0.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 1 +
.../caps_4.0.0.x86_64.xml | 1 +
.../caps_4.1.0.x86_64.xml | 1 +
.../caps_4.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 +
.../caps_4.2.0.x86_64.xml | 1 +
.../caps_5.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
.../caps_5.0.0.riscv64.xml | 1 +
.../caps_5.0.0.x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 +
.../caps_5.1.0.x86_64.xml | 1 +
.../caps_5.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 +
.../caps_5.2.0.riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 +
.../caps_5.2.0.x86_64.xml | 1 +
...fault-cpu-kvm-virt-4.2.aarch64-latest.args | 3 +-
...fault-cpu-tcg-virt-4.2.aarch64-latest.args | 3 +-
.../aarch64-features-sve.aarch64-latest.args | 3 +-
...arch64-os-firmware-efi.aarch64-latest.args | 3 +-
.../aarch64-virt-graphics.aarch64-latest.args | 3 +-
.../aarch64-virt-headless.aarch64-latest.args | 3 +-
.../blkdeviotune-group-num.x86_64-4.1.0.args | 3 +-
.../blkdeviotune-group-num.x86_64-latest.args | 3 +-
.../blkdeviotune-max-length.x86_64-4.1.0.args | 3 +-
...blkdeviotune-max-length.x86_64-latest.args | 3 +-
.../blkdeviotune-max.x86_64-4.1.0.args | 3 +-
.../blkdeviotune-max.x86_64-latest.args | 3 +-
.../channel-unix-guestfwd.x86_64-latest.args | 3 +-
.../clock-timer-armvtimer.aarch64-latest.args | 3 +-
.../console-virtio-unix.x86_64-latest.args | 3 +-
.../controller-virtio-scsi.x86_64-latest.args | 3 +-
...u-Icelake-Server-pconfig.x86_64-3.1.0.args | 3 +-
...-Icelake-Server-pconfig.x86_64-latest.args | 3 +-
.../cpu-host-model-cmt.x86_64-4.0.0.args | 3 +-
.../cpu-translation.x86_64-4.0.0.args | 3 +-
.../cpu-translation.x86_64-latest.args | 3 +-
.../cpu-tsc-frequency.x86_64-4.0.0.args | 3 +-
.../cpu-tsc-high-frequency.x86_64-latest.args | 3 +-
.../cputune-cpuset-big-id.x86_64-latest.args | 3 +-
...ult-video-type-aarch64.aarch64-latest.args | 3 +-
...default-video-type-ppc64.ppc64-latest.args | 3 +-
...ult-video-type-riscv64.riscv64-latest.args | 3 +-
...default-video-type-s390x.s390x-latest.args | 3 +-
.../disk-aio-io_uring.x86_64-latest.args | 3 +-
.../disk-aio.x86_64-2.12.0.args | 3 +-
.../disk-aio.x86_64-latest.args | 3 +-
.../disk-arm-virtio-sd.aarch64-4.0.0.args | 3 +-
.../disk-arm-virtio-sd.aarch64-latest.args | 3 +-
...-backing-chains-noindex.x86_64-2.12.0.args | 3 +-
...-backing-chains-noindex.x86_64-latest.args | 3 +-
.../disk-cache.x86_64-2.12.0.args | 3 +-
.../disk-cache.x86_64-latest.args | 3 +-
.../disk-cdrom-bus-other.x86_64-latest.args | 3 +-
...m-empty-network-invalid.x86_64-latest.args | 3 +-
.../disk-cdrom-network.x86_64-2.12.0.args | 3 +-
.../disk-cdrom-network.x86_64-latest.args | 3 +-
.../disk-cdrom-tray.x86_64-2.12.0.args | 3 +-
.../disk-cdrom-tray.x86_64-latest.args | 3 +-
.../disk-cdrom.x86_64-2.12.0.args | 3 +-
.../disk-cdrom.x86_64-latest.args | 3 +-
.../disk-copy_on_read.x86_64-2.12.0.args | 3 +-
.../disk-copy_on_read.x86_64-latest.args | 3 +-
.../disk-detect-zeroes.x86_64-2.12.0.args | 3 +-
.../disk-detect-zeroes.x86_64-latest.args | 3 +-
.../disk-discard.x86_64-4.1.0.args | 3 +-
.../disk-discard.x86_64-latest.args | 3 +-
.../disk-error-policy-s390x.s390x-2.12.0.args | 3 +-
.../disk-error-policy-s390x.s390x-latest.args | 3 +-
.../disk-error-policy.x86_64-2.12.0.args | 3 +-
.../disk-error-policy.x86_64-latest.args | 3 +-
.../disk-floppy-q35-2_11.x86_64-2.12.0.args | 3 +-
.../disk-floppy-q35-2_11.x86_64-latest.args | 3 +-
.../disk-floppy-q35-2_9.x86_64-2.12.0.args | 3 +-
.../disk-floppy-q35-2_9.x86_64-latest.args | 3 +-
.../disk-floppy.x86_64-2.12.0.args | 3 +-
.../disk-floppy.x86_64-latest.args | 3 +-
.../disk-metadata-cache.x86_64-latest.args | 3 +-
.../disk-network-gluster.x86_64-2.12.0.args | 3 +-
.../disk-network-gluster.x86_64-latest.args | 3 +-
.../disk-network-http.x86_64-latest.args | 3 +-
.../disk-network-iscsi.x86_64-2.12.0.args | 3 +-
.../disk-network-iscsi.x86_64-latest.args | 3 +-
.../disk-network-nbd.x86_64-2.12.0.args | 3 +-
.../disk-network-nbd.x86_64-latest.args | 3 +-
.../disk-network-nfs.x86_64-latest.args | 3 +-
.../disk-network-rbd.x86_64-2.12.0.args | 3 +-
.../disk-network-rbd.x86_64-latest.args | 3 +-
.../disk-network-sheepdog.x86_64-2.12.0.args | 3 +-
.../disk-network-sheepdog.x86_64-latest.args | 3 +-
...isk-network-source-auth.x86_64-2.12.0.args | 3 +-
...isk-network-source-auth.x86_64-latest.args | 3 +-
...isk-network-tlsx509-nbd.x86_64-2.12.0.args | 3 +-
...isk-network-tlsx509-nbd.x86_64-latest.args | 3 +-
...sk-network-tlsx509-vxhs.x86_64-2.12.0.args | 3 +-
...isk-network-tlsx509-vxhs.x86_64-5.0.0.args | 3 +-
.../disk-network-tlsx509.x86_64-2.12.0.args | 3 +-
.../disk-network-tlsx509.x86_64-latest.args | 3 +-
.../disk-nvme.x86_64-latest.args | 3 +-
.../disk-readonly-disk.x86_64-2.12.0.args | 3 +-
.../disk-readonly-disk.x86_64-latest.args | 3 +-
.../disk-scsi-device-auto.x86_64-latest.args | 3 +-
.../disk-scsi.x86_64-latest.args | 3 +-
.../disk-shared.x86_64-2.12.0.args | 3 +-
.../disk-shared.x86_64-latest.args | 3 +-
.../disk-slices.x86_64-latest.args | 3 +-
.../disk-transient.x86_64-latest.args | 3 +-
...irtio-scsi-reservations.x86_64-2.12.0.args | 3 +-
...irtio-scsi-reservations.x86_64-latest.args | 3 +-
.../eoi-disabled.x86_64-4.0.0.args | 3 +-
.../eoi-disabled.x86_64-latest.args | 3 +-
.../eoi-enabled.x86_64-4.0.0.args | 3 +-
.../eoi-enabled.x86_64-latest.args | 3 +-
.../fips-enabled.x86_64-5.1.0.args | 3 +-
.../fips-enabled.x86_64-latest.args | 3 +-
.../floppy-drive-fat.x86_64-2.12.0.args | 3 +-
.../floppy-drive-fat.x86_64-latest.args | 3 +-
.../fs9p-ccw.s390x-latest.args | 3 +-
.../qemuxml2argvdata/fs9p.x86_64-latest.args | 3 +-
.../genid-auto.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/genid.x86_64-latest.args | 3 +-
...egl-headless-rendernode.x86_64-latest.args | 3 +-
.../graphics-egl-headless.x86_64-latest.args | 3 +-
...pice-gl-auto-rendernode.x86_64-latest.args | 3 +-
...graphics-vnc-tls-secret.x86_64-latest.args | 3 +-
.../graphics-vnc-tls.x86_64-latest.args | 3 +-
...tdev-mdev-display-ramfb.x86_64-latest.args | 3 +-
...play-spice-egl-headless.x86_64-latest.args | 3 +-
...ev-display-spice-opengl.x86_64-latest.args | 3 +-
...isplay-vnc-egl-headless.x86_64-latest.args | 3 +-
...ostdev-mdev-display-vnc.x86_64-latest.args | 3 +-
.../hostdev-scsi-lsi.x86_64-4.1.0.args | 3 +-
.../hostdev-scsi-lsi.x86_64-latest.args | 3 +-
...hostdev-scsi-virtio-scsi.x86_64-4.1.0.args | 3 +-
...ostdev-scsi-virtio-scsi.x86_64-latest.args | 3 +-
...tdev-subsys-mdev-vfio-ap.s390x-latest.args | 3 +-
...ubsys-mdev-vfio-ccw-boot.s390x-latest.args | 3 +-
.../hugepages-memaccess3.x86_64-latest.args | 3 +-
.../hugepages-nvdimm.x86_64-latest.args | 3 +-
.../hyperv-off.x86_64-4.0.0.args | 3 +-
.../hyperv-off.x86_64-latest.args | 3 +-
.../hyperv-panic.x86_64-4.0.0.args | 3 +-
.../hyperv-panic.x86_64-latest.args | 3 +-
.../hyperv-stimer-direct.x86_64-latest.args | 3 +-
.../qemuxml2argvdata/hyperv.x86_64-4.0.0.args | 3 +-
.../hyperv.x86_64-latest.args | 3 +-
.../intel-iommu-aw-bits.x86_64-latest.args | 3 +-
...ntel-iommu-caching-mode.x86_64-latest.args | 3 +-
...ntel-iommu-device-iotlb.x86_64-latest.args | 3 +-
.../intel-iommu-eim.x86_64-latest.args | 3 +-
.../intel-iommu.x86_64-latest.args | 3 +-
.../iommu-smmuv3.aarch64-latest.args | 3 +-
...othreads-virtio-scsi-ccw.s390x-latest.args | 3 +-
...threads-virtio-scsi-pci.x86_64-latest.args | 3 +-
.../kvmclock+eoi-disabled.x86_64-4.0.0.args | 3 +-
.../kvmclock+eoi-disabled.x86_64-latest.args | 3 +-
...v-missing-platform-info.x86_64-2.12.0.args | 3 +-
.../launch-security-sev.x86_64-2.12.0.args | 3 +-
...luks-disks-source-qcow2.x86_64-latest.args | 3 +-
...memory-default-hugepage.x86_64-latest.args | 3 +-
.../memfd-memory-numa.x86_64-latest.args | 3 +-
...y-hotplug-nvdimm-access.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-align.x86_64-latest.args | 3 +-
...ry-hotplug-nvdimm-label.x86_64-latest.args | 3 +-
...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 3 +-
...hotplug-nvdimm-readonly.x86_64-latest.args | 3 +-
.../memory-hotplug-nvdimm.x86_64-latest.args | 3 +-
.../mlock-off.x86_64-3.0.0.args | 3 +-
.../mlock-off.x86_64-latest.args | 3 +-
.../mlock-on.x86_64-3.0.0.args | 3 +-
.../mlock-on.x86_64-latest.args | 3 +-
.../net-user.x86_64-4.0.0.args | 3 +-
.../net-vdpa.x86_64-latest.args | 3 +-
.../net-vhostuser.x86_64-latest.args | 3 +-
.../numatune-hmat.x86_64-latest.args | 3 +-
.../os-firmware-bios.x86_64-latest.args | 3 +-
...os-firmware-efi-secboot.x86_64-latest.args | 3 +-
.../os-firmware-efi.x86_64-latest.args | 3 +-
.../parallel-unix-chardev.x86_64-latest.args | 3 +-
...cie-root-port-nohotplug.x86_64-latest.args | 3 +-
...ault-cpu-kvm-pseries-2.7.ppc64-latest.args | 3 +-
...ault-cpu-kvm-pseries-3.1.ppc64-latest.args | 3 +-
...ault-cpu-kvm-pseries-4.2.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-2.7.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-3.1.ppc64-latest.args | 3 +-
...ault-cpu-tcg-pseries-4.2.ppc64-latest.args | 3 +-
.../ppc64-pseries-graphics.ppc64-latest.args | 3 +-
.../ppc64-pseries-headless.ppc64-latest.args | 3 +-
.../ppc64-tpmproxy-single.ppc64-latest.args | 3 +-
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 3 +-
.../pv-spinlock-disabled.x86_64-4.0.0.args | 3 +-
.../pv-spinlock-disabled.x86_64-latest.args | 3 +-
.../pv-spinlock-enabled.x86_64-4.0.0.args | 3 +-
.../pv-spinlock-enabled.x86_64-latest.args | 3 +-
.../qemu-ns.x86_64-4.0.0.args | 3 +-
.../qemu-ns.x86_64-latest.args | 3 +-
.../riscv64-virt-graphics.riscv64-latest.args | 3 +-
.../riscv64-virt-headless.riscv64-latest.args | 3 +-
...t-cpu-kvm-ccw-virtio-2.7.s390x-latest.args | 3 +-
...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 3 +-
...t-cpu-tcg-ccw-virtio-2.7.s390x-latest.args | 3 +-
...t-cpu-tcg-ccw-virtio-4.2.s390x-latest.args | 3 +-
.../s390x-ccw-graphics.s390x-latest.args | 3 +-
.../s390x-ccw-headless.s390x-latest.args | 3 +-
.../serial-unix-chardev.x86_64-latest.args | 3 +-
...rtcard-passthrough-unix.x86_64-latest.args | 3 +-
.../tpm-emulator-spapr.ppc64-latest.args | 3 +-
.../tpm-emulator-tpm2-enc.x86_64-latest.args | 3 +-
...pm-emulator-tpm2-pstate.x86_64-latest.args | 3 +-
.../tpm-emulator-tpm2.x86_64-latest.args | 3 +-
.../tpm-emulator.x86_64-latest.args | 3 +-
.../tpm-passthrough-crb.x86_64-latest.args | 3 +-
.../tpm-passthrough.x86_64-latest.args | 3 +-
.../tseg-explicit-size.x86_64-latest.args | 3 +-
.../usb-redir-unix.x86_64-latest.args | 3 +-
...vhost-user-fs-fd-memory.x86_64-latest.args | 3 +-
...vhost-user-fs-hugepages.x86_64-latest.args | 3 +-
...host-user-gpu-secondary.x86_64-latest.args | 3 +-
.../vhost-user-vga.x86_64-latest.args | 3 +-
.../vhost-vsock-auto.x86_64-latest.args | 3 +-
.../vhost-vsock-ccw-auto.s390x-latest.args | 3 +-
.../vhost-vsock-ccw.s390x-latest.args | 3 +-
.../vhost-vsock.x86_64-latest.args | 3 +-
...eo-bochs-display-device.x86_64-latest.args | 3 +-
...video-qxl-device-vram64.x86_64-latest.args | 3 +-
...o-qxl-sec-device-vram64.x86_64-latest.args | 3 +-
...eo-ramfb-display-device.x86_64-latest.args | 3 +-
.../virtio-9p-createmode.x86_64-latest.args | 3 +-
.../virtio-9p-multidevs.x86_64-latest.args | 3 +-
.../virtio-non-transitional.x86_64-3.1.0.args | 3 +-
...virtio-non-transitional.x86_64-latest.args | 3 +-
...-options-controller-ats.x86_64-latest.args | 3 +-
...ptions-controller-iommu.x86_64-latest.args | 3 +-
...tions-controller-packed.x86_64-latest.args | 3 +-
...virtio-options-disk-ats.x86_64-latest.args | 3 +-
...rtio-options-disk-iommu.x86_64-latest.args | 3 +-
...tio-options-disk-packed.x86_64-latest.args | 3 +-
.../virtio-options-fs-ats.x86_64-latest.args | 3 +-
...virtio-options-fs-iommu.x86_64-latest.args | 3 +-
...irtio-options-fs-packed.x86_64-latest.args | 3 +-
...irtio-options-input-ats.x86_64-latest.args | 3 +-
...tio-options-input-iommu.x86_64-latest.args | 3 +-
...io-options-input-packed.x86_64-latest.args | 3 +-
...-options-memballoon-ats.x86_64-latest.args | 3 +-
...loon-freepage-reporting.x86_64-latest.args | 3 +-
...ptions-memballoon-iommu.x86_64-latest.args | 3 +-
...tions-memballoon-packed.x86_64-latest.args | 3 +-
.../virtio-options-net-ats.x86_64-latest.args | 3 +-
...irtio-options-net-iommu.x86_64-latest.args | 3 +-
...rtio-options-net-packed.x86_64-latest.args | 3 +-
.../virtio-options-rng-ats.x86_64-latest.args | 3 +-
...irtio-options-rng-iommu.x86_64-latest.args | 3 +-
...rtio-options-rng-packed.x86_64-latest.args | 3 +-
...irtio-options-video-ats.x86_64-latest.args | 3 +-
...tio-options-video-iommu.x86_64-latest.args | 3 +-
...io-options-video-packed.x86_64-latest.args | 3 +-
.../virtio-options.x86_64-latest.args | 3 +-
.../virtio-rng-builtin.x86_64-latest.args | 3 +-
.../virtio-rng-egd-unix.x86_64-latest.args | 3 +-
.../virtio-transitional.x86_64-3.1.0.args | 3 +-
.../virtio-transitional.x86_64-latest.args | 3 +-
...-default-cpu-kvm-pc-4.2.x86_64-latest.args | 3 +-
...default-cpu-kvm-q35-4.2.x86_64-latest.args | 3 +-
...-default-cpu-tcg-pc-4.2.x86_64-latest.args | 3 +-
...default-cpu-tcg-q35-4.2.x86_64-latest.args | 3 +-
.../x86_64-pc-graphics.x86_64-latest.args | 3 +-
.../x86_64-pc-headless.x86_64-latest.args | 3 +-
.../x86_64-q35-graphics.x86_64-latest.args | 3 +-
.../x86_64-q35-headless.x86_64-latest.args | 3 +-
302 files changed, 717 insertions(+), 289 deletions(-)
--
2.24.3
1
0
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
NEWS.rst | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 07cec19c2b..b9a3d94eb2 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -48,6 +48,28 @@ v7.0.0 (unreleased)
an usage name which would not pass the XML validation. Relax the requirement
to make such XMLs valid.
+ * virnetdevopenvswitch: Various improvements
+
+ The code that handles ``<interface type='vhostuser'/>`` was given various
+ improvements. So far, libvirt assumed vhostuser interfaces are handled
+ exclusively by OpenVSwitch and refused to start a guest if it was not so.
+ Now a guest can be started successfully even if the interface is created by
+ some other tool (e.g. ``dpdk-testpmd``). Also, the code that detects the
+ interface name was adopted to new versions of OpenVSwitch and thus can
+ detect name more reliably.
+
+ * qemu: Report guest disks informations in ``virDomainGetGuestInfo``
+
+ Libvirt is now able to report disks and filesystems from the guest's
+ perspective (using guest agent). And with sufficiently new guest agent
+ (5.3.0 or newer) the API also handles disks on CCW bus.
+
+ * conf: Add support for keeping TPM emulator state
+
+ Currently, swtpm TPM state file is removed when a transient domain is
+ powered off or undefined. Add per-TPM emulator option ``persistent_sate``
+ for keeping TPM state.
+
* **Bug fixes**
* qemu: Fix logic bug in inactive snapshot deletion
@@ -69,6 +91,31 @@ v7.0.0 (unreleased)
amount of initial memory. Existing guests that migrate from an older
libvirt version to 7.0.0 will not be affected by this change.
+ * qemu: Don't cache NUMA caps
+
+ ``virsh capabilities`` contains ``<topology/>`` section which reports NUMA
+ topology among with amount of free hugepages per each NUMA node. However,
+ these amounts were not updated between calls.
+
+ * networkGetDHCPLeases: Handle leases with infinite expiry time
+
+ Since libvirt-6.3.0 it is possible to configure expiry time for DHCP
+ leases. If the expiry time was infinite then ``virsh net-dhcp-leases``
+ and NSS plugins refused to work.
+
+ * qemu: Don't prealloc mem for real NVDIMMs
+
+ If a real life NVDIMM is assigned to a guest via ``<memory model='nvdimm'/>``
+ then QEMU is no longer instructed to preallocate memory
+ for it. This prevents unnecessary wear off of the NVDIMM.
+
+ * network: Introduce mutex for bridge name generation
+
+ When new libvirt network is defined or created and the input XML does not
+ contain any bridge name, libvirt generates one. However, it might have
+ happened that the same name would be generated for different networks if
+ two or more networks were defined/created at once.
+
v6.10.0 (2020-12-01)
====================
--
2.26.2
3
3
13 Jan '21
The error message doesn't actually print the filename of the offending
file:
Incorrect line wrapping in %file
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
scripts/test-wrap-argv.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/test-wrap-argv.py b/scripts/test-wrap-argv.py
index 6b0d3511f3..9ec572b479 100755
--- a/scripts/test-wrap-argv.py
+++ b/scripts/test-wrap-argv.py
@@ -137,8 +137,8 @@ def rewrap(filename, in_place, check):
stdin=subprocess.PIPE)
diff.communicate(input=new.encode('utf-8'))
- print("Incorrect line wrapping in $file",
- file=sys.stderr)
+ print("Incorrect line wrapping in '%s'" %
+ filename, file=sys.stderr)
print("Use test-wrap-argv.py to wrap test data files",
file=sys.stderr)
return False
--
2.29.2
2
2