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
- 17 participants
- 40169 discussions
The 11.3.0 release of both libvirt and libvirt-python is tagged and
signed tarballs are available at
https://download.libvirt.org/
https://download.libvirt.org/python/
Thanks everybody who helped with this release by sending patches,
reviewing, testing, or providing feedback. Your work is greatly
appreciated.
* Removed features
* Support for AppArmor versions prior to 3.0.0 has been dropped.
* New features
* xen: Support configuration of ``<hyperv/>`` flags for Xen domains.
The following flags are now configurable for Xen: ``vapic``, ``synic``,
``stimer``, ``frequencies``, ``tlbflush`` and ``ipi``.
* bhyve: Support virtio random number generator devices
Domain XMLs can now include virtio random number generator devices.
They are configured with::
<rng model='virtio'>
<backend model='random'/>
</rng>
* bhyve: Support ``<interface type='network'>``
At the moment it doesn't provide any new features compared to
``<interface type='bridge'>``, but allows a more flexible configuration.
* Bug fixes
* cpu_map: Install Ampere-1 ARM CPU models
The Ampere-1 CPU models added in the previous release were not properly
installed and thus every attempt to start an ARM domain with custom
CPU definition would fail.
* storage: Fix new volume creation
No more errors occur when new storage volume is being created using ``virsh
vol-create`` with ``--validate`` option and/or ``virStorageVolCreateXML()``
with ``VIR_VOL_XML_PARSE_VALIDATE`` flag.
* Don't spam logs with error about ``qemu-rdp`` when starting a qemu VM
On hosts where the ``qemu-rdp`` binary is not installed a start of a VM
would cause an error such as ::
error : qemuRdpNewForHelper:103 : 'qemu-rdp' is not a suitable qemu-rdp helper name: No such file or directory
to be logged in the system log. It is safe to ignore the error. The code
was fixed to avoid the message when probing for support.
* Fix libvirt daemon crash on failure to hotplug a disk into a ``qemu`` VM
Some failures of disk hotplug could cause the libvirt daemon to crash due
to a bug when rolling back disk throttling filters.
Enjoy.
Jirka
1
0
[PATCH v1] tests: add capabilities for QEMU 10.0.0 on s390x
by Shalini Chellathurai Saroja 30 Apr '25
by Shalini Chellathurai Saroja 30 Apr '25
30 Apr '25
Let us introduce the xml and reply files for QEMU 10.0.0 on s390x.
Notable changes:
- new s390-ccw-virtio-10.0 machine type
- old machine types (2.4 - 2.8) dropped
- new CPU models
- New devices:
- virtio-mem-ccw
- chardev now supports qemu-vdagent
Signed-off-by: Shalini Chellathurai Saroja <shalini(a)linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy(a)linux.ibm.com>
Suggested-by: Michal Privoznik <mprivozn(a)redhat.com>
The replies and xml files are removed from this patch and are available in
https://gitlab.com/shalinichellathurai/libvirt/-/commit/3e9df63925e2c86b81c…
---
tests/domaincapsdata/qemu_10.0.0.s390x.xml | 359 +
.../caps_10.0.0_s390x.replies | 38002 ++++++++++++++++
.../caps_10.0.0_s390x.xml | 4216 ++
3 files changed, 42577 insertions(+)
create mode 100644 tests/domaincapsdata/qemu_10.0.0.s390x.xml
create mode 100644 tests/qemucapabilitiesdata/caps_10.0.0_s390x.replies
create mode 100644 tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml
diff --git a/tests/domaincapsdata/qemu_10.0.0.s390x.xml b/tests/domaincapsdata/qemu_10.0.0.s390x.xml
new file mode 100644
index 0000000000..4af3c7ec53
--- /dev/null
+++ b/tests/domaincapsdata/qemu_10.0.0.s390x.xml
@@ -0,0 +1,359 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-s390x</path>
+ <domain>kvm</domain>
+ <machine>s390-ccw-virtio-10.0</machine>
+ <arch>s390x</arch>
+ <vcpu max='248'/>
+ <iothreads supported='yes'/>
+ <os supported='yes'>
+ <enum name='firmware'/>
+ <loader supported='yes'>
+ <value>/obviously/fake/firmware1.fd</value>
+ <value>/obviously/fake/firmware2.fd</value>
+ <enum name='type'>
+ <value>rom</value>
+ <value>pflash</value>
+ </enum>
+ <enum name='readonly'>
+ <value>yes</value>
+ <value>no</value>
+ </enum>
+ <enum name='secure'>
+ <value>no</value>
+ </enum>
+ </loader>
+ </os>
+ <cpu>
+ <mode name='host-passthrough' supported='yes'>
+ <enum name='hostPassthroughMigratable'>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='maximum' supported='yes'>
+ <enum name='maximumMigratable'>
+ <value>on</value>
+ <value>off</value>
+ </enum>
+ </mode>
+ <mode name='host-model' supported='yes'>
+ <model fallback='forbid'>gen16a-base</model>
+ <feature policy='require' name='nnpa'/>
+ <feature policy='require' name='aen'/>
+ <feature policy='require' name='cmmnt'/>
+ <feature policy='require' name='vxpdeh'/>
+ <feature policy='require' name='aefsi'/>
+ <feature policy='require' name='diag318'/>
+ <feature policy='require' name='csske'/>
+ <feature policy='require' name='mepoch'/>
+ <feature policy='require' name='msa9'/>
+ <feature policy='require' name='msa8'/>
+ <feature policy='require' name='msa7'/>
+ <feature policy='require' name='msa6'/>
+ <feature policy='require' name='msa5'/>
+ <feature policy='require' name='msa4'/>
+ <feature policy='require' name='msa3'/>
+ <feature policy='require' name='msa2'/>
+ <feature policy='require' name='msa1'/>
+ <feature policy='require' name='sthyi'/>
+ <feature policy='require' name='edat'/>
+ <feature policy='require' name='ri'/>
+ <feature policy='require' name='deflate'/>
+ <feature policy='require' name='edat2'/>
+ <feature policy='require' name='etoken'/>
+ <feature policy='require' name='vx'/>
+ <feature policy='require' name='ipter'/>
+ <feature policy='require' name='pai'/>
+ <feature policy='require' name='paie'/>
+ <feature policy='require' name='mepochptff'/>
+ <feature policy='require' name='ap'/>
+ <feature policy='require' name='vxeh'/>
+ <feature policy='require' name='vxpd'/>
+ <feature policy='require' name='esop'/>
+ <feature policy='require' name='msa9_pckmo'/>
+ <feature policy='require' name='vxeh2'/>
+ <feature policy='require' name='esort'/>
+ <feature policy='require' name='appv'/>
+ <feature policy='require' name='apqi'/>
+ <feature policy='require' name='apft'/>
+ <feature policy='require' name='els'/>
+ <feature policy='require' name='iep'/>
+ <feature policy='require' name='appvi'/>
+ <feature policy='require' name='apqci'/>
+ <feature policy='require' name='cte'/>
+ <feature policy='require' name='ais'/>
+ <feature policy='require' name='bpb'/>
+ <feature policy='require' name='ctop'/>
+ <feature policy='require' name='gs'/>
+ <feature policy='require' name='ppa15'/>
+ <feature policy='require' name='zpci'/>
+ <feature policy='require' name='rdp'/>
+ <feature policy='require' name='sea_esop2'/>
+ <feature policy='require' name='beareh'/>
+ <feature policy='require' name='te'/>
+ <feature policy='require' name='cmm'/>
+ <feature policy='require' name='vxpdeh2'/>
+ </mode>
+ <mode name='custom' supported='yes'>
+ <model usable='yes' vendor='IBM'>gen15a</model>
+ <model usable='yes' vendor='IBM'>gen15a-base</model>
+ <model usable='yes' vendor='IBM'>gen15b</model>
+ <model usable='yes' vendor='IBM'>gen15b-base</model>
+ <model usable='yes' vendor='IBM'>gen16a</model>
+ <model usable='yes' vendor='IBM'>gen16a-base</model>
+ <model usable='yes' vendor='IBM'>gen16b</model>
+ <model usable='yes' vendor='IBM'>gen16b-base</model>
+ <model usable='no' vendor='IBM'>gen17a</model>
+ <blockers model='gen17a'>
+ <feature name='minste4'/>
+ <feature name='msa10'/>
+ <feature name='msa10_pckmo'/>
+ <feature name='msa11'/>
+ <feature name='msa11_pckmo'/>
+ <feature name='msa12'/>
+ <feature name='msa13'/>
+ <feature name='msa13_pckmo'/>
+ <feature name='plo_ext'/>
+ <feature name='sif'/>
+ <feature name='type'/>
+ <feature name='vxeh3'/>
+ <feature name='vxpdeh3'/>
+ </blockers>
+ <model usable='no' vendor='IBM'>gen17a-base</model>
+ <blockers model='gen17a-base'>
+ <feature name='minste4'/>
+ <feature name='msa12'/>
+ <feature name='plo_ext'/>
+ <feature name='sif'/>
+ <feature name='type'/>
+ </blockers>
+ <model usable='no' vendor='IBM'>gen17b</model>
+ <blockers model='gen17b'>
+ <feature name='minste4'/>
+ <feature name='msa10'/>
+ <feature name='msa10_pckmo'/>
+ <feature name='msa11'/>
+ <feature name='msa11_pckmo'/>
+ <feature name='msa12'/>
+ <feature name='msa13'/>
+ <feature name='msa13_pckmo'/>
+ <feature name='plo_ext'/>
+ <feature name='sif'/>
+ <feature name='type'/>
+ <feature name='vxeh3'/>
+ <feature name='vxpdeh3'/>
+ </blockers>
+ <model usable='no' vendor='IBM'>gen17b-base</model>
+ <blockers model='gen17b-base'>
+ <feature name='minste4'/>
+ <feature name='msa12'/>
+ <feature name='plo_ext'/>
+ <feature name='sif'/>
+ <feature name='type'/>
+ </blockers>
+ <model usable='yes' vendor='unknown'>max</model>
+ <model usable='yes' vendor='unknown'>qemu</model>
+ <model usable='yes' vendor='IBM'>z10BC</model>
+ <model usable='yes' vendor='IBM'>z10BC-base</model>
+ <model usable='yes' vendor='IBM'>z10BC.2</model>
+ <model usable='yes' vendor='IBM'>z10BC.2-base</model>
+ <model usable='yes' vendor='IBM'>z10EC</model>
+ <model usable='yes' vendor='IBM'>z10EC-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.2</model>
+ <model usable='yes' vendor='IBM'>z10EC.2-base</model>
+ <model usable='yes' vendor='IBM'>z10EC.3</model>
+ <model usable='yes' vendor='IBM'>z10EC.3-base</model>
+ <model usable='yes' vendor='IBM'>z114</model>
+ <model usable='yes' vendor='IBM'>z114-base</model>
+ <model usable='yes' vendor='IBM'>z13</model>
+ <model usable='yes' vendor='IBM'>z13-base</model>
+ <model usable='yes' vendor='IBM'>z13.2</model>
+ <model usable='yes' vendor='IBM'>z13.2-base</model>
+ <model usable='yes' vendor='IBM'>z13s</model>
+ <model usable='yes' vendor='IBM'>z13s-base</model>
+ <model usable='yes' vendor='IBM'>z14</model>
+ <model usable='yes' vendor='IBM'>z14-base</model>
+ <model usable='yes' vendor='IBM'>z14.2</model>
+ <model usable='yes' vendor='IBM'>z14.2-base</model>
+ <model usable='yes' vendor='IBM'>z14ZR1</model>
+ <model usable='yes' vendor='IBM'>z14ZR1-base</model>
+ <model usable='yes' vendor='IBM'>z196</model>
+ <model usable='yes' vendor='IBM'>z196-base</model>
+ <model usable='yes' vendor='IBM'>z196.2</model>
+ <model usable='yes' vendor='IBM'>z196.2-base</model>
+ <model usable='yes' vendor='IBM'>z800</model>
+ <model usable='yes' vendor='IBM'>z800-base</model>
+ <model usable='yes' vendor='IBM'>z890</model>
+ <model usable='yes' vendor='IBM'>z890-base</model>
+ <model usable='yes' vendor='IBM'>z890.2</model>
+ <model usable='yes' vendor='IBM'>z890.2-base</model>
+ <model usable='yes' vendor='IBM'>z890.3</model>
+ <model usable='yes' vendor='IBM'>z890.3-base</model>
+ <model usable='yes' vendor='IBM'>z900</model>
+ <model usable='yes' vendor='IBM'>z900-base</model>
+ <model usable='yes' vendor='IBM'>z900.2</model>
+ <model usable='yes' vendor='IBM'>z900.2-base</model>
+ <model usable='yes' vendor='IBM'>z900.3</model>
+ <model usable='yes' vendor='IBM'>z900.3-base</model>
+ <model usable='yes' vendor='IBM'>z990</model>
+ <model usable='yes' vendor='IBM'>z990-base</model>
+ <model usable='yes' vendor='IBM'>z990.2</model>
+ <model usable='yes' vendor='IBM'>z990.2-base</model>
+ <model usable='yes' vendor='IBM'>z990.3</model>
+ <model usable='yes' vendor='IBM'>z990.3-base</model>
+ <model usable='yes' vendor='IBM'>z990.4</model>
+ <model usable='yes' vendor='IBM'>z990.4-base</model>
+ <model usable='yes' vendor='IBM'>z990.5</model>
+ <model usable='yes' vendor='IBM'>z990.5-base</model>
+ <model usable='yes' vendor='IBM'>z9BC</model>
+ <model usable='yes' vendor='IBM'>z9BC-base</model>
+ <model usable='yes' vendor='IBM'>z9BC.2</model>
+ <model usable='yes' vendor='IBM'>z9BC.2-base</model>
+ <model usable='yes' vendor='IBM'>z9EC</model>
+ <model usable='yes' vendor='IBM'>z9EC-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.2</model>
+ <model usable='yes' vendor='IBM'>z9EC.2-base</model>
+ <model usable='yes' vendor='IBM'>z9EC.3</model>
+ <model usable='yes' vendor='IBM'>z9EC.3-base</model>
+ <model usable='yes' vendor='IBM'>zBC12</model>
+ <model usable='yes' vendor='IBM'>zBC12-base</model>
+ <model usable='yes' vendor='IBM'>zEC12</model>
+ <model usable='yes' vendor='IBM'>zEC12-base</model>
+ <model usable='yes' vendor='IBM'>zEC12.2</model>
+ <model usable='yes' vendor='IBM'>zEC12.2-base</model>
+ </mode>
+ </cpu>
+ <memoryBacking supported='yes'>
+ <enum name='sourceType'>
+ <value>file</value>
+ <value>anonymous</value>
+ <value>memfd</value>
+ </enum>
+ </memoryBacking>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>usb</value>
+ </enum>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ </disk>
+ <graphics supported='yes'>
+ <enum name='type'>
+ <value>sdl</value>
+ <value>vnc</value>
+ <value>egl-headless</value>
+ <value>dbus</value>
+ </enum>
+ </graphics>
+ <video supported='yes'>
+ <enum name='modelType'>
+ <value>virtio</value>
+ <value>none</value>
+ </enum>
+ </video>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'/>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ <rng supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ <value>virtio-transitional</value>
+ <value>virtio-non-transitional</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>random</value>
+ <value>egd</value>
+ <value>builtin</value>
+ </enum>
+ </rng>
+ <filesystem supported='yes'>
+ <enum name='driverType'>
+ <value>path</value>
+ <value>handle</value>
+ <value>virtiofs</value>
+ </enum>
+ </filesystem>
+ <tpm supported='no'/>
+ <redirdev supported='yes'>
+ <enum name='bus'>
+ <value>usb</value>
+ </enum>
+ </redirdev>
+ <channel supported='yes'>
+ <enum name='type'>
+ <value>pty</value>
+ <value>unix</value>
+ </enum>
+ </channel>
+ <crypto supported='yes'>
+ <enum name='model'>
+ <value>virtio</value>
+ </enum>
+ <enum name='type'>
+ <value>qemu</value>
+ </enum>
+ <enum name='backendModel'>
+ <value>builtin</value>
+ <value>lkcf</value>
+ </enum>
+ </crypto>
+ <interface supported='yes'>
+ <enum name='backendType'>
+ <value>default</value>
+ <value>passt</value>
+ </enum>
+ </interface>
+ <panic supported='yes'>
+ <enum name='model'>
+ <value>s390</value>
+ </enum>
+ </panic>
+ </devices>
+ <features>
+ <gic supported='no'/>
+ <vmcoreinfo supported='no'/>
+ <genid supported='no'/>
+ <backingStoreInput supported='yes'/>
+ <backup supported='yes'/>
+ <async-teardown supported='yes'/>
+ <s390-pv supported='yes'/>
+ <ps2 supported='no'/>
+ <sev supported='no'/>
+ <sgx supported='no'/>
+ <launchSecurity supported='yes'>
+ <enum name='sectype'>
+ <value>s390-pv</value>
+ </enum>
+ </launchSecurity>
+ </features>
+</domainCapabilities>
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_s390x.replies b/tests/qemucapabilitiesdata/caps_10.0.0_s390x.replies
new file mode 100644
index 0000000000..5195489878
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_s390x.replies
@@ -0,0 +1,38002 @@
[...]
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml b/tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml
new file mode 100644
index 0000000000..242848d6ae
--- /dev/null
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml
@@ -0,0 +1,4216 @@
[...]
3
3
We are getting close to 11.3.0 release of libvirt. To aim for the
release on Friday 02 May I suggest entering the freeze on Friday 25
Apr and tagging RC2 on Tuesday 29 Apr.
I hope this works for everyone.
Jirka
1
1
Several CPU tests covering recent-ish CPUs are added to cputest to make
sure the fix doesn't break anything.
Jiri Denemark (15):
cputest: Add data for Intel(R) Core(TM) i7-1270P CPU
cputest: Add data for Intel(R) Core(TM) i7-1365U CPU
cputest: Add data for Intel(R) Xeon(R) CPU E3-1270 v5 CPU
cputest: Add data for Intel(R) Xeon(R) Silver 4214R CPU
cputest: Add data for AMD EPYC 7713 64-Core CPU
cputest: Add data for AMD Ryzen 5 5500U CPU
cputest: Add data for Intel(R) Xeon(R) Gold 6152 CPU
cputest: Add data for AMD EPYC 9334 32-Core CPU
cputest: Add data for Intel(R) Xeon(R) 6731E CPU
cputest: Add data for Intel(R) Xeon(R) Bronze 3408U CPU
cputest: Add data for Intel(R) Xeon(R) Gold 6530 CPU
cputest: Add data for Intel(R) Xeon(R) w7-3465X CPU
cputest: Add data for a newer version of Intel Atom(R) P5362 CPU
cpu_x86: Refactor virCPUx86CompareCandidateFeatureList
cpu_x86: Fix algorithm for computing CPU model weight
src/cpu/cpu_x86.c | 83 +-
tests/cputest.c | 13 +
.../x86_64-cpuid-Atom-P5362-2-disabled.xml | 9 +
.../x86_64-cpuid-Atom-P5362-2-enabled.xml | 19 +
.../x86_64-cpuid-Atom-P5362-2-guest.xml | 43 +
.../x86_64-cpuid-Atom-P5362-2-host.xml | 42 +
.../x86_64-cpuid-Atom-P5362-2-json.xml | 102 +
.../x86_64-cpuid-Atom-P5362-2.json | 3482 +++++++++++++++++
.../cputestdata/x86_64-cpuid-Atom-P5362-2.sig | 4 +
.../cputestdata/x86_64-cpuid-Atom-P5362-2.xml | 66 +
.../x86_64-cpuid-Core-i7-1270P-disabled.xml | 8 +
.../x86_64-cpuid-Core-i7-1270P-enabled.xml | 21 +
.../x86_64-cpuid-Core-i7-1270P-guest.xml | 71 +
.../x86_64-cpuid-Core-i7-1270P-host.xml | 71 +
.../x86_64-cpuid-Core-i7-1270P-json.xml | 37 +
.../x86_64-cpuid-Core-i7-1270P.json | 2604 ++++++++++++
.../x86_64-cpuid-Core-i7-1270P.sig | 4 +
.../x86_64-cpuid-Core-i7-1270P.xml | 80 +
.../x86_64-cpuid-Core-i7-1365U-disabled.xml | 6 +
.../x86_64-cpuid-Core-i7-1365U-enabled.xml | 21 +
.../x86_64-cpuid-Core-i7-1365U-guest.xml | 71 +
.../x86_64-cpuid-Core-i7-1365U-host.xml | 70 +
.../x86_64-cpuid-Core-i7-1365U-json.xml | 38 +
.../x86_64-cpuid-Core-i7-1365U.json | 2604 ++++++++++++
.../x86_64-cpuid-Core-i7-1365U.sig | 4 +
.../x86_64-cpuid-Core-i7-1365U.xml | 81 +
...86_64-cpuid-EPYC-7713-64-Core-disabled.xml | 11 +
...x86_64-cpuid-EPYC-7713-64-Core-enabled.xml | 11 +
.../x86_64-cpuid-EPYC-7713-64-Core-guest.xml | 44 +
.../x86_64-cpuid-EPYC-7713-64-Core-host.xml | 39 +
.../x86_64-cpuid-EPYC-7713-64-Core-json.xml | 22 +
.../x86_64-cpuid-EPYC-7713-64-Core.json | 1900 +++++++++
.../x86_64-cpuid-EPYC-7713-64-Core.sig | 4 +
.../x86_64-cpuid-EPYC-7713-64-Core.xml | 70 +
...86_64-cpuid-EPYC-9334-32-Core-disabled.xml | 9 +
...x86_64-cpuid-EPYC-9334-32-Core-enabled.xml | 15 +
.../x86_64-cpuid-EPYC-9334-32-Core-guest.xml | 42 +
.../x86_64-cpuid-EPYC-9334-32-Core-host.xml | 44 +
.../x86_64-cpuid-EPYC-9334-32-Core-json.xml | 34 +
.../x86_64-cpuid-EPYC-9334-32-Core.json | 2133 ++++++++++
.../x86_64-cpuid-EPYC-9334-32-Core.sig | 4 +
.../x86_64-cpuid-EPYC-9334-32-Core.xml | 86 +
...-5-5500U-with-Radeon-Graphics-disabled.xml | 9 +
...n-5-5500U-with-Radeon-Graphics-enabled.xml | 11 +
...zen-5-5500U-with-Radeon-Graphics-guest.xml | 39 +
...yzen-5-5500U-with-Radeon-Graphics-host.xml | 38 +
...yzen-5-5500U-with-Radeon-Graphics-json.xml | 22 +
...id-Ryzen-5-5500U-with-Radeon-Graphics.json | 2353 +++++++++++
...uid-Ryzen-5-5500U-with-Radeon-Graphics.sig | 4 +
...uid-Ryzen-5-5500U-with-Radeon-Graphics.xml | 67 +
.../x86_64-cpuid-Xeon-6731E-disabled.xml | 11 +
.../x86_64-cpuid-Xeon-6731E-enabled.xml | 21 +
.../x86_64-cpuid-Xeon-6731E-guest.xml | 128 +
.../x86_64-cpuid-Xeon-6731E-host.xml | 86 +
.../x86_64-cpuid-Xeon-6731E-json.xml | 34 +
.../cputestdata/x86_64-cpuid-Xeon-6731E.json | 2539 ++++++++++++
tests/cputestdata/x86_64-cpuid-Xeon-6731E.sig | 4 +
tests/cputestdata/x86_64-cpuid-Xeon-6731E.xml | 97 +
...86_64-cpuid-Xeon-Bronze-3408U-disabled.xml | 9 +
...x86_64-cpuid-Xeon-Bronze-3408U-enabled.xml | 21 +
.../x86_64-cpuid-Xeon-Bronze-3408U-guest.xml | 59 +
.../x86_64-cpuid-Xeon-Bronze-3408U-host.xml | 75 +
.../x86_64-cpuid-Xeon-Bronze-3408U-json.xml | 119 +
.../x86_64-cpuid-Xeon-Bronze-3408U.json | 2192 +++++++++++
.../x86_64-cpuid-Xeon-Bronze-3408U.sig | 4 +
.../x86_64-cpuid-Xeon-Bronze-3408U.xml | 88 +
.../x86_64-cpuid-Xeon-E3-1270-v5-disabled.xml | 6 +
.../x86_64-cpuid-Xeon-E3-1270-v5-enabled.xml | 18 +
.../x86_64-cpuid-Xeon-E3-1270-v5-guest.xml | 32 +
.../x86_64-cpuid-Xeon-E3-1270-v5-host.xml | 34 +
.../x86_64-cpuid-Xeon-E3-1270-v5-json.xml | 93 +
.../x86_64-cpuid-Xeon-E3-1270-v5.json | 3064 +++++++++++++++
.../x86_64-cpuid-Xeon-E3-1270-v5.sig | 4 +
.../x86_64-cpuid-Xeon-E3-1270-v5.xml | 54 +
.../x86_64-cpuid-Xeon-Gold-6152-disabled.xml | 7 +
.../x86_64-cpuid-Xeon-Gold-6152-enabled.xml | 19 +
.../x86_64-cpuid-Xeon-Gold-6152-guest.xml | 40 +
.../x86_64-cpuid-Xeon-Gold-6152-host.xml | 42 +
.../x86_64-cpuid-Xeon-Gold-6152-json.xml | 105 +
.../x86_64-cpuid-Xeon-Gold-6152.json | 2612 +++++++++++++
.../x86_64-cpuid-Xeon-Gold-6152.sig | 4 +
.../x86_64-cpuid-Xeon-Gold-6152.xml | 61 +
.../x86_64-cpuid-Xeon-Gold-6530-disabled.xml | 10 +
.../x86_64-cpuid-Xeon-Gold-6530-enabled.xml | 20 +
.../x86_64-cpuid-Xeon-Gold-6530-guest.xml | 58 +
.../x86_64-cpuid-Xeon-Gold-6530-host.xml | 82 +
.../x86_64-cpuid-Xeon-Gold-6530-json.xml | 37 +
.../x86_64-cpuid-Xeon-Gold-6530.json | 2096 ++++++++++
.../x86_64-cpuid-Xeon-Gold-6530.sig | 4 +
.../x86_64-cpuid-Xeon-Gold-6530.xml | 91 +
...86_64-cpuid-Xeon-Silver-4214R-disabled.xml | 7 +
...x86_64-cpuid-Xeon-Silver-4214R-enabled.xml | 19 +
.../x86_64-cpuid-Xeon-Silver-4214R-guest.xml | 46 +
.../x86_64-cpuid-Xeon-Silver-4214R-host.xml | 46 +
.../x86_64-cpuid-Xeon-Silver-4214R-json.xml | 110 +
.../x86_64-cpuid-Xeon-Silver-4214R.json | 2590 ++++++++++++
.../x86_64-cpuid-Xeon-Silver-4214R.sig | 4 +
.../x86_64-cpuid-Xeon-Silver-4214R.xml | 61 +
.../x86_64-cpuid-Xeon-w7-3465X-disabled.xml | 10 +
.../x86_64-cpuid-Xeon-w7-3465X-enabled.xml | 20 +
.../x86_64-cpuid-Xeon-w7-3465X-guest.xml | 55 +
.../x86_64-cpuid-Xeon-w7-3465X-host.xml | 79 +
.../x86_64-cpuid-Xeon-w7-3465X-json.xml | 107 +
.../x86_64-cpuid-Xeon-w7-3465X.json | 2096 ++++++++++
.../x86_64-cpuid-Xeon-w7-3465X.sig | 4 +
.../x86_64-cpuid-Xeon-w7-3465X.xml | 91 +
106 files changed, 36051 insertions(+), 39 deletions(-)
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-P5362-2-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-P5362-2-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-P5362-2-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-P5362-2-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-P5362-2-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-P5362-2.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-P5362-2.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Atom-P5362-2.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1270P-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1270P-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1270P-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1270P-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1270P-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1270P.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1270P.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1270P.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1365U-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1365U-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1365U-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1365U-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1365U-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1365U.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1365U.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-1365U.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7713-64-Core-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7713-64-Core-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7713-64-Core-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7713-64-Core-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7713-64-Core-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7713-64-Core.json
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7713-64-Core.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7713-64-Core.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core.json
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Ryzen-5-5500U-with-Radeon-Graphics.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-6731E-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-6731E-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-6731E-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-6731E-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-6731E-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-6731E.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-6731E.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-6731E.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Bronze-3408U-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Bronze-3408U-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Bronze-3408U-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Bronze-3408U-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Bronze-3408U-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Bronze-3408U.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Bronze-3408U.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Bronze-3408U.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1270-v5-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1270-v5-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1270-v5-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1270-v5-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1270-v5-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1270-v5.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1270-v5.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E3-1270-v5.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6152-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6152-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6152-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6152-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6152-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6152.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6152.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6152.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6530-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6530-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6530-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6530-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6530-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6530.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6530.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6530.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Silver-4214R-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Silver-4214R-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Silver-4214R-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Silver-4214R-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Silver-4214R-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Silver-4214R.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Silver-4214R.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-Silver-4214R.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-w7-3465X-disabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-w7-3465X-enabled.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-w7-3465X-guest.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-w7-3465X-host.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-w7-3465X-json.xml
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-w7-3465X.json
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-w7-3465X.sig
create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-w7-3465X.xml
--
2.49.0
2
19
[PATCH 00/20] Finish the work to stop hardcoding paths at build time
by Daniel P. Berrangé 29 Apr '25
by Daniel P. Berrangé 29 Apr '25
29 Apr '25
Over the years we've made various changes to stop hardcoding paths at
build time, but the work is incomplete.
This bit us significantly in Fedora 42 where they have merged the 'sbin'
and 'bin' dirs together. In the build environment we have a clean
install where '/sbin' and '/usr/sbin' are simply symlinks to '/usr/bin'.
Our meson.build logic preferentially looks in '/sbin' and '/usr/sbin'
to find programs, and thus it finds *all* binaries in '/sbin' and then
hardcodes this path. This happens even for binaries that have always
been in '/usr/bin' and NEVER '/sbin' or '/usr/sbin'
On fresh Fedora installs this is fine as the symlinks match the build
environment.
On upgraded Fedora installs, however, '/sbin' and '/usr/sbin' remain
separate directories and inside they symlink individual binaries,
if-and-only-if the binary was in '/sbin' in Fedora 41.
Thus many of the binaries we found in /sbin don't actually exist and
libvirt thus breaks.
There is really no reason why we should be harcoding any paths at
build time. virCommand happily uses virFindFileInPath for any paths
which are not already absolute. $PATH includes '/sbin' and '/usr/sbin'
when we're running privileged, and when unprivileged we shouldn't need
to run binaries from there.
Daniel P. Berrangé (20):
storage: stop hardcoding paths for mkfs, mount, umount
tests: storage hardcoding paths for mount & vgchange
util: stop hardcoding numad path
util: stop hardcoding bhyve, bhyvectl, bhyveload paths
util: stop hardcoding 'ifconfig' path
docs: stop setting vars for docs tools
build-aux: add missing definition of PERL variable
meson: stop setting conf var for required programs
util: remove use hardcoded DMIDECODE path
meson: remove check for 'ip' program
util: remove hardcoded ISCSIADM command path
nodedev: remove use hardcoded MDEVCTL path
util: remove use hardcoded MM_CTL path
util: remove use hardcoded MODPROBE/RMMOD paths
util: remove use hardcoded OVS_VSCTL path
util: remove use hardcoded TC path
meson: stop setting conf var for optional programs
storage: stop hardcoding LVM tool paths
util: stop hardcoding pkttyagent path
openvz: stop hardcoding vzlist/vzctl/vzmigrate paths
build-aux/Makefile.in | 1 +
build-aux/meson.build | 1 +
docs/meson.build | 1 -
meson.build | 92 +++------------------
src/bhyve/bhyve_command.c | 6 +-
src/locking/lock_driver_lockd.c | 4 +-
src/node_device/node_device_driver.c | 14 ++--
src/openvz/openvz_conf.h | 6 +-
src/storage/storage_backend_fs.c | 17 +---
src/storage/storage_backend_logical.c | 24 +++---
src/util/virfirewall.h | 1 +
src/util/viriscsi.c | 55 +++++++------
src/util/virkmod.c | 4 +-
src/util/virnetdevbandwidth.c | 36 ++++-----
src/util/virnetdevip.c | 14 ++--
src/util/virnetdevmidonet.c | 4 +-
src/util/virnetdevopenvswitch.c | 4 +-
src/util/virnuma.c | 2 +-
src/util/virpolkit.c | 8 +-
src/util/virpolkit.h | 2 -
src/util/virsysinfo.c | 4 +-
tests/storagepoolxml2argvtest.c | 12 +--
tests/viriscsitest.c | 16 ++--
tests/virkmodtest.c | 4 +-
tests/virnetdevbandwidthtest.c | 110 +++++++++++++-------------
tests/virnetdevopenvswitchtest.c | 74 ++++++++---------
26 files changed, 216 insertions(+), 300 deletions(-)
--
2.49.0
3
44
v2 of:
https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/IETW…
diff to v1:
- The macro is renamed to ATTRIBUTE_MOCKABLE
- The python script is subsequently renamed to mockable-attribute.py
Green pipeline:
https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/1791517164
As discussed with Daniel on my v1 series, this is definitely v11.4.0
material, i.e. AFTER the release.
Michal Prívozník (3):
internal: Introduce ATTRIBUTE_MOCKABLE
src: s/G_NO_INLINE/ATTRIBUTE_MOCKABLE/
scripts: Adapt mock-noinline.py to ATTRIBUTE_MOCKABLE
build-aux/syntax-check.mk | 4 ++--
docs/coding-style.rst | 2 +-
scripts/cocci-macro-file.h | 1 +
scripts/meson.build | 2 +-
...mock-noinline.py => mockable-attribute.py} | 8 +++----
src/cpu/cpu.h | 2 +-
src/hypervisor/domain_interface.h | 2 +-
src/internal.h | 22 +++++++++++++++++++
src/libxl/libxl_capabilities.h | 2 +-
src/qemu/qemu_capabilities.h | 4 ++--
src/qemu/qemu_capspriv.h | 2 +-
src/qemu/qemu_command.h | 6 ++---
src/qemu/qemu_hotplug.c | 2 +-
src/qemu/qemu_hotplug.h | 2 +-
src/qemu/qemu_interface.h | 2 +-
src/qemu/qemu_monitor.h | 2 +-
src/qemu/qemu_monitor_json.h | 2 +-
src/qemu/qemu_monitor_priv.h | 2 +-
src/qemu/qemu_process.h | 6 ++---
src/rpc/virnetsocket.h | 4 ++--
src/util/vircgroupv2devices.h | 2 +-
src/util/vircommand.h | 2 +-
src/util/virdevmapper.h | 2 +-
src/util/virfile.h | 20 ++++++++---------
src/util/virfirewalld.h | 2 +-
src/util/virhashcode.h | 2 +-
src/util/virhostcpu.h | 8 +++----
src/util/virhostmem.h | 2 +-
src/util/virhostuptime.h | 2 +-
src/util/viridentitypriv.h | 2 +-
src/util/virmacaddr.h | 2 +-
src/util/virnetdev.h | 12 +++++-----
src/util/virnetdevbandwidth.h | 2 +-
src/util/virnetdevip.h | 2 +-
src/util/virnetdevmacvlan.h | 2 +-
src/util/virnetdevopenvswitch.h | 2 +-
src/util/virnetdevtap.h | 6 ++---
src/util/virnuma.h | 18 +++++++--------
src/util/virpci.h | 2 +-
src/util/virprocess.h | 6 ++---
src/util/virrandom.h | 4 ++--
src/util/virscsi.h | 2 +-
src/util/virscsivhost.h | 2 +-
src/util/virtpm.h | 2 +-
src/util/virutil.h | 16 +++++++-------
src/util/viruuid.h | 4 ++--
46 files changed, 115 insertions(+), 92 deletions(-)
rename scripts/{mock-noinline.py => mockable-attribute.py} (91%)
--
2.49.0
2
6
*** BLURB HERE ***
Michal Prívozník (2):
util: Add missing G_NO_INLINE annotation
scripts: Fix reading list of files in mock-noinline.py
scripts/mock-noinline.py | 3 ++-
src/util/virfirewalld.h | 2 +-
src/util/virhostcpu.h | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
--
2.49.0
3
5
From: Kirill Shchetiniuk <kshcheti(a)redhat.com>
Introduce GTK display support with OpenGL for the QEMU driver.
- Add new XML options for GTK display type.
- Include capability flags for the QEMU driver.
Note: The `QEMU_CAPS_GTK_GL` flag cannot yet be checked, so device
definition validation is incomplete. A placeholder is left for
future implementation, when the GTK along with OpenGL capability
check would be available in QEMU.
Resolves: https://gitlab.com/libvirt/libvirt/-/issues/570
Signed-off-by: Kirill Shchetiniuk <kshcheti(a)redhat.com>
---
src/conf/domain_conf.c | 79 ++++++++++++++++++-
src/conf/domain_conf.h | 8 ++
src/conf/schemas/domaincommon.rng | 28 +++++++
src/qemu/qemu_capabilities.c | 5 ++
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_command.c | 39 ++++++++-
src/qemu/qemu_domain.c | 1 +
src/qemu/qemu_driver.c | 2 +
src/qemu/qemu_extdevice.c | 2 +
src/qemu/qemu_hotplug.c | 1 +
src/qemu/qemu_process.c | 8 ++
src/qemu/qemu_validate.c | 16 ++++
src/security/virt-aa-helper.c | 6 ++
src/vmx/vmx.c | 1 +
tests/domaincapsdata/qemu_10.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.2.0.ppc.xml | 1 +
.../qemu_8.2.0-tcg-virt.loongarch64.xml | 1 +
.../qemu_8.2.0-virt.aarch64.xml | 1 +
.../qemu_8.2.0-virt.loongarch64.xml | 1 +
tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 1 +
tests/domaincapsdata/qemu_9.0.0.sparc.xml | 1 +
tests/domaincapsdata/qemu_9.1.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_9.2.0.s390x.xml | 1 +
.../caps_10.0.0_s390x.xml | 1 +
.../qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 +
.../caps_8.2.0_aarch64.xml | 1 +
.../caps_8.2.0_armv7l.xml | 1 +
.../caps_8.2.0_loongarch64.xml | 1 +
.../qemucapabilitiesdata/caps_9.0.0_sparc.xml | 1 +
.../qemucapabilitiesdata/caps_9.1.0_s390x.xml | 1 +
.../qemucapabilitiesdata/caps_9.2.0_s390x.xml | 1 +
36 files changed, 218 insertions(+), 2 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 542d6ade91..73550f7fcf 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -960,6 +960,7 @@ VIR_ENUM_IMPL(virDomainGraphics,
"spice",
"egl-headless",
"dbus",
+ "gtk",
);
VIR_ENUM_IMPL(virDomainGraphicsListen,
@@ -2054,6 +2055,12 @@ void virDomainGraphicsDefFree(virDomainGraphicsDef *def)
g_free(def->data.dbus.rendernode);
break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ g_free(def->data.gtk.display);
+ g_free(def->data.gtk.xauth);
+ g_free(def->data.gtk.rendernode);
+ break;
+
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
}
@@ -12199,6 +12206,39 @@ virDomainGraphicsDefParseXMLDBus(virDomainGraphicsDef *def,
}
+static int
+virDomainGraphicsDefParseXMLGTK(virDomainGraphicsDef *def,
+ xmlNodePtr node,
+ xmlXPathContextPtr ctxt)
+{
+ VIR_XPATH_NODE_AUTORESTORE(ctxt)
+ xmlNodePtr glNode;
+ virTristateBool fullscreen;
+
+ ctxt->node = node;
+
+ if (virXMLPropTristateBool(node, "fullscreen", VIR_XML_PROP_NONE,
+ &fullscreen) < 0)
+ return -1;
+
+ virTristateBoolToBool(fullscreen, &def->data.gtk.fullscreen);
+ def->data.gtk.xauth = virXMLPropString(node, "xauth");
+ def->data.gtk.display = virXMLPropString(node, "display");
+
+ if ((glNode = virXPathNode("./gl", ctxt))) {
+ def->data.gtk.rendernode = virXMLPropString(glNode,
+ "rendernode");
+
+ if (virXMLPropTristateBool(glNode, "enable",
+ VIR_XML_PROP_REQUIRED,
+ &def->data.gtk.gl) < 0)
+ return -1;
+ }
+
+ return 0;
+}
+
+
virDomainGraphicsDef *
virDomainGraphicsDefNew(virDomainXMLOption *xmlopt)
{
@@ -12275,6 +12315,10 @@ virDomainGraphicsDefParseXML(virDomainXMLOption *xmlopt,
if (virDomainGraphicsDefParseXMLDBus(def, node, ctxt) < 0)
goto error;
break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ if (virDomainGraphicsDefParseXMLGTK(def, node, ctxt) < 0)
+ goto error;
+ break;
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
}
@@ -27118,6 +27162,23 @@ virDomainGraphicsDefFormatDBus(virBuffer *attrBuf,
virDomainGraphicsDefFormatAudio(childBuf, def->data.dbus.audioId);
}
+static void
+virDomainGraphicsDefFormatGTK(virBuffer *attrBuf,
+ virBuffer *childBuf,
+ virDomainGraphicsDef *def)
+{
+ virBufferEscapeString(attrBuf, " display='%s'", def->data.gtk.display);
+
+ virBufferEscapeString(attrBuf, " xauth='%s'", def->data.gtk.xauth);
+
+ if (def->data.gtk.fullscreen)
+ virBufferAddLit(attrBuf, " fullscreen='yes'");
+
+ virDomainGraphicsDefFormatGL(childBuf, def->data.gtk.gl,
+ def->data.gtk.rendernode);
+}
+
+
static int
virDomainGraphicsDefFormat(virBuffer *buf,
virDomainGraphicsDef *def,
@@ -27166,6 +27227,10 @@ virDomainGraphicsDefFormat(virBuffer *buf,
virDomainGraphicsDefFormatDBus(&attrBuf, &childBuf, def);
break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ virDomainGraphicsDefFormatGTK(&attrBuf, &childBuf, def);
+ break;
+
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
}
@@ -31949,6 +32014,11 @@ virDomainGraphicsDefHasOpenGL(const virDomainDef *def)
if (graphics->data.dbus.gl == VIR_TRISTATE_BOOL_YES)
return true;
+ continue;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ if (graphics->data.gtk.gl == VIR_TRISTATE_BOOL_YES)
+ return true;
+
continue;
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
@@ -31966,7 +32036,8 @@ virDomainGraphicsSupportsRenderNode(const virDomainGraphicsDef *graphics)
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE ||
graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS ||
- graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_DBUS)
+ graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_DBUS ||
+ graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_GTK)
ret = true;
return ret;
@@ -31988,6 +32059,9 @@ virDomainGraphicsGetRenderNode(const virDomainGraphicsDef *graphics)
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
ret = graphics->data.dbus.rendernode;
break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ ret = graphics->data.gtk.rendernode;
+ break;
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
@@ -32012,6 +32086,9 @@ virDomainGraphicsNeedsAutoRenderNode(const virDomainGraphicsDef *graphics)
if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_DBUS &&
graphics->data.dbus.gl != VIR_TRISTATE_BOOL_YES)
return false;
+ if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_GTK &&
+ graphics->data.gtk.gl != VIR_TRISTATE_BOOL_YES)
+ return false;
if (virDomainGraphicsGetRenderNode(graphics))
return false;
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 58b97a2b54..f4f06db8a8 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1896,6 +1896,7 @@ typedef enum {
VIR_DOMAIN_GRAPHICS_TYPE_SPICE,
VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS,
VIR_DOMAIN_GRAPHICS_TYPE_DBUS,
+ VIR_DOMAIN_GRAPHICS_TYPE_GTK,
VIR_DOMAIN_GRAPHICS_TYPE_LAST
} virDomainGraphicsType;
@@ -2083,6 +2084,13 @@ struct _virDomainGraphicsDef {
unsigned int audioId;
bool fromConfig; /* true if the @address is config file originated */
} dbus;
+ struct {
+ char *display;
+ char *xauth;
+ bool fullscreen;
+ char *rendernode;
+ virTristateBool gl;
+ } gtk;
} data;
/* nListens, listens, and *port are only useful if type is vnc,
* rdp, or spice. They've been extracted from the union only to
diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincommon.rng
index 5597d5a66b..61c1d3ad97 100644
--- a/src/conf/schemas/domaincommon.rng
+++ b/src/conf/schemas/domaincommon.rng
@@ -4593,6 +4593,34 @@
</element>
</optional>
</group>
+ <group>
+ <attribute name="type">
+ <value>gtk</value>
+ </attribute>
+ <optional>
+ <attribute name="display">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xauth">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fullscreen">
+ <ref name="virYesNo"/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name="gl">
+ <attribute name="enable">
+ <ref name="virYesNo"/>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ </group>
</choice>
</element>
</define>
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index a804335c85..de7ce95499 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -732,6 +732,8 @@ VIR_ENUM_IMPL(virQEMUCaps,
/* 475 */
"virtio-scsi.iothread-mapping", /* QEMU_CAPS_VIRTIO_SCSI_IOTHREAD_MAPPING */
+ "gtk", /* QEMU_CAPS_GTK */
+ "gtk-gl", /* QEMU_CAPS_GTK_GL */
);
@@ -1602,6 +1604,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
{ "set-numa-node/arg-type/+hmat-lb", QEMU_CAPS_NUMA_HMAT },
{ "query-cpu-model-expansion/ret-type/deprecated-props", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_DEPRECATED_PROPS },
{ "migrate-incoming/arg-type/exit-on-error", QEMU_CAPS_MIGRATE_INCOMING_EXIT_ON_ERROR },
+ { "query-display-options/ret-type/type/^gtk", QEMU_CAPS_GTK },
};
typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps;
@@ -6499,6 +6502,8 @@ virQEMUCapsFillDomainDeviceGraphicsCaps(virQEMUDriverConfig *cfg,
VIR_DOMAIN_GRAPHICS_TYPE_RDP);
}
}
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_GTK))
+ VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_GTK);
}
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index ea7c14daa9..f4ab1a821f 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -713,6 +713,8 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
/* 475 */
QEMU_CAPS_VIRTIO_SCSI_IOTHREAD_MAPPING, /* virtio-scsi supports per-virtqueue iothread mapping */
+ QEMU_CAPS_GTK, /* support for GTK graphics is compiled into qemu */
+ QEMU_CAPS_GTK_GL, /* support OpenGL for gtk graphics */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index e6d308534f..e97992ff56 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -8483,6 +8483,34 @@ qemuBuildGraphicsDBusCommandLine(virDomainDef *def,
}
+static int
+qemuBuildGraphicsGTKCommandLine(virQEMUDriverConfig *cfg G_GNUC_UNUSED,
+ virCommand *cmd,
+ virDomainGraphicsDef *graphics)
+{
+ g_auto(virBuffer) opt = VIR_BUFFER_INITIALIZER;
+
+ if (graphics->data.gtk.xauth)
+ virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.gtk.xauth);
+ if (graphics->data.gtk.display)
+ virCommandAddEnvPair(cmd, "DISPLAY", graphics->data.gtk.display);
+ if (graphics->data.gtk.fullscreen)
+ virCommandAddArg(cmd, "-full-screen");
+
+ virCommandAddArg(cmd, "-display");
+ virBufferAddLit(&opt, "gtk");
+
+ if (graphics->data.gtk.gl != VIR_TRISTATE_BOOL_ABSENT)
+ virBufferAsprintf(&opt, ",gl=%s",
+ virTristateSwitchTypeToString(graphics->data.gtk.gl));
+
+ virCommandAddArgBuffer(cmd, &opt);
+
+ return 0;
+}
+
+
+
static int
qemuBuildGraphicsCommandLine(virQEMUDriverConfig *cfg,
virCommand *cmd,
@@ -8523,6 +8551,11 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfig *cfg,
if (qemuBuildGraphicsDBusCommandLine(def, cmd, graphics) < 0)
return -1;
+ break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ if (qemuBuildGraphicsGTKCommandLine(cfg, cmd, graphics) < 0)
+ return -1;
+
break;
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
break;
@@ -10076,6 +10109,7 @@ qemuBuildCommandLineValidate(virQEMUDriver *driver,
int egl_headless = 0;
int dbus = 0;
int rdp = 0;
+ int gtk = 0;
if (!driver->privileged) {
/* If we have no cgroups then we can have no tunings that
@@ -10126,13 +10160,16 @@ qemuBuildCommandLineValidate(virQEMUDriver *driver,
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
++rdp;
break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ ++gtk;
+ break;
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
}
}
- if (sdl > 1 || vnc > 1 || spice > 1 || egl_headless > 1 || dbus > 1 || rdp > 1) {
+ if (sdl > 1 || vnc > 1 || spice > 1 || egl_headless > 1 || dbus > 1 || rdp > 1 || gtk > 1) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("only 1 graphics device of each type (sdl, vnc, spice, headless, dbus, rdp) is supported"));
return -1;
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 52da234343..f96c926424 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -4104,6 +4104,7 @@ qemuDomainDefSuggestDefaultAudioBackend(virQEMUDriver *driver,
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
break;
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
default:
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index a34d6f1437..da22681053 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -14837,6 +14837,7 @@ qemuDomainOpenGraphics(virDomainPtr dom,
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Can only open VNC, SPICE or D-Bus p2p graphics backends, not %1$s"),
virDomainGraphicsTypeToString(vm->def->graphics[idx]->type));
@@ -14908,6 +14909,7 @@ qemuDomainOpenGraphicsFD(virDomainPtr dom,
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Can only open VNC, SPICE or D-Bus p2p graphics backends, not %1$s"),
virDomainGraphicsTypeToString(vm->def->graphics[idx]->type));
diff --git a/src/qemu/qemu_extdevice.c b/src/qemu/qemu_extdevice.c
index 31c7a14156..f6888acf2f 100644
--- a/src/qemu/qemu_extdevice.c
+++ b/src/qemu/qemu_extdevice.c
@@ -256,6 +256,7 @@ qemuExtDevicesStart(virQEMUDriver *driver,
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
default:
continue;
@@ -339,6 +340,7 @@ qemuExtDevicesStop(virQEMUDriver *driver,
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
default:
continue;
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 5326aba281..d67c407309 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -4688,6 +4688,7 @@ qemuDomainChangeGraphics(virQEMUDriver *driver,
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unable to change config on '%1$s' graphics type"), type);
break;
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 1af91c5909..b61240b653 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3005,6 +3005,7 @@ qemuProcessInitPasswords(virQEMUDriver *driver,
cfg->rdpUsername, cfg->rdpPassword, asyncJob);
break;
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
@@ -5065,6 +5066,7 @@ qemuProcessGraphicsReservePorts(virDomainGraphicsDef *graphics,
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
}
@@ -5109,6 +5111,7 @@ qemuProcessGraphicsAllocatePorts(virQEMUDriver *driver,
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
}
@@ -5280,6 +5283,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriver *driver,
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
}
@@ -5359,6 +5363,9 @@ qemuProcessGraphicsSetupRenderNode(virDomainGraphicsDef *graphics,
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
rendernode = &graphics->data.dbus.rendernode;
break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ rendernode = &graphics->data.gtk.rendernode;
+ break;
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
@@ -5571,6 +5578,7 @@ qemuProcessStartValidateGraphics(virDomainObj *vm)
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
break;
}
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index b2c3c9e2f6..be92785d71 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -4523,6 +4523,17 @@ qemuValidateDomainDeviceDefRDPGraphics(const virDomainGraphicsDef *graphics)
}
+static int
+qemuValidateDomainDeviceDefGTKGraphics(const virDomainGraphicsDef *graphics G_GNUC_UNUSED,
+ virQEMUCaps *qemuCaps G_GNUC_UNUSED)
+{
+ /* TODO: OpenGL check */
+ /* For now it's not possible to check if gtk-gl capability is available in QEMU */
+ /* Add cappability check later when will be possible to gather the capability from QEMU */
+ return 0;
+}
+
+
static int
qemuValidateDomainDeviceDefGraphics(const virDomainGraphicsDef *graphics,
const virDomainDef *def,
@@ -4600,6 +4611,11 @@ qemuValidateDomainDeviceDefGraphics(const virDomainGraphicsDef *graphics,
return -1;
break;
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
+ if (qemuValidateDomainDeviceDefGTKGraphics(graphics, qemuCaps) < 0)
+ return -1;
+
+ break;
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index e3802c18be..d3de4ea4d1 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -1037,6 +1037,12 @@ get_files(vahControl * ctl)
"r") != 0)
goto cleanup;
+ if (ctl->def->ngraphics == 1 &&
+ ctl->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_GTK)
+ if (vah_add_file(&buf, ctl->def->graphics[0]->data.gtk.xauth,
+ "r") != 0)
+ goto cleanup;
+
for (i = 0; i < ctl->def->nhostdevs; i++)
if (ctl->def->hostdevs[i]) {
virDomainHostdevDef *dev = ctl->def->hostdevs[i];
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index 0dd03c1a88..74d90ec77a 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -3527,6 +3527,7 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOption *xmlopt, virDomainDef
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS:
case VIR_DOMAIN_GRAPHICS_TYPE_DBUS:
+ case VIR_DOMAIN_GRAPHICS_TYPE_GTK:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Unsupported graphics type '%1$s'"),
virDomainGraphicsTypeToString(def->graphics[i]->type));
diff --git a/tests/domaincapsdata/qemu_10.0.0.s390x.xml b/tests/domaincapsdata/qemu_10.0.0.s390x.xml
index d66240307e..a81db8e950 100644
--- a/tests/domaincapsdata/qemu_10.0.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_10.0.0.s390x.xml
@@ -256,6 +256,7 @@
<value>rdp</value>
<value>egl-headless</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml b/tests/domaincapsdata/qemu_7.0.0.ppc64.xml
index 52c73d10a4..e840a0e488 100644
--- a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.ppc64.xml
@@ -77,6 +77,7 @@
<value>sdl</value>
<value>vnc</value>
<value>egl-headless</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml b/tests/domaincapsdata/qemu_7.1.0.ppc64.xml
index ca0bc6f0b5..235e851e86 100644
--- a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.ppc64.xml
@@ -70,6 +70,7 @@
<graphics supported='yes'>
<enum name='type'>
<value>vnc</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_7.2.0.ppc.xml b/tests/domaincapsdata/qemu_7.2.0.ppc.xml
index 21dbe730c5..ae379b863e 100644
--- a/tests/domaincapsdata/qemu_7.2.0.ppc.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.ppc.xml
@@ -69,6 +69,7 @@
<value>spice</value>
<value>egl-headless</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
index 18979cf280..3ac273e119 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml
@@ -75,6 +75,7 @@
<value>rdp</value>
<value>spice</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml
index ce17865e24..98346d23d3 100644
--- a/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml
@@ -123,6 +123,7 @@
<value>rdp</value>
<value>egl-headless</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
index 8f4ebbc107..b6d0f4d455 100644
--- a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml
@@ -79,6 +79,7 @@
<value>rdp</value>
<value>spice</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_8.2.0.aarch64.xml b/tests/domaincapsdata/qemu_8.2.0.aarch64.xml
index ce17865e24..98346d23d3 100644
--- a/tests/domaincapsdata/qemu_8.2.0.aarch64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.aarch64.xml
@@ -123,6 +123,7 @@
<value>rdp</value>
<value>egl-headless</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_8.2.0.armv7l.xml b/tests/domaincapsdata/qemu_8.2.0.armv7l.xml
index ee653c0c49..77d90635cd 100644
--- a/tests/domaincapsdata/qemu_8.2.0.armv7l.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.armv7l.xml
@@ -73,6 +73,7 @@
<value>spice</value>
<value>egl-headless</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_9.0.0.sparc.xml b/tests/domaincapsdata/qemu_9.0.0.sparc.xml
index c7862f5842..396b40e221 100644
--- a/tests/domaincapsdata/qemu_9.0.0.sparc.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.sparc.xml
@@ -64,6 +64,7 @@
<value>spice</value>
<value>egl-headless</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_9.1.0.s390x.xml b/tests/domaincapsdata/qemu_9.1.0.s390x.xml
index b73e0d0688..e6345ebffb 100644
--- a/tests/domaincapsdata/qemu_9.1.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.s390x.xml
@@ -208,6 +208,7 @@
<value>rdp</value>
<value>egl-headless</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/domaincapsdata/qemu_9.2.0.s390x.xml b/tests/domaincapsdata/qemu_9.2.0.s390x.xml
index 605a3af5c7..3dac7c0462 100644
--- a/tests/domaincapsdata/qemu_9.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.s390x.xml
@@ -208,6 +208,7 @@
<value>rdp</value>
<value>egl-headless</value>
<value>dbus</value>
+ <value>gtk</value>
</enum>
</graphics>
<video supported='yes'>
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml b/tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml
index be2e91ed92..078f5cea12 100644
--- a/tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml
@@ -133,6 +133,7 @@
<flag name='migrate-incoming.exit-on-error'/>
<flag name='virtio-mem-ccw'/>
<flag name='shim'/>
+ <flag name='gtk'/>
<version>9002050</version>
<microcodeVersion>39100285</microcodeVersion>
<package>v9.2.0-1203-gd6430c17d7</package>
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml
index d78c239372..6dc012bcff 100644
--- a/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml
@@ -149,6 +149,7 @@
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<flag name='acpi-erst'/>
+ <flag name='gtk'/>
<version>7000000</version>
<microcodeVersion>42900243</microcodeVersion>
<package>v7.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml b/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml
index d6edb65e96..97728e0141 100644
--- a/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml
@@ -150,6 +150,7 @@
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<flag name='acpi-erst'/>
+ <flag name='gtk'/>
<version>7001000</version>
<microcodeVersion>42900244</microcodeVersion>
<package>v7.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml b/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml
index fe318e0a52..bf9a38e123 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml
+++ b/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml
@@ -145,6 +145,7 @@
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<flag name='acpi-erst'/>
+ <flag name='gtk'/>
<version>7002000</version>
<microcodeVersion>0</microcodeVersion>
<package>qemu-7.2.0-6.fc37</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml
index 837502c336..d21b2cfddb 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml
@@ -160,6 +160,7 @@
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<flag name='acpi-erst'/>
+ <flag name='gtk'/>
<version>8002000</version>
<microcodeVersion>61700246</microcodeVersion>
<package>v8.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml
index f062f31abc..14013d1c1e 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml
@@ -167,6 +167,7 @@
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<flag name='acpi-erst'/>
+ <flag name='gtk'/>
<version>8002000</version>
<microcodeVersion>0</microcodeVersion>
<package>qemu-8.2.0-7.fc39</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml b/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml
index 2a37631381..37e8dbe371 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml
@@ -150,6 +150,7 @@
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<flag name='acpi-erst'/>
+ <flag name='gtk'/>
<version>8002000</version>
<microcodeVersion>106300246</microcodeVersion>
<package>v8.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_9.0.0_sparc.xml b/tests/qemucapabilitiesdata/caps_9.0.0_sparc.xml
index 38835ba0cb..703ec9a5a8 100644
--- a/tests/qemucapabilitiesdata/caps_9.0.0_sparc.xml
+++ b/tests/qemucapabilitiesdata/caps_9.0.0_sparc.xml
@@ -70,6 +70,7 @@
<flag name='blockjob.backing-mask-protocol'/>
<flag name='display-reload'/>
<flag name='netdev.user'/>
+ <flag name='gtk'/>
<version>9000000</version>
<microcodeVersion>0</microcodeVersion>
<package>qemu-9.0.0-1.fc40</package>
diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml b/tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml
index 0d566d13d5..d046779f9a 100644
--- a/tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml
@@ -125,6 +125,7 @@
<flag name='netdev.user'/>
<flag name='query-cpu-model-expansion.deprecated-props'/>
<flag name='migrate-incoming.exit-on-error'/>
+ <flag name='gtk'/>
<version>9001000</version>
<microcodeVersion>39100246</microcodeVersion>
<package>v9.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
index e1323f9b72..9b201aca19 100644
--- a/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
@@ -128,6 +128,7 @@
<flag name='netdev-stream-reconnect-miliseconds'/>
<flag name='query-cpu-model-expansion.deprecated-props'/>
<flag name='migrate-incoming.exit-on-error'/>
+ <flag name='gtk'/>
<version>9002000</version>
<microcodeVersion>39100247</microcodeVersion>
<package>v9.2.0</package>
--
2.49.0
2
6
Somewhat green-ish pipeline:
https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/1790043585
Jobs that failed are unrelated.
Thing is, our upstream pipeline started failing on Rawhide + gcc because
of IPA. The unfortunate part is, noinline does not guarantee the
function is mockable. The fortunate part is, GCC has noipa attribute
which is even advocated for in its documentation.
Given we are after the freeze and this is potentially hazardous, I'm
okay if this is merged after the release.
Michal Prívozník (3):
internal: Introduce ATTRIBUTE_NOIPA
src: s/G_NO_INLINE/ATTRIBUTE_NOIPA/
scripts: Adapt mock-noinline.py to ATTRIBUTE_NOIPA
build-aux/syntax-check.mk | 4 ++--
docs/coding-style.rst | 2 +-
scripts/cocci-macro-file.h | 1 +
scripts/meson.build | 2 +-
scripts/{mock-noinline.py => mock-noipa.py} | 6 +++---
src/cpu/cpu.h | 2 +-
src/hypervisor/domain_interface.h | 2 +-
src/internal.h | 21 +++++++++++++++++++++
src/libxl/libxl_capabilities.h | 2 +-
src/qemu/qemu_capabilities.h | 4 ++--
src/qemu/qemu_capspriv.h | 2 +-
src/qemu/qemu_command.h | 6 +++---
src/qemu/qemu_hotplug.c | 2 +-
src/qemu/qemu_hotplug.h | 2 +-
src/qemu/qemu_interface.h | 2 +-
src/qemu/qemu_monitor.h | 2 +-
src/qemu/qemu_monitor_json.h | 2 +-
src/qemu/qemu_monitor_priv.h | 2 +-
src/qemu/qemu_process.h | 6 +++---
src/rpc/virnetsocket.h | 4 ++--
src/util/vircgroupv2devices.h | 2 +-
src/util/vircommand.h | 2 +-
src/util/virdevmapper.h | 2 +-
src/util/virfile.h | 20 ++++++++++----------
src/util/virfirewalld.h | 2 +-
src/util/virhashcode.h | 2 +-
src/util/virhostcpu.h | 8 ++++----
src/util/virhostmem.h | 2 +-
src/util/virhostuptime.h | 2 +-
src/util/viridentitypriv.h | 2 +-
src/util/virmacaddr.h | 2 +-
src/util/virnetdev.h | 12 ++++++------
src/util/virnetdevbandwidth.h | 2 +-
src/util/virnetdevip.h | 2 +-
src/util/virnetdevmacvlan.h | 2 +-
src/util/virnetdevopenvswitch.h | 2 +-
src/util/virnetdevtap.h | 6 +++---
src/util/virnuma.h | 18 +++++++++---------
src/util/virpci.h | 2 +-
src/util/virprocess.h | 6 +++---
src/util/virrandom.h | 4 ++--
src/util/virscsi.h | 2 +-
src/util/virscsivhost.h | 2 +-
src/util/virtpm.h | 2 +-
src/util/virutil.h | 16 ++++++++--------
src/util/viruuid.h | 4 ++--
46 files changed, 113 insertions(+), 91 deletions(-)
rename scripts/{mock-noinline.py => mock-noipa.py} (93%)
--
2.49.0
2
5
[PATCH] domaincapstest: Remove XMLs for already dropped qemu versions (4.2.0 - 5.1.0)
by Peter Krempa 28 Apr '25
by Peter Krempa 28 Apr '25
28 Apr '25
From: Peter Krempa <pkrempa(a)redhat.com>
The files were forgotten after the previous bump to use qemu-5.2 as
minimum. The data for qemu-5.2, qemu-6.0, and qemu-6.1 was already
removed when bumping to qemu-6.2.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 329 -----------------
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 274 ---------------
.../qemu_4.2.0-virt.aarch64.xml | 206 -----------
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 206 -----------
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 174 ---------
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 280 ---------------
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 329 -----------------
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 331 ------------------
.../qemu_5.0.0-tcg-virt.riscv64.xml | 159 ---------
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 276 ---------------
.../qemu_5.0.0-virt.aarch64.xml | 219 ------------
.../qemu_5.0.0-virt.riscv64.xml | 162 ---------
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 219 ------------
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 181 ----------
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 331 ------------------
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 263 --------------
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 276 ---------------
tests/domaincapsdata/qemu_5.1.0.sparc.xml | 145 --------
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 263 --------------
19 files changed, 4623 deletions(-)
delete mode 100644 tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_4.2.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_4.2.0.ppc64.xml
delete mode 100644 tests/domaincapsdata/qemu_4.2.0.s390x.xml
delete mode 100644 tests/domaincapsdata/qemu_4.2.0.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.0.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.0.0.ppc64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.0.0.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.1.0.sparc.xml
delete mode 100644 tests/domaincapsdata/qemu_5.1.0.x86_64.xml
diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
deleted file mode 100644
index e5ffe3934d..0000000000
--- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
+++ /dev/null
@@ -1,329 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>kvm</domain>
- <machine>pc-q35-4.2</machine>
- <arch>x86_64</arch>
- <vcpu max='288'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>yes</value>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>Skylake-Client-IBRS</model>
- <vendor>Intel</vendor>
- <maxphysaddr mode='passthrough' limit='64'/>
- <feature policy='require' name='vmx'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='ss'/>
- <feature policy='require' name='tsc_adjust'/>
- <feature policy='require' name='mpx'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='umip'/>
- <feature policy='require' name='md-clear'/>
- <feature policy='require' name='stibp'/>
- <feature policy='require' name='arch-capabilities'/>
- <feature policy='require' name='ssbd'/>
- <feature policy='require' name='xsaves'/>
- <feature policy='require' name='pdpe1gb'/>
- <feature policy='require' name='invtsc'/>
- <feature policy='require' name='skip-l1dfl-vmentry'/>
- <feature policy='require' name='pschange-mc-no'/>
- <feature policy='require' name='vmx-ins-outs'/>
- <feature policy='require' name='vmx-true-ctls'/>
- <feature policy='require' name='vmx-store-lma'/>
- <feature policy='require' name='vmx-activity-hlt'/>
- <feature policy='require' name='vmx-vmwrite-vmexit-fields'/>
- <feature policy='require' name='vmx-apicv-xapic'/>
- <feature policy='require' name='vmx-ept'/>
- <feature policy='require' name='vmx-desc-exit'/>
- <feature policy='require' name='vmx-rdtscp-exit'/>
- <feature policy='require' name='vmx-apicv-x2apic'/>
- <feature policy='require' name='vmx-vpid'/>
- <feature policy='require' name='vmx-wbinvd-exit'/>
- <feature policy='require' name='vmx-unrestricted-guest'/>
- <feature policy='require' name='vmx-rdrand-exit'/>
- <feature policy='require' name='vmx-invpcid-exit'/>
- <feature policy='require' name='vmx-vmfunc'/>
- <feature policy='require' name='vmx-shadow-vmcs'/>
- <feature policy='require' name='vmx-rdseed-exit'/>
- <feature policy='require' name='vmx-pml'/>
- <feature policy='require' name='vmx-xsaves'/>
- <feature policy='require' name='vmx-ept-execonly'/>
- <feature policy='require' name='vmx-page-walk-4'/>
- <feature policy='require' name='vmx-ept-2mb'/>
- <feature policy='require' name='vmx-ept-1gb'/>
- <feature policy='require' name='vmx-invept'/>
- <feature policy='require' name='vmx-eptad'/>
- <feature policy='require' name='vmx-invept-single-context'/>
- <feature policy='require' name='vmx-invept-all-context'/>
- <feature policy='require' name='vmx-invvpid'/>
- <feature policy='require' name='vmx-invvpid-single-addr'/>
- <feature policy='require' name='vmx-invvpid-all-context'/>
- <feature policy='require' name='vmx-intr-exit'/>
- <feature policy='require' name='vmx-nmi-exit'/>
- <feature policy='require' name='vmx-vnmi'/>
- <feature policy='require' name='vmx-preemption-timer'/>
- <feature policy='require' name='vmx-vintr-pending'/>
- <feature policy='require' name='vmx-tsc-offset'/>
- <feature policy='require' name='vmx-hlt-exit'/>
- <feature policy='require' name='vmx-invlpg-exit'/>
- <feature policy='require' name='vmx-mwait-exit'/>
- <feature policy='require' name='vmx-rdpmc-exit'/>
- <feature policy='require' name='vmx-rdtsc-exit'/>
- <feature policy='require' name='vmx-cr3-load-noexit'/>
- <feature policy='require' name='vmx-cr3-store-noexit'/>
- <feature policy='require' name='vmx-cr8-load-exit'/>
- <feature policy='require' name='vmx-cr8-store-exit'/>
- <feature policy='require' name='vmx-flexpriority'/>
- <feature policy='require' name='vmx-vnmi-pending'/>
- <feature policy='require' name='vmx-movdr-exit'/>
- <feature policy='require' name='vmx-io-exit'/>
- <feature policy='require' name='vmx-io-bitmap'/>
- <feature policy='require' name='vmx-mtf'/>
- <feature policy='require' name='vmx-msr-bitmap'/>
- <feature policy='require' name='vmx-monitor-exit'/>
- <feature policy='require' name='vmx-pause-exit'/>
- <feature policy='require' name='vmx-secondary-ctls'/>
- <feature policy='require' name='vmx-exit-nosave-debugctl'/>
- <feature policy='require' name='vmx-exit-ack-intr'/>
- <feature policy='require' name='vmx-exit-save-pat'/>
- <feature policy='require' name='vmx-exit-load-pat'/>
- <feature policy='require' name='vmx-exit-save-efer'/>
- <feature policy='require' name='vmx-exit-load-efer'/>
- <feature policy='require' name='vmx-exit-save-preemption-timer'/>
- <feature policy='require' name='vmx-entry-noload-debugctl'/>
- <feature policy='require' name='vmx-entry-ia32e-mode'/>
- <feature policy='require' name='vmx-entry-load-pat'/>
- <feature policy='require' name='vmx-entry-load-efer'/>
- <feature policy='require' name='vmx-eptp-switching'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='yes' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='yes' vendor='Intel'>coreduo</model>
- <model usable='yes' vendor='Intel'>core2duo</model>
- <model usable='no' vendor='AMD'>athlon</model>
- <model usable='yes' vendor='Intel'>Westmere-IBRS</model>
- <model usable='yes' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='yes' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='yes' vendor='Intel'>Skylake-Client</model>
- <model usable='yes' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='no' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='yes' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='yes' vendor='Intel'>Nehalem</model>
- <model usable='yes' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='yes' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Haswell-noTSX</model>
- <model usable='yes' vendor='Intel'>Haswell-IBRS</model>
- <model usable='yes' vendor='Intel'>Haswell</model>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC</model>
- <model usable='no' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='yes' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='yes' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
deleted file mode 100644
index a849e8f156..0000000000
--- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
+++ /dev/null
@@ -1,274 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>qemu</domain>
- <machine>pc-i440fx-4.2</machine>
- <arch>x86_64</arch>
- <vcpu max='255'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='no'/>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>Opteron_G3</model>
- <vendor>AMD</vendor>
- <feature policy='require' name='pclmuldq'/>
- <feature policy='require' name='monitor'/>
- <feature policy='require' name='ssse3'/>
- <feature policy='require' name='sse4.1'/>
- <feature policy='require' name='sse4.2'/>
- <feature policy='require' name='movbe'/>
- <feature policy='require' name='aes'/>
- <feature policy='require' name='xsave'/>
- <feature policy='require' name='rdrand'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='acpi'/>
- <feature policy='require' name='ss'/>
- <feature policy='require' name='arat'/>
- <feature policy='require' name='fsgsbase'/>
- <feature policy='require' name='bmi1'/>
- <feature policy='require' name='smep'/>
- <feature policy='require' name='bmi2'/>
- <feature policy='require' name='erms'/>
- <feature policy='require' name='mpx'/>
- <feature policy='require' name='adx'/>
- <feature policy='require' name='smap'/>
- <feature policy='require' name='pcommit'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='clwb'/>
- <feature policy='require' name='pku'/>
- <feature policy='require' name='la57'/>
- <feature policy='require' name='xsaveopt'/>
- <feature policy='require' name='xgetbv1'/>
- <feature policy='require' name='cr8legacy'/>
- <feature policy='require' name='mmxext'/>
- <feature policy='require' name='pdpe1gb'/>
- <feature policy='require' name='3dnowext'/>
- <feature policy='require' name='3dnow'/>
- <feature policy='require' name='npt'/>
- <feature policy='disable' name='misalignsse'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='yes' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='yes' vendor='Intel'>coreduo</model>
- <model usable='yes' vendor='Intel'>core2duo</model>
- <model usable='yes' vendor='AMD'>athlon</model>
- <model usable='no' vendor='Intel'>Westmere-IBRS</model>
- <model usable='no' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client</model>
- <model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='no' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='no' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='no' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='no' vendor='Intel'>Nehalem</model>
- <model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='no' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX</model>
- <model usable='no' vendor='Intel'>Haswell-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell</model>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC</model>
- <model usable='no' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='no' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>ide</value>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
deleted file mode 100644
index a7c2e0baee..0000000000
--- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml
+++ /dev/null
@@ -1,206 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-aarch64</path>
- <domain>kvm</domain>
- <machine>virt-4.2</machine>
- <arch>aarch64</arch>
- <vcpu max='512'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='no'/>
- <mode name='custom' supported='yes'>
- <model usable='unknown' vendor='unknown'>pxa262</model>
- <model usable='unknown' vendor='unknown'>pxa270-a0</model>
- <model usable='unknown' vendor='unknown'>arm1136</model>
- <model usable='unknown' vendor='unknown'>cortex-a15</model>
- <model usable='unknown' vendor='unknown'>pxa260</model>
- <model usable='unknown' vendor='unknown'>arm1136-r2</model>
- <model usable='unknown' vendor='unknown'>pxa261</model>
- <model usable='unknown' vendor='unknown'>pxa255</model>
- <model usable='unknown' vendor='unknown'>cortex-a72</model>
- <model usable='unknown' vendor='unknown'>cortex-m33</model>
- <model usable='unknown' vendor='unknown'>arm926</model>
- <model usable='unknown' vendor='unknown'>cortex-r5f</model>
- <model usable='unknown' vendor='unknown'>arm11mpcore</model>
- <model usable='unknown' vendor='unknown'>pxa250</model>
- <model usable='unknown' vendor='unknown'>ti925t</model>
- <model usable='unknown' vendor='unknown'>cortex-a57</model>
- <model usable='unknown' vendor='unknown'>sa1110</model>
- <model usable='unknown' vendor='unknown'>arm1176</model>
- <model usable='unknown' vendor='unknown'>cortex-a53</model>
- <model usable='unknown' vendor='unknown'>sa1100</model>
- <model usable='unknown' vendor='unknown'>pxa270-c5</model>
- <model usable='unknown' vendor='unknown'>cortex-a9</model>
- <model usable='unknown' vendor='unknown'>cortex-a8</model>
- <model usable='unknown' vendor='unknown'>cortex-a7</model>
- <model usable='unknown' vendor='unknown'>pxa270-c0</model>
- <model usable='unknown' vendor='unknown'>arm1026</model>
- <model usable='unknown' vendor='unknown'>pxa270-b1</model>
- <model usable='unknown' vendor='unknown'>cortex-m3</model>
- <model usable='unknown' vendor='unknown'>max</model>
- <model usable='unknown' vendor='unknown'>cortex-m4</model>
- <model usable='unknown' vendor='unknown'>pxa270-b0</model>
- <model usable='unknown' vendor='unknown'>arm946</model>
- <model usable='unknown' vendor='unknown'>cortex-m0</model>
- <model usable='unknown' vendor='unknown'>cortex-r5</model>
- <model usable='unknown' vendor='unknown'>pxa270-a1</model>
- <model usable='unknown' vendor='unknown'>pxa270</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='no'/>
- <redirdev supported='no'/>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='yes'>
- <enum name='version'>
- <value>3</value>
- </enum>
- </gic>
- <vmcoreinfo supported='yes'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
deleted file mode 100644
index a7c2e0baee..0000000000
--- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml
+++ /dev/null
@@ -1,206 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-aarch64</path>
- <domain>kvm</domain>
- <machine>virt-4.2</machine>
- <arch>aarch64</arch>
- <vcpu max='512'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='no'/>
- <mode name='custom' supported='yes'>
- <model usable='unknown' vendor='unknown'>pxa262</model>
- <model usable='unknown' vendor='unknown'>pxa270-a0</model>
- <model usable='unknown' vendor='unknown'>arm1136</model>
- <model usable='unknown' vendor='unknown'>cortex-a15</model>
- <model usable='unknown' vendor='unknown'>pxa260</model>
- <model usable='unknown' vendor='unknown'>arm1136-r2</model>
- <model usable='unknown' vendor='unknown'>pxa261</model>
- <model usable='unknown' vendor='unknown'>pxa255</model>
- <model usable='unknown' vendor='unknown'>cortex-a72</model>
- <model usable='unknown' vendor='unknown'>cortex-m33</model>
- <model usable='unknown' vendor='unknown'>arm926</model>
- <model usable='unknown' vendor='unknown'>cortex-r5f</model>
- <model usable='unknown' vendor='unknown'>arm11mpcore</model>
- <model usable='unknown' vendor='unknown'>pxa250</model>
- <model usable='unknown' vendor='unknown'>ti925t</model>
- <model usable='unknown' vendor='unknown'>cortex-a57</model>
- <model usable='unknown' vendor='unknown'>sa1110</model>
- <model usable='unknown' vendor='unknown'>arm1176</model>
- <model usable='unknown' vendor='unknown'>cortex-a53</model>
- <model usable='unknown' vendor='unknown'>sa1100</model>
- <model usable='unknown' vendor='unknown'>pxa270-c5</model>
- <model usable='unknown' vendor='unknown'>cortex-a9</model>
- <model usable='unknown' vendor='unknown'>cortex-a8</model>
- <model usable='unknown' vendor='unknown'>cortex-a7</model>
- <model usable='unknown' vendor='unknown'>pxa270-c0</model>
- <model usable='unknown' vendor='unknown'>arm1026</model>
- <model usable='unknown' vendor='unknown'>pxa270-b1</model>
- <model usable='unknown' vendor='unknown'>cortex-m3</model>
- <model usable='unknown' vendor='unknown'>max</model>
- <model usable='unknown' vendor='unknown'>cortex-m4</model>
- <model usable='unknown' vendor='unknown'>pxa270-b0</model>
- <model usable='unknown' vendor='unknown'>arm946</model>
- <model usable='unknown' vendor='unknown'>cortex-m0</model>
- <model usable='unknown' vendor='unknown'>cortex-r5</model>
- <model usable='unknown' vendor='unknown'>pxa270-a1</model>
- <model usable='unknown' vendor='unknown'>pxa270</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='no'/>
- <redirdev supported='no'/>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='yes'>
- <enum name='version'>
- <value>3</value>
- </enum>
- </gic>
- <vmcoreinfo supported='yes'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
deleted file mode 100644
index 2c41777e73..0000000000
--- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-ppc64</path>
- <domain>kvm</domain>
- <machine>pseries-4.2</machine>
- <arch>ppc64</arch>
- <vcpu max='1024'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'/>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='allow'>POWER8</model>
- <maxphysaddr mode='passthrough' limit='64'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='unknown' vendor='IBM'>POWER9</model>
- <model usable='unknown' vendor='IBM'>POWER8</model>
- <model usable='unknown' vendor='IBM'>POWER7</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>spapr-tpm-proxy</value>
- </enum>
- <enum name='backendModel'/>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='no'/>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='no'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0.s390x.xml b/tests/domaincapsdata/qemu_4.2.0.s390x.xml
deleted file mode 100644
index 809ce9c903..0000000000
--- a/tests/domaincapsdata/qemu_4.2.0.s390x.xml
+++ /dev/null
@@ -1,280 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-s390x</path>
- <domain>kvm</domain>
- <machine>s390-ccw-virtio-4.2</machine>
- <arch>s390x</arch>
- <vcpu max='248'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'/>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>gen15a-base</model>
- <feature policy='require' name='aen'/>
- <feature policy='require' name='cmmnt'/>
- <feature policy='require' name='vxpdeh'/>
- <feature policy='require' name='aefsi'/>
- <feature policy='require' name='csske'/>
- <feature policy='require' name='mepoch'/>
- <feature policy='require' name='msa9'/>
- <feature policy='require' name='msa8'/>
- <feature policy='require' name='msa7'/>
- <feature policy='require' name='msa6'/>
- <feature policy='require' name='msa5'/>
- <feature policy='require' name='msa4'/>
- <feature policy='require' name='msa3'/>
- <feature policy='require' name='msa2'/>
- <feature policy='require' name='msa1'/>
- <feature policy='require' name='sthyi'/>
- <feature policy='require' name='edat'/>
- <feature policy='require' name='ri'/>
- <feature policy='require' name='deflate'/>
- <feature policy='require' name='edat2'/>
- <feature policy='require' name='etoken'/>
- <feature policy='require' name='vx'/>
- <feature policy='require' name='ipter'/>
- <feature policy='require' name='mepochptff'/>
- <feature policy='require' name='ap'/>
- <feature policy='require' name='vxeh'/>
- <feature policy='require' name='vxpd'/>
- <feature policy='require' name='esop'/>
- <feature policy='require' name='msa9_pckmo'/>
- <feature policy='require' name='vxeh2'/>
- <feature policy='require' name='esort'/>
- <feature policy='require' name='apqi'/>
- <feature policy='require' name='apft'/>
- <feature policy='require' name='iep'/>
- <feature policy='require' name='apqci'/>
- <feature policy='require' name='cte'/>
- <feature policy='require' name='bpb'/>
- <feature policy='require' name='gs'/>
- <feature policy='require' name='ppa15'/>
- <feature policy='require' name='zpci'/>
- <feature policy='require' name='sea_esop2'/>
- <feature policy='require' name='te'/>
- <feature policy='require' name='cmm'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='IBM'>z800-base</model>
- <model usable='yes' vendor='IBM'>z890.2-base</model>
- <model usable='yes' vendor='IBM'>z9EC.2</model>
- <model usable='yes' vendor='IBM'>z13.2</model>
- <model usable='yes' vendor='IBM'>z9BC-base</model>
- <model usable='yes' vendor='IBM'>z990.5-base</model>
- <model usable='yes' vendor='IBM'>z890.2</model>
- <model usable='yes' vendor='IBM'>z890</model>
- <model usable='yes' vendor='IBM'>z9BC</model>
- <model usable='yes' vendor='IBM'>z13</model>
- <model usable='yes' vendor='IBM'>z196</model>
- <model usable='yes' vendor='IBM'>z13s</model>
- <model usable='yes' vendor='IBM'>z990.3</model>
- <model usable='yes' vendor='IBM'>z13s-base</model>
- <model usable='yes' vendor='IBM'>z9EC</model>
- <model usable='yes' vendor='IBM'>gen15a</model>
- <model usable='yes' vendor='IBM'>z14ZR1-base</model>
- <model usable='yes' vendor='IBM'>z14.2-base</model>
- <model usable='yes' vendor='IBM'>z900.3-base</model>
- <model usable='yes' vendor='IBM'>z13.2-base</model>
- <model usable='yes' vendor='IBM'>z196.2-base</model>
- <model usable='yes' vendor='IBM'>zBC12-base</model>
- <model usable='yes' vendor='IBM'>z9BC.2-base</model>
- <model usable='yes' vendor='IBM'>z900.2-base</model>
- <model usable='yes' vendor='IBM'>z9EC.3</model>
- <model usable='yes' vendor='IBM'>zEC12</model>
- <model usable='yes' vendor='IBM'>z900</model>
- <model usable='yes' vendor='IBM'>z114-base</model>
- <model usable='yes' vendor='IBM'>zEC12-base</model>
- <model usable='yes' vendor='IBM'>z10EC.2</model>
- <model usable='yes' vendor='IBM'>z10EC-base</model>
- <model usable='yes' vendor='IBM'>z900.3</model>
- <model usable='yes' vendor='IBM'>z14ZR1</model>
- <model usable='yes' vendor='IBM'>z10BC</model>
- <model usable='yes' vendor='IBM'>z10BC.2-base</model>
- <model usable='yes' vendor='IBM'>z990.2</model>
- <model usable='yes' vendor='IBM'>z9BC.2</model>
- <model usable='yes' vendor='IBM'>z990</model>
- <model usable='yes' vendor='IBM'>z14</model>
- <model usable='yes' vendor='IBM'>gen15b-base</model>
- <model usable='yes' vendor='IBM'>z990.4</model>
- <model usable='yes' vendor='unknown'>max</model>
- <model usable='yes' vendor='IBM'>z10EC.2-base</model>
- <model usable='yes' vendor='IBM'>gen15a-base</model>
- <model usable='yes' vendor='IBM'>z800</model>
- <model usable='yes' vendor='IBM'>zEC12.2</model>
- <model usable='yes' vendor='IBM'>z10EC</model>
- <model usable='yes' vendor='IBM'>z990.2-base</model>
- <model usable='yes' vendor='IBM'>z900-base</model>
- <model usable='yes' vendor='IBM'>z10BC.2</model>
- <model usable='yes' vendor='IBM'>z9EC-base</model>
- <model usable='yes' vendor='IBM'>z9EC.3-base</model>
- <model usable='yes' vendor='IBM'>z114</model>
- <model usable='yes' vendor='IBM'>z890.3</model>
- <model usable='yes' vendor='IBM'>z196-base</model>
- <model usable='yes' vendor='IBM'>z9EC.2-base</model>
- <model usable='yes' vendor='IBM'>z196.2</model>
- <model usable='yes' vendor='IBM'>z14.2</model>
- <model usable='yes' vendor='IBM'>z990-base</model>
- <model usable='yes' vendor='IBM'>z900.2</model>
- <model usable='yes' vendor='IBM'>z890-base</model>
- <model usable='yes' vendor='IBM'>z10EC.3</model>
- <model usable='yes' vendor='IBM'>z14-base</model>
- <model usable='yes' vendor='IBM'>z990.4-base</model>
- <model usable='yes' vendor='IBM'>z10EC.3-base</model>
- <model usable='yes' vendor='IBM'>z10BC-base</model>
- <model usable='yes' vendor='IBM'>z13-base</model>
- <model usable='yes' vendor='IBM'>z990.3-base</model>
- <model usable='yes' vendor='IBM'>zEC12.2-base</model>
- <model usable='yes' vendor='IBM'>zBC12</model>
- <model usable='yes' vendor='IBM'>z890.3-base</model>
- <model usable='yes' vendor='IBM'>z990.5</model>
- <model usable='yes' vendor='IBM'>gen15b</model>
- <model usable='no' vendor='unknown'>qemu</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>virtio</value>
- <value>none</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='no'/>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='no'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <s390-pv supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
deleted file mode 100644
index 32ba46ebbc..0000000000
--- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
+++ /dev/null
@@ -1,329 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>kvm</domain>
- <machine>pc-i440fx-4.2</machine>
- <arch>x86_64</arch>
- <vcpu max='255'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>Skylake-Client-IBRS</model>
- <vendor>Intel</vendor>
- <maxphysaddr mode='passthrough' limit='64'/>
- <feature policy='require' name='vmx'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='ss'/>
- <feature policy='require' name='tsc_adjust'/>
- <feature policy='require' name='mpx'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='umip'/>
- <feature policy='require' name='md-clear'/>
- <feature policy='require' name='stibp'/>
- <feature policy='require' name='arch-capabilities'/>
- <feature policy='require' name='ssbd'/>
- <feature policy='require' name='xsaves'/>
- <feature policy='require' name='pdpe1gb'/>
- <feature policy='require' name='invtsc'/>
- <feature policy='require' name='skip-l1dfl-vmentry'/>
- <feature policy='require' name='pschange-mc-no'/>
- <feature policy='require' name='vmx-ins-outs'/>
- <feature policy='require' name='vmx-true-ctls'/>
- <feature policy='require' name='vmx-store-lma'/>
- <feature policy='require' name='vmx-activity-hlt'/>
- <feature policy='require' name='vmx-vmwrite-vmexit-fields'/>
- <feature policy='require' name='vmx-apicv-xapic'/>
- <feature policy='require' name='vmx-ept'/>
- <feature policy='require' name='vmx-desc-exit'/>
- <feature policy='require' name='vmx-rdtscp-exit'/>
- <feature policy='require' name='vmx-apicv-x2apic'/>
- <feature policy='require' name='vmx-vpid'/>
- <feature policy='require' name='vmx-wbinvd-exit'/>
- <feature policy='require' name='vmx-unrestricted-guest'/>
- <feature policy='require' name='vmx-rdrand-exit'/>
- <feature policy='require' name='vmx-invpcid-exit'/>
- <feature policy='require' name='vmx-vmfunc'/>
- <feature policy='require' name='vmx-shadow-vmcs'/>
- <feature policy='require' name='vmx-rdseed-exit'/>
- <feature policy='require' name='vmx-pml'/>
- <feature policy='require' name='vmx-xsaves'/>
- <feature policy='require' name='vmx-ept-execonly'/>
- <feature policy='require' name='vmx-page-walk-4'/>
- <feature policy='require' name='vmx-ept-2mb'/>
- <feature policy='require' name='vmx-ept-1gb'/>
- <feature policy='require' name='vmx-invept'/>
- <feature policy='require' name='vmx-eptad'/>
- <feature policy='require' name='vmx-invept-single-context'/>
- <feature policy='require' name='vmx-invept-all-context'/>
- <feature policy='require' name='vmx-invvpid'/>
- <feature policy='require' name='vmx-invvpid-single-addr'/>
- <feature policy='require' name='vmx-invvpid-all-context'/>
- <feature policy='require' name='vmx-intr-exit'/>
- <feature policy='require' name='vmx-nmi-exit'/>
- <feature policy='require' name='vmx-vnmi'/>
- <feature policy='require' name='vmx-preemption-timer'/>
- <feature policy='require' name='vmx-vintr-pending'/>
- <feature policy='require' name='vmx-tsc-offset'/>
- <feature policy='require' name='vmx-hlt-exit'/>
- <feature policy='require' name='vmx-invlpg-exit'/>
- <feature policy='require' name='vmx-mwait-exit'/>
- <feature policy='require' name='vmx-rdpmc-exit'/>
- <feature policy='require' name='vmx-rdtsc-exit'/>
- <feature policy='require' name='vmx-cr3-load-noexit'/>
- <feature policy='require' name='vmx-cr3-store-noexit'/>
- <feature policy='require' name='vmx-cr8-load-exit'/>
- <feature policy='require' name='vmx-cr8-store-exit'/>
- <feature policy='require' name='vmx-flexpriority'/>
- <feature policy='require' name='vmx-vnmi-pending'/>
- <feature policy='require' name='vmx-movdr-exit'/>
- <feature policy='require' name='vmx-io-exit'/>
- <feature policy='require' name='vmx-io-bitmap'/>
- <feature policy='require' name='vmx-mtf'/>
- <feature policy='require' name='vmx-msr-bitmap'/>
- <feature policy='require' name='vmx-monitor-exit'/>
- <feature policy='require' name='vmx-pause-exit'/>
- <feature policy='require' name='vmx-secondary-ctls'/>
- <feature policy='require' name='vmx-exit-nosave-debugctl'/>
- <feature policy='require' name='vmx-exit-ack-intr'/>
- <feature policy='require' name='vmx-exit-save-pat'/>
- <feature policy='require' name='vmx-exit-load-pat'/>
- <feature policy='require' name='vmx-exit-save-efer'/>
- <feature policy='require' name='vmx-exit-load-efer'/>
- <feature policy='require' name='vmx-exit-save-preemption-timer'/>
- <feature policy='require' name='vmx-entry-noload-debugctl'/>
- <feature policy='require' name='vmx-entry-ia32e-mode'/>
- <feature policy='require' name='vmx-entry-load-pat'/>
- <feature policy='require' name='vmx-entry-load-efer'/>
- <feature policy='require' name='vmx-eptp-switching'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='yes' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='yes' vendor='Intel'>coreduo</model>
- <model usable='yes' vendor='Intel'>core2duo</model>
- <model usable='no' vendor='AMD'>athlon</model>
- <model usable='yes' vendor='Intel'>Westmere-IBRS</model>
- <model usable='yes' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='yes' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='yes' vendor='Intel'>Skylake-Client</model>
- <model usable='yes' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='no' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='yes' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='yes' vendor='Intel'>Nehalem</model>
- <model usable='yes' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='yes' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Haswell-noTSX</model>
- <model usable='yes' vendor='Intel'>Haswell-IBRS</model>
- <model usable='yes' vendor='Intel'>Haswell</model>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC</model>
- <model usable='no' vendor='Hygon'>Dhyana</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='yes' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='yes' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>ide</value>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
deleted file mode 100644
index 70bd7bc46e..0000000000
--- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
+++ /dev/null
@@ -1,331 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>kvm</domain>
- <machine>pc-q35-5.0</machine>
- <arch>x86_64</arch>
- <vcpu max='288'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>yes</value>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>Skylake-Client-IBRS</model>
- <vendor>Intel</vendor>
- <maxphysaddr mode='passthrough' limit='64'/>
- <feature policy='require' name='vmx'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='ss'/>
- <feature policy='require' name='tsc_adjust'/>
- <feature policy='require' name='mpx'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='umip'/>
- <feature policy='require' name='md-clear'/>
- <feature policy='require' name='stibp'/>
- <feature policy='require' name='arch-capabilities'/>
- <feature policy='require' name='ssbd'/>
- <feature policy='require' name='xsaves'/>
- <feature policy='require' name='pdpe1gb'/>
- <feature policy='require' name='invtsc'/>
- <feature policy='require' name='skip-l1dfl-vmentry'/>
- <feature policy='require' name='pschange-mc-no'/>
- <feature policy='require' name='vmx-ins-outs'/>
- <feature policy='require' name='vmx-true-ctls'/>
- <feature policy='require' name='vmx-store-lma'/>
- <feature policy='require' name='vmx-activity-hlt'/>
- <feature policy='require' name='vmx-vmwrite-vmexit-fields'/>
- <feature policy='require' name='vmx-apicv-xapic'/>
- <feature policy='require' name='vmx-ept'/>
- <feature policy='require' name='vmx-desc-exit'/>
- <feature policy='require' name='vmx-rdtscp-exit'/>
- <feature policy='require' name='vmx-apicv-x2apic'/>
- <feature policy='require' name='vmx-vpid'/>
- <feature policy='require' name='vmx-wbinvd-exit'/>
- <feature policy='require' name='vmx-unrestricted-guest'/>
- <feature policy='require' name='vmx-rdrand-exit'/>
- <feature policy='require' name='vmx-invpcid-exit'/>
- <feature policy='require' name='vmx-vmfunc'/>
- <feature policy='require' name='vmx-shadow-vmcs'/>
- <feature policy='require' name='vmx-rdseed-exit'/>
- <feature policy='require' name='vmx-pml'/>
- <feature policy='require' name='vmx-xsaves'/>
- <feature policy='require' name='vmx-ept-execonly'/>
- <feature policy='require' name='vmx-page-walk-4'/>
- <feature policy='require' name='vmx-ept-2mb'/>
- <feature policy='require' name='vmx-ept-1gb'/>
- <feature policy='require' name='vmx-invept'/>
- <feature policy='require' name='vmx-eptad'/>
- <feature policy='require' name='vmx-invept-single-context'/>
- <feature policy='require' name='vmx-invept-all-context'/>
- <feature policy='require' name='vmx-invvpid'/>
- <feature policy='require' name='vmx-invvpid-single-addr'/>
- <feature policy='require' name='vmx-invvpid-all-context'/>
- <feature policy='require' name='vmx-intr-exit'/>
- <feature policy='require' name='vmx-nmi-exit'/>
- <feature policy='require' name='vmx-vnmi'/>
- <feature policy='require' name='vmx-preemption-timer'/>
- <feature policy='require' name='vmx-vintr-pending'/>
- <feature policy='require' name='vmx-tsc-offset'/>
- <feature policy='require' name='vmx-hlt-exit'/>
- <feature policy='require' name='vmx-invlpg-exit'/>
- <feature policy='require' name='vmx-mwait-exit'/>
- <feature policy='require' name='vmx-rdpmc-exit'/>
- <feature policy='require' name='vmx-rdtsc-exit'/>
- <feature policy='require' name='vmx-cr3-load-noexit'/>
- <feature policy='require' name='vmx-cr3-store-noexit'/>
- <feature policy='require' name='vmx-cr8-load-exit'/>
- <feature policy='require' name='vmx-cr8-store-exit'/>
- <feature policy='require' name='vmx-flexpriority'/>
- <feature policy='require' name='vmx-vnmi-pending'/>
- <feature policy='require' name='vmx-movdr-exit'/>
- <feature policy='require' name='vmx-io-exit'/>
- <feature policy='require' name='vmx-io-bitmap'/>
- <feature policy='require' name='vmx-mtf'/>
- <feature policy='require' name='vmx-msr-bitmap'/>
- <feature policy='require' name='vmx-monitor-exit'/>
- <feature policy='require' name='vmx-pause-exit'/>
- <feature policy='require' name='vmx-secondary-ctls'/>
- <feature policy='require' name='vmx-exit-nosave-debugctl'/>
- <feature policy='require' name='vmx-exit-ack-intr'/>
- <feature policy='require' name='vmx-exit-save-pat'/>
- <feature policy='require' name='vmx-exit-load-pat'/>
- <feature policy='require' name='vmx-exit-save-efer'/>
- <feature policy='require' name='vmx-exit-load-efer'/>
- <feature policy='require' name='vmx-exit-save-preemption-timer'/>
- <feature policy='require' name='vmx-entry-noload-debugctl'/>
- <feature policy='require' name='vmx-entry-ia32e-mode'/>
- <feature policy='require' name='vmx-entry-load-pat'/>
- <feature policy='require' name='vmx-entry-load-efer'/>
- <feature policy='require' name='vmx-eptp-switching'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='yes' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='yes' vendor='Intel'>coreduo</model>
- <model usable='yes' vendor='Intel'>core2duo</model>
- <model usable='no' vendor='AMD'>athlon</model>
- <model usable='yes' vendor='Intel'>Westmere-IBRS</model>
- <model usable='yes' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='yes' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='yes' vendor='Intel'>Skylake-Client</model>
- <model usable='yes' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='no' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='yes' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='yes' vendor='Intel'>Nehalem</model>
- <model usable='yes' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='yes' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Haswell-noTSX</model>
- <model usable='yes' vendor='Intel'>Haswell-IBRS</model>
- <model usable='yes' vendor='Intel'>Haswell</model>
- <model usable='no' vendor='AMD'>EPYC-Rome</model>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC</model>
- <model usable='no' vendor='Hygon'>Dhyana</model>
- <model usable='no' vendor='Intel'>Cooperlake</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='yes' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='yes' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml
deleted file mode 100644
index c487d467ef..0000000000
--- a/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml
+++ /dev/null
@@ -1,159 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-riscv64</path>
- <domain>qemu</domain>
- <machine>virt</machine>
- <arch>riscv64</arch>
- <vcpu max='8'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'/>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='no'/>
- <mode name='maximum' supported='no'/>
- <mode name='host-model' supported='no'/>
- <mode name='custom' supported='no'/>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='no'/>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='no'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
deleted file mode 100644
index d69ea76a78..0000000000
--- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
+++ /dev/null
@@ -1,276 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>qemu</domain>
- <machine>pc-i440fx-5.0</machine>
- <arch>x86_64</arch>
- <vcpu max='255'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='no'/>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>Opteron_G3</model>
- <vendor>AMD</vendor>
- <feature policy='require' name='pclmuldq'/>
- <feature policy='require' name='monitor'/>
- <feature policy='require' name='ssse3'/>
- <feature policy='require' name='sse4.1'/>
- <feature policy='require' name='sse4.2'/>
- <feature policy='require' name='movbe'/>
- <feature policy='require' name='aes'/>
- <feature policy='require' name='xsave'/>
- <feature policy='require' name='rdrand'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='acpi'/>
- <feature policy='require' name='ss'/>
- <feature policy='require' name='arat'/>
- <feature policy='require' name='fsgsbase'/>
- <feature policy='require' name='bmi1'/>
- <feature policy='require' name='smep'/>
- <feature policy='require' name='bmi2'/>
- <feature policy='require' name='erms'/>
- <feature policy='require' name='mpx'/>
- <feature policy='require' name='adx'/>
- <feature policy='require' name='smap'/>
- <feature policy='require' name='pcommit'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='clwb'/>
- <feature policy='require' name='pku'/>
- <feature policy='require' name='la57'/>
- <feature policy='require' name='xsaveopt'/>
- <feature policy='require' name='xgetbv1'/>
- <feature policy='require' name='cr8legacy'/>
- <feature policy='require' name='mmxext'/>
- <feature policy='require' name='pdpe1gb'/>
- <feature policy='require' name='3dnowext'/>
- <feature policy='require' name='3dnow'/>
- <feature policy='require' name='npt'/>
- <feature policy='disable' name='misalignsse'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='yes' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='yes' vendor='Intel'>coreduo</model>
- <model usable='yes' vendor='Intel'>core2duo</model>
- <model usable='yes' vendor='AMD'>athlon</model>
- <model usable='no' vendor='Intel'>Westmere-IBRS</model>
- <model usable='yes' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client</model>
- <model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='no' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='no' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='no' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='yes' vendor='Intel'>Nehalem</model>
- <model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='no' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX</model>
- <model usable='no' vendor='Intel'>Haswell-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell</model>
- <model usable='no' vendor='AMD'>EPYC-Rome</model>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC</model>
- <model usable='no' vendor='Hygon'>Dhyana</model>
- <model usable='no' vendor='Intel'>Cooperlake</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='no' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>ide</value>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
deleted file mode 100644
index 2466dda755..0000000000
--- a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-aarch64</path>
- <domain>kvm</domain>
- <machine>virt-5.0</machine>
- <arch>aarch64</arch>
- <vcpu max='512'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='no'/>
- <mode name='custom' supported='yes'>
- <model usable='unknown' vendor='unknown'>cortex-a9</model>
- <model usable='unknown' vendor='unknown'>pxa250</model>
- <model usable='unknown' vendor='unknown'>pxa270-a1</model>
- <model usable='unknown' vendor='unknown'>arm946</model>
- <model usable='unknown' vendor='unknown'>pxa270-c0</model>
- <model usable='unknown' vendor='unknown'>max</model>
- <model usable='unknown' vendor='unknown'>arm1026</model>
- <model usable='unknown' vendor='unknown'>pxa260</model>
- <model usable='unknown' vendor='unknown'>pxa270-b1</model>
- <model usable='unknown' vendor='unknown'>cortex-a57</model>
- <model usable='unknown' vendor='unknown'>pxa255</model>
- <model usable='unknown' vendor='unknown'>cortex-r5</model>
- <model usable='unknown' vendor='unknown'>arm1136</model>
- <model usable='unknown' vendor='unknown'>cortex-a7</model>
- <model usable='unknown' vendor='unknown'>pxa261</model>
- <model usable='unknown' vendor='unknown'>pxa270-c5</model>
- <model usable='unknown' vendor='unknown'>cortex-m3</model>
- <model usable='unknown' vendor='unknown'>arm1176</model>
- <model usable='unknown' vendor='unknown'>sa1100</model>
- <model usable='unknown' vendor='unknown'>cortex-a53</model>
- <model usable='unknown' vendor='unknown'>ti925t</model>
- <model usable='unknown' vendor='unknown'>cortex-m33</model>
- <model usable='unknown' vendor='unknown'>cortex-a8</model>
- <model usable='unknown' vendor='unknown'>arm926</model>
- <model usable='unknown' vendor='unknown'>cortex-a72</model>
- <model usable='unknown' vendor='unknown'>pxa270</model>
- <model usable='unknown' vendor='unknown'>pxa270-a0</model>
- <model usable='unknown' vendor='unknown'>cortex-m4</model>
- <model usable='unknown' vendor='unknown'>cortex-m7</model>
- <model usable='unknown' vendor='unknown'>cortex-a15</model>
- <model usable='unknown' vendor='unknown'>arm11mpcore</model>
- <model usable='unknown' vendor='unknown'>cortex-r5f</model>
- <model usable='unknown' vendor='unknown'>cortex-m0</model>
- <model usable='unknown' vendor='unknown'>sa1110</model>
- <model usable='unknown' vendor='unknown'>arm1136-r2</model>
- <model usable='unknown' vendor='unknown'>pxa270-b0</model>
- <model usable='unknown' vendor='unknown'>pxa262</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='no'/>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='yes'>
- <enum name='version'>
- <value>3</value>
- </enum>
- </gic>
- <vmcoreinfo supported='yes'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml b/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml
deleted file mode 100644
index b0e4aafcd5..0000000000
--- a/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-riscv64</path>
- <domain>kvm</domain>
- <machine>virt</machine>
- <arch>riscv64</arch>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'/>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='no'/>
- <mode name='host-model' supported='no'/>
- <mode name='custom' supported='no'/>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='no'/>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='no'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
deleted file mode 100644
index 2466dda755..0000000000
--- a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-aarch64</path>
- <domain>kvm</domain>
- <machine>virt-5.0</machine>
- <arch>aarch64</arch>
- <vcpu max='512'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='no'/>
- <mode name='custom' supported='yes'>
- <model usable='unknown' vendor='unknown'>cortex-a9</model>
- <model usable='unknown' vendor='unknown'>pxa250</model>
- <model usable='unknown' vendor='unknown'>pxa270-a1</model>
- <model usable='unknown' vendor='unknown'>arm946</model>
- <model usable='unknown' vendor='unknown'>pxa270-c0</model>
- <model usable='unknown' vendor='unknown'>max</model>
- <model usable='unknown' vendor='unknown'>arm1026</model>
- <model usable='unknown' vendor='unknown'>pxa260</model>
- <model usable='unknown' vendor='unknown'>pxa270-b1</model>
- <model usable='unknown' vendor='unknown'>cortex-a57</model>
- <model usable='unknown' vendor='unknown'>pxa255</model>
- <model usable='unknown' vendor='unknown'>cortex-r5</model>
- <model usable='unknown' vendor='unknown'>arm1136</model>
- <model usable='unknown' vendor='unknown'>cortex-a7</model>
- <model usable='unknown' vendor='unknown'>pxa261</model>
- <model usable='unknown' vendor='unknown'>pxa270-c5</model>
- <model usable='unknown' vendor='unknown'>cortex-m3</model>
- <model usable='unknown' vendor='unknown'>arm1176</model>
- <model usable='unknown' vendor='unknown'>sa1100</model>
- <model usable='unknown' vendor='unknown'>cortex-a53</model>
- <model usable='unknown' vendor='unknown'>ti925t</model>
- <model usable='unknown' vendor='unknown'>cortex-m33</model>
- <model usable='unknown' vendor='unknown'>cortex-a8</model>
- <model usable='unknown' vendor='unknown'>arm926</model>
- <model usable='unknown' vendor='unknown'>cortex-a72</model>
- <model usable='unknown' vendor='unknown'>pxa270</model>
- <model usable='unknown' vendor='unknown'>pxa270-a0</model>
- <model usable='unknown' vendor='unknown'>cortex-m4</model>
- <model usable='unknown' vendor='unknown'>cortex-m7</model>
- <model usable='unknown' vendor='unknown'>cortex-a15</model>
- <model usable='unknown' vendor='unknown'>arm11mpcore</model>
- <model usable='unknown' vendor='unknown'>cortex-r5f</model>
- <model usable='unknown' vendor='unknown'>cortex-m0</model>
- <model usable='unknown' vendor='unknown'>sa1110</model>
- <model usable='unknown' vendor='unknown'>arm1136-r2</model>
- <model usable='unknown' vendor='unknown'>pxa270-b0</model>
- <model usable='unknown' vendor='unknown'>pxa262</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='no'/>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='yes'>
- <enum name='version'>
- <value>3</value>
- </enum>
- </gic>
- <vmcoreinfo supported='yes'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
deleted file mode 100644
index c66d0645fc..0000000000
--- a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-ppc64</path>
- <domain>kvm</domain>
- <machine>pseries-5.0</machine>
- <arch>ppc64</arch>
- <vcpu max='1024'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'/>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='allow'>POWER8</model>
- <maxphysaddr mode='passthrough' limit='64'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='unknown' vendor='IBM'>POWER10</model>
- <model usable='unknown' vendor='IBM'>POWER9</model>
- <model usable='unknown' vendor='IBM'>POWER8</model>
- <model usable='unknown' vendor='IBM'>POWER7</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-spapr</value>
- <value>spapr-tpm-proxy</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='no'/>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='no'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
deleted file mode 100644
index c57d4f3283..0000000000
--- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
+++ /dev/null
@@ -1,331 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>kvm</domain>
- <machine>pc-i440fx-5.0</machine>
- <arch>x86_64</arch>
- <vcpu max='255'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>Skylake-Client-IBRS</model>
- <vendor>Intel</vendor>
- <maxphysaddr mode='passthrough' limit='64'/>
- <feature policy='require' name='vmx'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='ss'/>
- <feature policy='require' name='tsc_adjust'/>
- <feature policy='require' name='mpx'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='umip'/>
- <feature policy='require' name='md-clear'/>
- <feature policy='require' name='stibp'/>
- <feature policy='require' name='arch-capabilities'/>
- <feature policy='require' name='ssbd'/>
- <feature policy='require' name='xsaves'/>
- <feature policy='require' name='pdpe1gb'/>
- <feature policy='require' name='invtsc'/>
- <feature policy='require' name='skip-l1dfl-vmentry'/>
- <feature policy='require' name='pschange-mc-no'/>
- <feature policy='require' name='vmx-ins-outs'/>
- <feature policy='require' name='vmx-true-ctls'/>
- <feature policy='require' name='vmx-store-lma'/>
- <feature policy='require' name='vmx-activity-hlt'/>
- <feature policy='require' name='vmx-vmwrite-vmexit-fields'/>
- <feature policy='require' name='vmx-apicv-xapic'/>
- <feature policy='require' name='vmx-ept'/>
- <feature policy='require' name='vmx-desc-exit'/>
- <feature policy='require' name='vmx-rdtscp-exit'/>
- <feature policy='require' name='vmx-apicv-x2apic'/>
- <feature policy='require' name='vmx-vpid'/>
- <feature policy='require' name='vmx-wbinvd-exit'/>
- <feature policy='require' name='vmx-unrestricted-guest'/>
- <feature policy='require' name='vmx-rdrand-exit'/>
- <feature policy='require' name='vmx-invpcid-exit'/>
- <feature policy='require' name='vmx-vmfunc'/>
- <feature policy='require' name='vmx-shadow-vmcs'/>
- <feature policy='require' name='vmx-rdseed-exit'/>
- <feature policy='require' name='vmx-pml'/>
- <feature policy='require' name='vmx-xsaves'/>
- <feature policy='require' name='vmx-ept-execonly'/>
- <feature policy='require' name='vmx-page-walk-4'/>
- <feature policy='require' name='vmx-ept-2mb'/>
- <feature policy='require' name='vmx-ept-1gb'/>
- <feature policy='require' name='vmx-invept'/>
- <feature policy='require' name='vmx-eptad'/>
- <feature policy='require' name='vmx-invept-single-context'/>
- <feature policy='require' name='vmx-invept-all-context'/>
- <feature policy='require' name='vmx-invvpid'/>
- <feature policy='require' name='vmx-invvpid-single-addr'/>
- <feature policy='require' name='vmx-invvpid-all-context'/>
- <feature policy='require' name='vmx-intr-exit'/>
- <feature policy='require' name='vmx-nmi-exit'/>
- <feature policy='require' name='vmx-vnmi'/>
- <feature policy='require' name='vmx-preemption-timer'/>
- <feature policy='require' name='vmx-vintr-pending'/>
- <feature policy='require' name='vmx-tsc-offset'/>
- <feature policy='require' name='vmx-hlt-exit'/>
- <feature policy='require' name='vmx-invlpg-exit'/>
- <feature policy='require' name='vmx-mwait-exit'/>
- <feature policy='require' name='vmx-rdpmc-exit'/>
- <feature policy='require' name='vmx-rdtsc-exit'/>
- <feature policy='require' name='vmx-cr3-load-noexit'/>
- <feature policy='require' name='vmx-cr3-store-noexit'/>
- <feature policy='require' name='vmx-cr8-load-exit'/>
- <feature policy='require' name='vmx-cr8-store-exit'/>
- <feature policy='require' name='vmx-flexpriority'/>
- <feature policy='require' name='vmx-vnmi-pending'/>
- <feature policy='require' name='vmx-movdr-exit'/>
- <feature policy='require' name='vmx-io-exit'/>
- <feature policy='require' name='vmx-io-bitmap'/>
- <feature policy='require' name='vmx-mtf'/>
- <feature policy='require' name='vmx-msr-bitmap'/>
- <feature policy='require' name='vmx-monitor-exit'/>
- <feature policy='require' name='vmx-pause-exit'/>
- <feature policy='require' name='vmx-secondary-ctls'/>
- <feature policy='require' name='vmx-exit-nosave-debugctl'/>
- <feature policy='require' name='vmx-exit-ack-intr'/>
- <feature policy='require' name='vmx-exit-save-pat'/>
- <feature policy='require' name='vmx-exit-load-pat'/>
- <feature policy='require' name='vmx-exit-save-efer'/>
- <feature policy='require' name='vmx-exit-load-efer'/>
- <feature policy='require' name='vmx-exit-save-preemption-timer'/>
- <feature policy='require' name='vmx-entry-noload-debugctl'/>
- <feature policy='require' name='vmx-entry-ia32e-mode'/>
- <feature policy='require' name='vmx-entry-load-pat'/>
- <feature policy='require' name='vmx-entry-load-efer'/>
- <feature policy='require' name='vmx-eptp-switching'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='yes' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='yes' vendor='Intel'>coreduo</model>
- <model usable='yes' vendor='Intel'>core2duo</model>
- <model usable='no' vendor='AMD'>athlon</model>
- <model usable='yes' vendor='Intel'>Westmere-IBRS</model>
- <model usable='yes' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='yes' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='yes' vendor='Intel'>Skylake-Client</model>
- <model usable='yes' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='no' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='yes' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='yes' vendor='Intel'>Nehalem</model>
- <model usable='yes' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='yes' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Haswell-noTSX</model>
- <model usable='yes' vendor='Intel'>Haswell-IBRS</model>
- <model usable='yes' vendor='Intel'>Haswell</model>
- <model usable='no' vendor='AMD'>EPYC-Rome</model>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC</model>
- <model usable='no' vendor='Hygon'>Dhyana</model>
- <model usable='no' vendor='Intel'>Cooperlake</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='yes' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='yes' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='yes' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>ide</value>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
deleted file mode 100644
index f276f0b735..0000000000
--- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>kvm</domain>
- <machine>pc-q35-5.1</machine>
- <arch>x86_64</arch>
- <vcpu max='288'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>yes</value>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>EPYC-Rome</model>
- <vendor>AMD</vendor>
- <maxphysaddr mode='passthrough' limit='64'/>
- <feature policy='require' name='x2apic'/>
- <feature policy='require' name='tsc-deadline'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='tsc_adjust'/>
- <feature policy='require' name='stibp'/>
- <feature policy='require' name='arch-capabilities'/>
- <feature policy='require' name='ssbd'/>
- <feature policy='require' name='xsaves'/>
- <feature policy='require' name='cmp_legacy'/>
- <feature policy='require' name='invtsc'/>
- <feature policy='require' name='amd-ssbd'/>
- <feature policy='require' name='virt-ssbd'/>
- <feature policy='require' name='rdctl-no'/>
- <feature policy='require' name='skip-l1dfl-vmentry'/>
- <feature policy='require' name='mds-no'/>
- <feature policy='require' name='pschange-mc-no'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='no' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='no' vendor='Intel'>coreduo</model>
- <model usable='no' vendor='Intel'>core2duo</model>
- <model usable='no' vendor='AMD'>athlon</model>
- <model usable='no' vendor='Intel'>Westmere-IBRS</model>
- <model usable='yes' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client</model>
- <model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='yes' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='no' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='yes' vendor='Intel'>Nehalem</model>
- <model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='no' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX</model>
- <model usable='no' vendor='Intel'>Haswell-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell</model>
- <model usable='yes' vendor='AMD'>EPYC-Rome</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='no' vendor='Intel'>Cooperlake</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='no' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
deleted file mode 100644
index eea710a054..0000000000
--- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
+++ /dev/null
@@ -1,276 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>qemu</domain>
- <machine>pc-i440fx-5.1</machine>
- <arch>x86_64</arch>
- <vcpu max='255'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='no'/>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>Opteron_G3</model>
- <vendor>AMD</vendor>
- <feature policy='require' name='pclmuldq'/>
- <feature policy='require' name='monitor'/>
- <feature policy='require' name='ssse3'/>
- <feature policy='require' name='sse4.1'/>
- <feature policy='require' name='sse4.2'/>
- <feature policy='require' name='movbe'/>
- <feature policy='require' name='aes'/>
- <feature policy='require' name='xsave'/>
- <feature policy='require' name='rdrand'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='acpi'/>
- <feature policy='require' name='ss'/>
- <feature policy='require' name='arat'/>
- <feature policy='require' name='fsgsbase'/>
- <feature policy='require' name='bmi1'/>
- <feature policy='require' name='smep'/>
- <feature policy='require' name='bmi2'/>
- <feature policy='require' name='erms'/>
- <feature policy='require' name='mpx'/>
- <feature policy='require' name='adx'/>
- <feature policy='require' name='smap'/>
- <feature policy='require' name='pcommit'/>
- <feature policy='require' name='clflushopt'/>
- <feature policy='require' name='clwb'/>
- <feature policy='require' name='pku'/>
- <feature policy='require' name='la57'/>
- <feature policy='require' name='xsaveopt'/>
- <feature policy='require' name='xgetbv1'/>
- <feature policy='require' name='cr8legacy'/>
- <feature policy='require' name='mmxext'/>
- <feature policy='require' name='pdpe1gb'/>
- <feature policy='require' name='3dnowext'/>
- <feature policy='require' name='3dnow'/>
- <feature policy='require' name='npt'/>
- <feature policy='disable' name='misalignsse'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='yes' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='yes' vendor='Intel'>coreduo</model>
- <model usable='yes' vendor='Intel'>core2duo</model>
- <model usable='yes' vendor='AMD'>athlon</model>
- <model usable='no' vendor='Intel'>Westmere-IBRS</model>
- <model usable='yes' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client</model>
- <model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='no' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='no' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='no' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='yes' vendor='Intel'>Nehalem</model>
- <model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='no' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX</model>
- <model usable='no' vendor='Intel'>Haswell-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell</model>
- <model usable='no' vendor='AMD'>EPYC-Rome</model>
- <model usable='no' vendor='AMD'>EPYC-IBPB</model>
- <model usable='no' vendor='AMD'>EPYC</model>
- <model usable='no' vendor='Hygon'>Dhyana</model>
- <model usable='no' vendor='Intel'>Cooperlake</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='no' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>ide</value>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.1.0.sparc.xml b/tests/domaincapsdata/qemu_5.1.0.sparc.xml
deleted file mode 100644
index a471a937d7..0000000000
--- a/tests/domaincapsdata/qemu_5.1.0.sparc.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-sparc</path>
- <domain>kvm</domain>
- <machine>SS-5</machine>
- <arch>sparc</arch>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'/>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='no'/>
- <mode name='host-model' supported='no'/>
- <mode name='custom' supported='no'/>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>none</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'/>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- </enum>
- </filesystem>
- <tpm supported='no'/>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'/>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='no'/>
- <genid supported='no'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
deleted file mode 100644
index 56e30cc302..0000000000
--- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<domainCapabilities>
- <path>/usr/bin/qemu-system-x86_64</path>
- <domain>kvm</domain>
- <machine>pc-i440fx-5.1</machine>
- <arch>x86_64</arch>
- <vcpu max='255'/>
- <iothreads supported='yes'/>
- <os supported='yes'>
- <enum name='firmware'>
- <value>bios</value>
- <value>efi</value>
- </enum>
- <loader supported='yes'>
- <value>/obviously/fake/firmware1.fd</value>
- <value>/obviously/fake/firmware2.fd</value>
- <enum name='type'>
- <value>rom</value>
- <value>pflash</value>
- </enum>
- <enum name='readonly'>
- <value>yes</value>
- <value>no</value>
- </enum>
- <enum name='secure'>
- <value>no</value>
- </enum>
- </loader>
- </os>
- <cpu>
- <mode name='host-passthrough' supported='yes'>
- <enum name='hostPassthroughMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='maximum' supported='yes'>
- <enum name='maximumMigratable'>
- <value>on</value>
- <value>off</value>
- </enum>
- </mode>
- <mode name='host-model' supported='yes'>
- <model fallback='forbid'>EPYC-Rome</model>
- <vendor>AMD</vendor>
- <maxphysaddr mode='passthrough' limit='64'/>
- <feature policy='require' name='x2apic'/>
- <feature policy='require' name='tsc-deadline'/>
- <feature policy='require' name='hypervisor'/>
- <feature policy='require' name='tsc_adjust'/>
- <feature policy='require' name='stibp'/>
- <feature policy='require' name='arch-capabilities'/>
- <feature policy='require' name='ssbd'/>
- <feature policy='require' name='xsaves'/>
- <feature policy='require' name='cmp_legacy'/>
- <feature policy='require' name='invtsc'/>
- <feature policy='require' name='amd-ssbd'/>
- <feature policy='require' name='virt-ssbd'/>
- <feature policy='require' name='rdctl-no'/>
- <feature policy='require' name='skip-l1dfl-vmentry'/>
- <feature policy='require' name='mds-no'/>
- <feature policy='require' name='pschange-mc-no'/>
- </mode>
- <mode name='custom' supported='yes'>
- <model usable='yes' vendor='unknown'>qemu64</model>
- <model usable='yes' vendor='unknown'>qemu32</model>
- <model usable='no' vendor='AMD'>phenom</model>
- <model usable='yes' vendor='unknown'>pentium3</model>
- <model usable='yes' vendor='unknown'>pentium2</model>
- <model usable='yes' vendor='unknown'>pentium</model>
- <model usable='no' vendor='Intel'>n270</model>
- <model usable='yes' vendor='unknown'>kvm64</model>
- <model usable='yes' vendor='unknown'>kvm32</model>
- <model usable='no' vendor='Intel'>coreduo</model>
- <model usable='no' vendor='Intel'>core2duo</model>
- <model usable='no' vendor='AMD'>athlon</model>
- <model usable='no' vendor='Intel'>Westmere-IBRS</model>
- <model usable='yes' vendor='Intel'>Westmere</model>
- <model usable='no' vendor='Intel'>Snowridge</model>
- <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Server</model>
- <model usable='no' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client-IBRS</model>
- <model usable='no' vendor='Intel'>Skylake-Client</model>
- <model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
- <model usable='yes' vendor='Intel'>SandyBridge</model>
- <model usable='yes' vendor='Intel'>Penryn</model>
- <model usable='no' vendor='AMD'>Opteron_G5</model>
- <model usable='no' vendor='AMD'>Opteron_G4</model>
- <model usable='yes' vendor='AMD'>Opteron_G3</model>
- <model usable='yes' vendor='AMD'>Opteron_G2</model>
- <model usable='yes' vendor='AMD'>Opteron_G1</model>
- <model usable='no' vendor='Intel'>Nehalem-IBRS</model>
- <model usable='yes' vendor='Intel'>Nehalem</model>
- <model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
- <model usable='no' vendor='Intel'>IvyBridge</model>
- <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Server</model>
- <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
- <model usable='no' vendor='Intel'>Icelake-Client</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell-noTSX</model>
- <model usable='no' vendor='Intel'>Haswell-IBRS</model>
- <model usable='no' vendor='Intel'>Haswell</model>
- <model usable='yes' vendor='AMD'>EPYC-Rome</model>
- <model usable='yes' vendor='AMD'>EPYC-IBPB</model>
- <model usable='yes' vendor='AMD'>EPYC</model>
- <model usable='yes' vendor='Hygon'>Dhyana</model>
- <model usable='no' vendor='Intel'>Cooperlake</model>
- <model usable='yes' vendor='Intel'>Conroe</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
- <model usable='no' vendor='Intel'>Cascadelake-Server</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell-noTSX</model>
- <model usable='no' vendor='Intel'>Broadwell-IBRS</model>
- <model usable='no' vendor='Intel'>Broadwell</model>
- <model usable='yes' vendor='unknown'>486</model>
- </mode>
- </cpu>
- <memoryBacking supported='yes'>
- <enum name='sourceType'>
- <value>file</value>
- <value>anonymous</value>
- <value>memfd</value>
- </enum>
- </memoryBacking>
- <devices>
- <disk supported='yes'>
- <enum name='diskDevice'>
- <value>disk</value>
- <value>cdrom</value>
- <value>floppy</value>
- <value>lun</value>
- </enum>
- <enum name='bus'>
- <value>ide</value>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>usb</value>
- <value>sata</value>
- </enum>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- </disk>
- <graphics supported='yes'>
- <enum name='type'>
- <value>sdl</value>
- <value>vnc</value>
- <value>spice</value>
- <value>egl-headless</value>
- </enum>
- </graphics>
- <video supported='yes'>
- <enum name='modelType'>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>qxl</value>
- <value>virtio</value>
- <value>none</value>
- <value>bochs</value>
- <value>ramfb</value>
- </enum>
- </video>
- <hostdev supported='yes'>
- <enum name='mode'>
- <value>subsystem</value>
- </enum>
- <enum name='startupPolicy'>
- <value>default</value>
- <value>mandatory</value>
- <value>requisite</value>
- <value>optional</value>
- </enum>
- <enum name='subsysType'>
- <value>usb</value>
- <value>pci</value>
- <value>scsi</value>
- </enum>
- <enum name='capsType'/>
- <enum name='pciBackend'>
- <value>default</value>
- <value>vfio</value>
- </enum>
- </hostdev>
- <rng supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- <value>virtio-transitional</value>
- <value>virtio-non-transitional</value>
- </enum>
- <enum name='backendModel'>
- <value>random</value>
- <value>egd</value>
- <value>builtin</value>
- </enum>
- </rng>
- <filesystem supported='yes'>
- <enum name='driverType'>
- <value>path</value>
- <value>handle</value>
- <value>virtiofs</value>
- </enum>
- </filesystem>
- <tpm supported='yes'>
- <enum name='model'>
- <value>tpm-tis</value>
- <value>tpm-crb</value>
- </enum>
- <enum name='backendModel'>
- <value>passthrough</value>
- <value>emulator</value>
- <value>external</value>
- </enum>
- <enum name='backendVersion'>
- <value>1.2</value>
- </enum>
- </tpm>
- <redirdev supported='yes'>
- <enum name='bus'>
- <value>usb</value>
- </enum>
- </redirdev>
- <channel supported='yes'>
- <enum name='type'>
- <value>pty</value>
- <value>unix</value>
- <value>spicevmc</value>
- </enum>
- </channel>
- <crypto supported='yes'>
- <enum name='model'>
- <value>virtio</value>
- </enum>
- <enum name='type'>
- <value>qemu</value>
- </enum>
- <enum name='backendModel'>
- <value>builtin</value>
- </enum>
- </crypto>
- <interface supported='yes'>
- <enum name='backendType'>
- <value>default</value>
- </enum>
- </interface>
- </devices>
- <features>
- <gic supported='no'/>
- <vmcoreinfo supported='yes'/>
- <genid supported='yes'/>
- <backingStoreInput supported='yes'/>
- <backup supported='no'/>
- <async-teardown supported='no'/>
- <sev supported='no'/>
- <sgx supported='no'/>
- <launchSecurity supported='no'/>
- </features>
-</domainCapabilities>
--
2.49.0
2
1
[PATCH] qemucapabilitiesdata: Enable GTK graphics for 'caps_10.0.0_x86_64'
by Peter Krempa 28 Apr '25
by Peter Krempa 28 Apr '25
28 Apr '25
From: Peter Krempa <pkrempa(a)redhat.com>
The common x86_64 test output was usually built without GTK as I've had
that in my build script for a long time. Enable it now as GTK UI is
enabled by many distros and upcoming patches plan to add support to
libvirt as well.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
tests/qemucapabilitiesdata/caps_10.0.0_x86_64.replies | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.replies b/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.replies
index c2fd4f8d3d..6b2a2c2af7 100644
--- a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.replies
@@ -5581,6 +5581,10 @@
"name": "142",
"tag": "type",
"variants": [
+ {
+ "case": "gtk",
+ "type": "422"
+ },
{
"case": "curses",
"type": "424"
@@ -13701,6 +13705,9 @@
{
"name": "none"
},
+ {
+ "name": "gtk"
+ },
{
"name": "sdl"
},
@@ -13721,6 +13728,7 @@
"values": [
"default",
"none",
+ "gtk",
"sdl",
"egl-headless",
"curses",
--
2.49.0
2
1
I have just tagged v11.3.0-rc1 in the repository and pushed signed
tarballs to https://download.libvirt.org/
Please give the release candidate some testing and in case you find a
serious issue which should have a fix in the upcoming release, feel
free to reply to this thread to make sure the issue is more visible.
If you have not done so yet, please update NEWS.rst to document any
significant change you made since the last release.
Thanks,
Jirka
1
0
From: QiangWei Zhang <zhang.qiangwei(a)zte.com.cn>
Swap the order of the two objects to ensure that the logic of the
two objects translated into Chinese is correct.
Signed-off-by: QiangWei Zhang <zhang.qiangwei(a)zte.com.cn>
---
po/zh_CN.po | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/po/zh_CN.po b/po/zh_CN.po
index bf04782f88..73f7aa0549 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -5802,11 +5802,11 @@ msgstr "��� '%1$s' ���������������"
#, c-format
msgid "Domain '%1$s' created from %2$s\n"
-msgstr "��� %1$s ������������ '%2$s'\n"
+msgstr "��� %2$s ������������ '%1$s'\n"
#, c-format
msgid "Domain '%1$s' defined from %2$s\n"
-msgstr "��� %1$s ������������ '%2$s'\n"
+msgstr "��� %2$s ������������ '%1$s'\n"
#, c-format
msgid "Domain '%1$s' destroyed\n"
@@ -8770,7 +8770,7 @@ msgstr "������������ '%1$s' ��������������� 0 ������������"
#, c-format
msgid "Failed to unbind PCI device '%1$s' from %2$s"
-msgstr "��� %1$s ��������������� PCI ������ '%2$s' ������"
+msgstr "��� %2$s ��������������� PCI ������ '%1$s' ������"
#, c-format
msgid "Failed to undefine bridge interface %1$s"
@@ -9798,7 +9798,7 @@ msgstr "��������� %1$s XML ���������\n"
#, c-format
msgid "Interface %1$s defined from %2$s\n"
-msgstr "������ %1$s ��������������� %2$s\n"
+msgstr "������ %2$s ��������������� %1$s\n"
#, c-format
msgid "Interface %1$s destroyed\n"
@@ -12240,11 +12240,11 @@ msgstr "��������������� %1$s XML ������\n"
#, c-format
msgid "Network %1$s created from %2$s\n"
-msgstr "���%1$s������������%2$s\n"
+msgstr "���%2$s������������%1$s\n"
#, c-format
msgid "Network %1$s defined from %2$s\n"
-msgstr "��� %1$s������������%2$s\n"
+msgstr "��� %2$s������������%1$s\n"
#, c-format
msgid "Network %1$s destroyed\n"
@@ -12325,7 +12325,7 @@ msgstr "��������������������������� %1$s XML ������\n"
#, c-format
msgid "Network filter %1$s defined from %2$s\n"
-msgstr "������ %1$s ������������������������ %2$s\n"
+msgstr "������ %2$s ������������������������ %1$s\n"
#, c-format
msgid "Network filter %1$s undefined\n"
@@ -12340,7 +12340,7 @@ msgstr "���������������������������������%1$s"
#, c-format
msgid "Network filter binding on %1$s created from %2$s\n"
-msgstr "���%1$s ��������� %2$s ���������������������������\n"
+msgstr "���%2$s ��������� %1$s ���������������������������\n"
#, c-format
msgid "Network filter binding on %1$s deleted\n"
@@ -12376,7 +12376,7 @@ msgstr "���������������: %1$s"
#, c-format
msgid "Network port %1$s created from %2$s\n"
-msgstr "��� %1$s ��������������������� %2$s\n"
+msgstr "��� %2$s ��������������������� %1$s\n"
#, c-format
msgid "Network port %1$s deleted\n"
@@ -12805,7 +12805,7 @@ msgstr "������������������"
#, c-format
msgid "Node device %1$s created from %2$s\n"
-msgstr "������ %1$s ��������������������� %2$s\n"
+msgstr "������ %2$s ��������������������� %1$s\n"
#, c-format
msgid "Node device '%1$s' defined from '%2$s'\n"
@@ -13609,7 +13609,7 @@ msgstr "��������� %1$s\n"
#, c-format
msgid "Pool %1$s created from %2$s\n"
-msgstr "��� %1$s ������������ %2$s\n"
+msgstr "��� %2$s ������������ %1$s\n"
#, c-format
msgid "Pool %1$s defined\n"
@@ -13617,7 +13617,7 @@ msgstr "��������� %1$s\n"
#, c-format
msgid "Pool %1$s defined from %2$s\n"
-msgstr "��� %1$s ������������ %2$s\n"
+msgstr "��� %2$s ������������ %1$s\n"
#, c-format
msgid "Pool %1$s deleted\n"
@@ -20571,7 +20571,7 @@ msgstr "���������������������������������������������������"
#, c-format
msgid "Vol %1$s cloned from %2$s\n"
-msgstr "��� %1$s ������������ %2$s\n"
+msgstr "��� %2$s ������������ %1$s\n"
#, c-format
msgid "Vol %1$s created\n"
@@ -20579,7 +20579,7 @@ msgstr "��� %1$s ���������\n"
#, c-format
msgid "Vol %1$s created from %2$s\n"
-msgstr "��� %1$s ������������ %2$s\n"
+msgstr "��� %2$s ������������ %1$s\n"
#, c-format
msgid "Vol %1$s created from input vol %2$s\n"
--
2.27.0
3
2
[PATCH] qemuxmlactivetest: Don't segfault when capability XMLs are invalid
by Peter Krempa 25 Apr '25
by Peter Krempa 25 Apr '25
25 Apr '25
From: Peter Krempa <pkrempa(a)redhat.com>
This is purely a devel-time problem in the test suite.
'qemuxmlactivetest' invokes the whole test worker twice, once for
inactive output and second time for active.
Now 'testQemuInfoInitArgs' returns a failure if the XML is invalid and
the test is skipped. On another invocation though it returns 0 if
'testQemuInfoSetArgs' was not invoked meanwhile and thus makes it seem
it succeeded which leads to a crash in the code assuming that some
pointers are valid.
Use same interlocking as 'qemuxmlconftest' to skip the second invocation
on failure of the first one.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
tests/qemuxmlactivetest.c | 67 +++++++++++++++++++++++++--------------
1 file changed, 43 insertions(+), 24 deletions(-)
diff --git a/tests/qemuxmlactivetest.c b/tests/qemuxmlactivetest.c
index b132b91623..de2b1e48eb 100644
--- a/tests/qemuxmlactivetest.c
+++ b/tests/qemuxmlactivetest.c
@@ -87,6 +87,45 @@ testRunStatus(const char *name,
}
+static int
+testqemuActiveXML2XMLCommonPrepare(testQemuInfo *info)
+{
+ if (info->prepared)
+ return 0;
+
+ if (testQemuInfoInitArgs((testQemuInfo *) info) < 0)
+ goto error;
+
+ virFileCacheClear(driver.qemuCapsCache);
+
+ if (qemuTestCapsCacheInsert(driver.qemuCapsCache, info->qemuCaps) < 0)
+ goto error;
+
+ if (!(info->def = virDomainDefParseFile(info->infile,
+ driver.xmlopt, NULL,
+ info->parseFlags)))
+ goto error;
+
+ if (!virDomainDefCheckABIStability(info->def, info->def, driver.xmlopt)) {
+ VIR_TEST_DEBUG("ABI stability check failed on %s", info->infile);
+ goto error;
+ }
+
+ /* make sure that the XML definition looks active, by setting an ID
+ * as otherwise the XML formatter will simply assume that it's inactive */
+ if (info->def->id == -1)
+ info->def->id = 1337;
+
+ info->prepared = true;
+ return 0;
+
+ error:
+ info->prep_skip = true;
+ info->prepared = true;
+ return -1;
+}
+
+
static int
testqemuActiveXML2XMLCommon(testQemuInfo *info,
bool live)
@@ -95,31 +134,11 @@ testqemuActiveXML2XMLCommon(testQemuInfo *info,
const char *outfile = info->out_xml_active;
unsigned int format_flags = VIR_DOMAIN_DEF_FORMAT_SECURE;
- /* Prepare the test data and parse the input just once */
- if (!info->def) {
- if (testQemuInfoInitArgs((testQemuInfo *) info) < 0)
- return -1;
-
- virFileCacheClear(driver.qemuCapsCache);
+ if (info->prep_skip)
+ return EXIT_AM_SKIP;
- if (qemuTestCapsCacheInsert(driver.qemuCapsCache, info->qemuCaps) < 0)
- return -1;
-
- if (!(info->def = virDomainDefParseFile(info->infile,
- driver.xmlopt, NULL,
- info->parseFlags)))
- return -1;
-
- if (!virDomainDefCheckABIStability(info->def, info->def, driver.xmlopt)) {
- VIR_TEST_DEBUG("ABI stability check failed on %s", info->infile);
- return -1;
- }
-
- /* make sure that the XML definition looks active, by setting an ID
- * as otherwise the XML formatter will simply assume that it's inactive */
- if (info->def->id == -1)
- info->def->id = 1337;
- }
+ if (testqemuActiveXML2XMLCommonPrepare(info) < 0)
+ return -1;
if (!live) {
format_flags |= VIR_DOMAIN_DEF_FORMAT_INACTIVE;
--
2.49.0
2
1
Yanqiu Zhang reported [1] that when a vlan is defined with a single
vlan id and native mode set to tagged, the vlan was not setup correctly
using the standard Linux bridge functionality. This is due a conflict
between the XML validation and the bridge functionality.
The XML validation will allow a single vlan id to be configured with
native mode set to tagged without setting the vlan mode to trunked. If
the vlan is explicitly set to "trunk='no'" then the validation will
correctly reject the configuration.
Rather than force the user to specify "trunk='yes'", update the code to
infer trunk='yes' if a single vlan id is configured with native mode set
to a non-default value. It already infers trunk='yes' if more than one
vlan id is specified.
Reported-by: Yanqiu Zhang <yanqzhan(a)redhat.com>
Closes: https://gitlab.com/libvirt/libvirt/-/issues/767 [1]
Signed-off-by: Leigh Brown <leigh(a)solinno.co.uk>
---
src/conf/netdev_vlan_conf.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/conf/netdev_vlan_conf.c b/src/conf/netdev_vlan_conf.c
index 1ac66aec54..300d0d8e86 100644
--- a/src/conf/netdev_vlan_conf.c
+++ b/src/conf/netdev_vlan_conf.c
@@ -87,12 +87,13 @@ virNetDevVlanParse(xmlNodePtr node, xmlXPathContextPtr ctxt, virNetDevVlan *def)
def->nTags = nTags;
- /* now that we know how many tags there are, look for an explicit
- * trunk setting.
+ /* In case the trunk attribute is not specified, infer it from
+ * the number of tags or use of native vlan mode.
*/
- if (nTags > 1)
+ if (nTags > 1 || def->nativeMode != 0)
def->trunk = true;
+ /* Look for and validate an explicit trunk setting. */
ctxt->node = node;
if ((trunk = virXPathString("string(./@trunk)", ctxt)) != NULL) {
def->trunk = STRCASEEQ(trunk, "yes");
--
2.49.0
1
0
In case of a host that has a large number of cpus offline the count of
host cpus and the last bit set in the virHostCPUGetOnlineBitmap might
diverge significantly. This can e.g. be the case when disabeling smt via
/sys/devices/system/cpu/smt/control.
On the host this looks like:
```
$ cat /sys/devices/system/cpu/present
0-255
$ cat /sys/devices/system/cpu/online
0-127
```
However in this case virBitmapToData previously only allocated 16 bytes
for the output bitmap. This is becase the last set bit is on the 15th
byte.
Users of virHostCPUGetMap however rely on the "cpumap" containing enough
space for all existing cpus (so they would expect 32 bytes in this case).
E.g. cmdNodeCpuMap relies on this for its output. It will then actually
read 32 bytes from the start of the "cpumap" address where in this case
the last 16 of these bytes are uninitialized.
This manifests itself in flapping outputs of "virsh nodecpumap --pretty" like:
```
$ virsh nodecpumap --pretty
CPUs present: 256
CPUs online: 128
CPU map: 0-127,192,194,202
$ virsh nodecpumap --pretty
CPUs present: 256
CPUs online: 128
CPU map: 0-127,192,194,197
$ virsh nodecpumap --pretty
CPUs present: 256
CPUs online: 128
CPU map: 0-127,192,194,196-197
```
This in turn potentially causes users of this data to report wrong cpu
counts.
Note that this only seems to happen with at least 256 phyiscal cpus
where at least 128 are offline.
We fix this by preallocating the expected bitmap size.
Signed-off-by: Felix Huettner <felix.huettner(a)stackit.cloud>
---
src/util/virhostcpu.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c
index 5dbcc8987c..626faa88cf 100644
--- a/src/util/virhostcpu.c
+++ b/src/util/virhostcpu.c
@@ -1091,22 +1091,26 @@ virHostCPUGetMap(unsigned char **cpumap,
{
g_autoptr(virBitmap) cpus = NULL;
int ret = -1;
- int dummy;
virCheckFlags(0, -1);
+ ret = virHostCPUGetCount();
+
if (!cpumap && !online)
- return virHostCPUGetCount();
+ return ret;
if (!(cpus = virHostCPUGetOnlineBitmap()))
goto cleanup;
- if (cpumap)
- virBitmapToData(cpus, cpumap, &dummy);
+ if (cpumap) {
+ int len = (ret + CHAR_BIT) / CHAR_BIT;
+ *cpumap = g_new0(unsigned char, len);
+ virBitmapToDataBuf(cpus, *cpumap, len);
+ }
+
if (online)
*online = virBitmapCountBits(cpus);
- ret = virHostCPUGetCount();
cleanup:
if (ret < 0 && cpumap)
base-commit: c5a73f75bc6cae4f466d0a6344d5b3277ac9c2f4
--
2.43.0
2
2
[PATCH 0/2] qemucapabilitiestest: Update of x86_64 test data for qemu-10.0 release
by Peter Krempa 24 Apr '25
by Peter Krempa 24 Apr '25
24 Apr '25
Peter Krempa (2):
qemucapabilitiestest: Final update for qemu-10.0 release on x86_64
qemucapabilitiestest: Final update for qemu-10.0 release on x86_64 of
the 'amdsev' variant
.../caps_10.0.0_x86_64+amdsev.replies | 199 ++++++++++--------
.../caps_10.0.0_x86_64+amdsev.xml | 9 +-
.../caps_10.0.0_x86_64.replies | 16 +-
.../caps_10.0.0_x86_64.xml | 12 +-
4 files changed, 127 insertions(+), 109 deletions(-)
--
2.49.0
2
3
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
libvirt.spec.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index cb41ea1de1..9217820137 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -8,7 +8,9 @@
%define arches_qemu_kvm %{ix86} x86_64 %{power64} %{arm} aarch64 s390x riscv64
%if 0%{?rhel}
- %if 0%{?rhel} > 8
+ %if 0%{?rhel} >= 10
+ %define arches_qemu_kvm x86_64 aarch64 s390x riscv64
+ %elif 0%{?rhel} >= 9
%define arches_qemu_kvm x86_64 aarch64 s390x
%else
%define arches_qemu_kvm x86_64 %{power64} aarch64 s390x
--
2.48.1
2
4
Re: [PATCH] qemuSnapshotDeleteValidate: Fix crash when disk is
not found in VM definition
by jungleman759 24 Apr '25
by jungleman759 24 Apr '25
24 Apr '25
Hi
Thanks for following up, and sorry for the delay in getting back to you.
You're right to suspect the issue might be related to device changes. Here’s how the crash can be triggered:
The VM initially uses a SATA controller, with a disk defined as:
xml
复制编辑
<controller type="scsi" index="0" model="lsilogic"></controller> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/Testguest.qcow2'/> <target dev='sda' bus='sata'/> </disk>
A snapshot is created at this point — which records the disk as sda.
Later, the VM is reconfigured to use a virtio controller, and the disk is now assigned as vda.
When the VM is running and the snapshot is deleted, the snapshot code still expects to find a disk named sda in the current VM definition.
Because of this mismatch, qemuDomainDiskByName() returns NULL, and the crash occurs when the result is used without a null check.
This can easily happen during controller or disk bus reconfiguration between snapshot and deletion. The patch adds sanity checks to ensure we don’t dereference a null pointer in this situation.
Let me know if you’d like me to adjust the wording in the error messages or add a reproducer for automated testing.
Best regards,
kaihuan
Martin Kletzander <mkletzan(a)redhat.com> 于2025年1月22日周三 21:05写道:
On Fri, Nov 29, 2024 at 10:56:45PM +0800, kaihuan wrote:
>qemuDomainDiskByName() can return a NULL pointer on failure.
>But this returned value in qemuSnapshotDeleteValidate is not checked.It will make libvirtd crash.
>
Hi, looking through old unreviewed patches I found this one. Sorry for
the wait. Can you explain whether you found out how to trigger that?
This looks like there is some other issue that causes a snapshot having
a disk that is not in the domain. Does that happen when you want to
delete a snapshot after unplugging a disk?
>Signed-off-by: kaihuan <jungleman759(a)gmail.com>
>---
> src/qemu/qemu_snapshot.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
>diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
>index 18b2e478f6..bcbd913073 100644
>--- a/src/qemu/qemu_snapshot.c
>+++ b/src/qemu/qemu_snapshot.c
>@@ -4242,8 +4242,19 @@ qemuSnapshotDeleteValidate(virDomainObj *vm,
> virDomainDiskDef *vmdisk = NULL;
> virDomainDiskDef *disk = NULL;
>
>- vmdisk = qemuDomainDiskByName(vm->def, snapDisk->name);
>- disk = qemuDomainDiskByName(snapdef->parent.dom, snapDisk->name);
The function calls already report an error when the disk is not found,
so there is not need to rewrite that error in my opinion.
>+ if (!(vmdisk = qemuDomainDiskByName(vm->def, snapDisk->name))) {
>+ virReportError(VIR_ERR_OPERATION_FAILED,
>+ _("disk '%1$s' referenced by snapshot '%2$s' not found in the current definition"),
>+ snapDisk->name, snap->def->name);
>+ return -1;
>+ }
>+
>+ if (!(disk = qemuDomainDiskByName(snapdef->parent.dom, snapDisk->name))) {
>+ virReportError(VIR_ERR_OPERATION_FAILED,
>+ _("disk '%1$s' referenced by snapshot '%2$s' not found in the VM definition of the deleted snapshot"),
>+ snapDisk->name, snap->def->name);
>+ return -1;
>+ }
>
> if (!virStorageSourceIsSameLocation(vmdisk->src, disk->src)) {
> virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
>--
>2.33.1.windows.1
>
2
1
Hi all,
I have a problem to execute qmp commands via qemu guest agent using libvirt-Python. In libivrt and qemu tutorial, qmp commands are invoked
by terminal. In my project, I want to invoke the commands natively using libvirt-Python API, not using Python subprocess module.
(my test shows using subprocess to invoke the commands have some issues)
I'm not sure if libvirt-Python provides such API. If the API is not avaiable, as libvirt natively use C interface to interact
with QEMU, do we have to implement it by hand?
Another way to invoke qmp commands is communicate the socket of qemu guest agent. I tried it which did not work. Invoking qmp commands with virsh works fine.
Sorry if this post should be posted in other libvirt mail lists. Thank you very much for feedbacks.
Environment
- OS: Centos 8.5(x86_64)
- libvirt 6.0.0
- QEMU 6.0.0
=== qemu guest socket
$ss | grep libvirt
/var/lib/libvirt/qemu/channel/target/domain-71-run-win7/org.qemu.guest_agent.0 8568953
/run/libvirt/libvirt-sock
$sudo socat unix-connect:/var/lib/libvirt/qemu/channel/target/domain-71-run-win7/org.qemu.guest_agent.0
${"execute":"guest-info"}
// nothing shows
=== invoke qmp commands using Python
import subprocess
cmd = '{"execute": "guest-info"}'
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
result = p.communicate()[0]
2
2
Currently libvirt favors /run instead of /var/run, but for local build
run test, a prefix path is still needed to avoid interoperating with OS
vendor provided binaries.
When 'system' option is specified, fixed path /run is honored.
Fixes: e5299ddf86121d3c792ca271ffcb54900eb19dc3
Signed-off-by: Zhenzhong Duan <zhenzhong.duan(a)intel.com>
---
v2: Take option `system` into consideration (Pavel)
meson.build | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/meson.build b/meson.build
index bf4a245dd3..2762236f37 100644
--- a/meson.build
+++ b/meson.build
@@ -62,11 +62,16 @@ if get_option('system')
endif
localstatedir = '/var'
sysconfdir = '/etc'
+ runstatedir = '/run'
else
prefix = get_option('prefix')
libdir = prefix / get_option('libdir')
localstatedir = prefix / get_option('localstatedir')
sysconfdir = prefix / get_option('sysconfdir')
+ runstatedir = get_option('runstatedir')
+ if runstatedir == ''
+ runstatedir = prefix / 'run'
+ endif
endif
# if --prefix is /usr, don't use /usr/var for localstatedir or /usr/etc for
@@ -80,11 +85,6 @@ if prefix == '/usr'
endif
endif
-runstatedir = get_option('runstatedir')
-if runstatedir == ''
- runstatedir = '/run'
-endif
-
initconfdir = get_option('initconfdir')
if initconfdir == ''
if (os_release.contains('alpine') or
--
2.34.1
2
1
Re: [PATCH] qemuSnapshotDeleteValidate: Fix crash when disk is
not found in VM definition
by jungleman759 22 Apr '25
by jungleman759 22 Apr '25
22 Apr '25
Hi
Thanks for following up, and sorry for the delay in getting back to you.
You're right to suspect the issue might be related to device changes. Here’s how the crash can be triggered:
The VM initially uses a SATA controller, with a disk defined as:
xml
复制编辑
<controller type="scsi" index="0" model="lsilogic"></controller> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/Testguest.qcow2'/> <target dev='sda' bus='sata'/> </disk>
A snapshot is created at this point — which records the disk as sda.
Later, the VM is reconfigured to use a virtio controller, and the disk is now assigned as vda.
When the VM is running and try to delete the snapshot, the snapshot code still expects to find a disk named sda in the current VM definition.
Because of this mismatch, qemuDomainDiskByName() returns NULL, and the crash occurs when the result is used without a null check.
This can easily happen during controller or disk bus reconfiguration between snapshot and deletion. The patch adds sanity checks to ensure we don’t dereference a null pointer in this situation.
Let me know if you’d like me to adjust the wording in the error messages or add a reproducer for automated testing.
Best regards,
kaihuan
Martin Kletzander <mkletzan(a)redhat.com> 于2025年1月22日周三 21:05写道:
On Fri, Nov 29, 2024 at 10:56:45PM +0800, kaihuan wrote:
>qemuDomainDiskByName() can return a NULL pointer on failure.
>But this returned value in qemuSnapshotDeleteValidate is not checked.It will make libvirtd crash.
>
Hi, looking through old unreviewed patches I found this one. Sorry for
the wait. Can you explain whether you found out how to trigger that?
This looks like there is some other issue that causes a snapshot having
a disk that is not in the domain. Does that happen when you want to
delete a snapshot after unplugging a disk?
>Signed-off-by: kaihuan <jungleman759(a)gmail.com>
>---
> src/qemu/qemu_snapshot.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
>diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
>index 18b2e478f6..bcbd913073 100644
>--- a/src/qemu/qemu_snapshot.c
>+++ b/src/qemu/qemu_snapshot.c
>@@ -4242,8 +4242,19 @@ qemuSnapshotDeleteValidate(virDomainObj *vm,
> virDomainDiskDef *vmdisk = NULL;
> virDomainDiskDef *disk = NULL;
>
>- vmdisk = qemuDomainDiskByName(vm->def, snapDisk->name);
>- disk = qemuDomainDiskByName(snapdef->parent.dom, snapDisk->name);
The function calls already report an error when the disk is not found,
so there is not need to rewrite that error in my opinion.
>+ if (!(vmdisk = qemuDomainDiskByName(vm->def, snapDisk->name))) {
>+ virReportError(VIR_ERR_OPERATION_FAILED,
>+ _("disk '%1$s' referenced by snapshot '%2$s' not found in the current definition"),
>+ snapDisk->name, snap->def->name);
>+ return -1;
>+ }
>+
>+ if (!(disk = qemuDomainDiskByName(snapdef->parent.dom, snapDisk->name))) {
>+ virReportError(VIR_ERR_OPERATION_FAILED,
>+ _("disk '%1$s' referenced by snapshot '%2$s' not found in the VM definition of the deleted snapshot"),
>+ snapDisk->name, snap->def->name);
>+ return -1;
>+ }
>
> if (!virStorageSourceIsSameLocation(vmdisk->src, disk->src)) {
> virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
>--
>2.33.1.windows.1
>
1
0
Daniel P. Berrangé (3):
remote: improve error message when no URI is set
kbase: update docs to account for changed error message
remote: expand some debug messages for socket detection
docs/kbase/failed_connection_after_install.rst | 10 ++++++++++
src/remote/remote_sockets.c | 9 +++++++--
2 files changed, 17 insertions(+), 2 deletions(-)
--
2.48.1
2
5
Each in its respecive commit, obviously.
Martin Kletzander (3):
nwfilter: Fix erroneous pointer passing to g_clear_pointer
python: Do not explicitly state variables are global when only read
qemu_rdp: Fix a typo existance -> existence
scripts/apibuild.py | 6 ------
src/nwfilter/nwfilter_gentech_driver.c | 4 ++--
src/qemu/qemu_rdp.c | 2 +-
tools/virt-qemu-qmp-proxy | 1 -
4 files changed, 3 insertions(+), 10 deletions(-)
--
2.49.0
2
4
16 Apr '25
This function return value is invariant since e59b8f9, so change
its type and remove all dependent checks.
Found by Linux Verification Center (linuxtesting.org) with Svace.
Signed-off-by: Artem Chernyshev <artem.chernyshev(a)red-soft.ru>
Signed-off-by: Alexander Kuznetsov <kuznetsovam(a)altlinux.org>
---
src/ch/ch_monitor.c | 5 +----
src/hypervisor/domain_driver.c | 4 +---
src/qemu/qemu_driver.c | 3 +--
src/util/virbitmap.c | 6 +-----
src/util/virbitmap.h | 2 +-
src/util/virhostcpu.c | 4 ++--
tests/virbitmaptest.c | 3 +--
tools/virsh-completer-domain.c | 6 ++----
tools/virsh-domain.c | 3 +--
9 files changed, 11 insertions(+), 25 deletions(-)
diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c
index 0ba927a194..b772eec8a2 100644
--- a/src/ch/ch_monitor.c
+++ b/src/ch/ch_monitor.c
@@ -1196,10 +1196,7 @@ virCHMonitorGetIOThreads(virCHMonitor *mon,
if (!(map = virProcessGetAffinity(iothreadinfo->iothread_id)))
goto error;
- if (virBitmapToData(map, &(iothreadinfo->cpumap),
- &(iothreadinfo->cpumaplen)) < 0) {
- goto error;
- }
+ virBitmapToData(map, &(iothreadinfo->cpumap), &(iothreadinfo->cpumaplen));
/* Append to iothreadinfolist */
iothreadinfolist[niothreads] = g_steal_pointer(&iothreadinfo);
diff --git a/src/hypervisor/domain_driver.c b/src/hypervisor/domain_driver.c
index e2a08d737e..35966a5a8d 100644
--- a/src/hypervisor/domain_driver.c
+++ b/src/hypervisor/domain_driver.c
@@ -652,9 +652,7 @@ virDomainDriverGetIOThreadsConfig(virDomainDef *targetDef,
cpumask = bitmap;
}
}
- if (virBitmapToData(cpumask, &info_ret[i]->cpumap,
- &info_ret[i]->cpumaplen) < 0)
- goto cleanup;
+ virBitmapToData(cpumask, &info_ret[i]->cpumap, &info_ret[i]->cpumaplen);
}
*info = g_steal_pointer(&info_ret);
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 6ce949dd07..59ba6cfbf3 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4787,8 +4787,7 @@ qemuDomainGetIOThreadsLive(virDomainObj *vm,
if (!(map = virProcessGetAffinity(iothreads[i]->thread_id)))
goto endjob;
- if (virBitmapToData(map, &info_ret[i]->cpumap, &info_ret[i]->cpumaplen) < 0)
- goto endjob;
+ virBitmapToData(map, &info_ret[i]->cpumap, &info_ret[i]->cpumaplen);
}
*info = g_steal_pointer(&info_ret);
diff --git a/src/util/virbitmap.c b/src/util/virbitmap.c
index e42f5b872c..8a3f33c806 100644
--- a/src/util/virbitmap.c
+++ b/src/util/virbitmap.c
@@ -637,10 +637,8 @@ virBitmapNewData(const void *data,
* Convert a bitmap to a chunk of data containing bits information.
* Data consists of sequential bytes, with lower bytes containing
* lower bits. This function allocates @data.
- *
- * Returns 0 on success, -1 otherwise.
*/
-int
+void
virBitmapToData(virBitmap *bitmap,
unsigned char **data,
int *dataLen)
@@ -656,8 +654,6 @@ virBitmapToData(virBitmap *bitmap,
*dataLen = len;
virBitmapToDataBuf(bitmap, *data, *dataLen);
-
- return 0;
}
diff --git a/src/util/virbitmap.h b/src/util/virbitmap.h
index a9f9d97fd0..a9c0a1a307 100644
--- a/src/util/virbitmap.h
+++ b/src/util/virbitmap.h
@@ -91,7 +91,7 @@ virBitmap *virBitmapNewCopy(virBitmap *src) ATTRIBUTE_NONNULL(1);
virBitmap *virBitmapNewData(const void *data, int len) ATTRIBUTE_NONNULL(1);
-int virBitmapToData(virBitmap *bitmap, unsigned char **data, int *dataLen)
+void virBitmapToData(virBitmap *bitmap, unsigned char **data, int *dataLen)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
void virBitmapToDataBuf(virBitmap *bitmap, unsigned char *data, size_t len)
diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c
index 3b4a11effb..80819d83e6 100644
--- a/src/util/virhostcpu.c
+++ b/src/util/virhostcpu.c
@@ -1110,8 +1110,8 @@ virHostCPUGetMap(unsigned char **cpumap,
if (!(cpus = virHostCPUGetOnlineBitmap()))
goto cleanup;
- if (cpumap && virBitmapToData(cpus, cpumap, &dummy) < 0)
- goto cleanup;
+ if (cpumap)
+ virBitmapToData(cpus, cpumap, &dummy);
if (online)
*online = virBitmapCountBits(cpus);
diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c
index 27b6c13114..709c62ab54 100644
--- a/tests/virbitmaptest.c
+++ b/tests/virbitmaptest.c
@@ -339,8 +339,7 @@ test5(const void *v G_GNUC_UNUSED)
ignore_value(virBitmapSetBit(bitmap, 2));
ignore_value(virBitmapSetBit(bitmap, 15));
- if (virBitmapToData(bitmap, &data2, &len2) < 0)
- return -1;
+ virBitmapToData(bitmap, &data2, &len2);
if (len2 != sizeof(data) ||
data2[0] != 0x05 ||
diff --git a/tools/virsh-completer-domain.c b/tools/virsh-completer-domain.c
index 0a3a113dca..b020d87f49 100644
--- a/tools/virsh-completer-domain.c
+++ b/tools/virsh-completer-domain.c
@@ -794,8 +794,7 @@ virshDomainVcpulistViaAgentCompleter(vshControl *ctl,
if (!(onlineVcpus = virBitmapParseUnlimited(onlineVcpuStr)))
goto cleanup;
- if (virBitmapToData(onlineVcpus, &onlineVcpumap, &dummy) < 0)
- goto cleanup;
+ virBitmapToData(onlineVcpus, &onlineVcpumap, &dummy);
if (enable) {
offlinableVcpuStr = vshGetTypedParamValue(ctl, ¶ms[2]);
@@ -803,8 +802,7 @@ virshDomainVcpulistViaAgentCompleter(vshControl *ctl,
if (!(offlinableVcpus = virBitmapParseUnlimited(offlinableVcpuStr)))
goto cleanup;
- if (virBitmapToData(offlinableVcpus, &offlinableVcpumap, &dummy) < 0)
- goto cleanup;
+ virBitmapToData(offlinableVcpus, &offlinableVcpumap, &dummy);
lastcpu = virBitmapLastSetBit(offlinableVcpus);
cpulist = g_new0(char *, nvcpus - virBitmapCountBits(onlineVcpus) + 1);
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index ceff6789d8..a2e30a0fa9 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -7420,8 +7420,7 @@ virshParseCPUList(vshControl *ctl, int *cpumaplen,
}
}
- if (virBitmapToData(map, &cpumap, cpumaplen) < 0)
- return NULL;
+ virBitmapToData(map, &cpumap, cpumaplen);
return cpumap;
}
--
2.42.4
2
2