Re: [RFC PATCH 0/3] single-binary: make QAPI generated files common
by Markus Armbruster
Pierrick Bouvier <pierrick.bouvier(a)linaro.org> writes:
> Note: This RFC was posted to trigger a discussion around this topic, and it's
> not expected to merge it as it is.
>
> Context
> =======
>
> Linaro is working towards heterogeneous emulation, mixing several architectures
> in a single QEMU process. The first prerequisite is to be able to build such a
> binary, which we commonly name "single-binary" in our various series.
> An (incomplete) list of series is available here:
> https://patchew.org/search?q=project%3AQEMU+single-binary
>
> We don't expect to change existing command line interface or any observable
> behaviour, it should be identical to existing binaries. If anyone notices a
> difference, it will be a bug.
Define "notice a difference" :) More on that below.
> The first objective we target is to combine qemu-system-arm and
> qemu-system-aarch64 in a single binary, showing that we can build and link such
> a thing. While being useless from a feature point of view, it allows us to make
> good progress towards the goal, and unify two "distinct" architectures, and gain
> experience on problems met.
Makes sense to me.
> Our current approach is to remove compilation units duplication to be able to
> link all object files together. One of the concerned subsystem is QAPI.
>
> QAPI
> ====
>
> QAPI generated files contain conditional clauses to define various structures,
> enums, and commands only for specific targets. This forces files to be
> compiled for every target.
To be precise: conditionals that use macros restricted to
target-specific code, i.e. the ones poisoned by exec/poison.h. Let's
call them target-specific QAPI conditionals.
The QAPI generator is blissfully unaware of all this.
The build system treats QAPI modules qapi/*-target.json as
target-specific. The .c files generated for them are compiled per
target. See qapi/meson.build.
Only such target-specific modules can can use target-specific QAPI
conditionals. Use in target-independent modules will generate C that
won't compile.
Poisoned macros used in qapi/*-target.json:
CONFIG_KVM
TARGET_ARM
TARGET_I386
TARGET_LOONGARCH64
TARGET_MIPS
TARGET_PPC
TARGET_RISCV
TARGET_S390X
> What we try to do here is to build them only once
> instead.
You're trying to eliminate target-specific QAPI conditionals. Correct?
> In the past, we identied that the best approach to solve this is to expose code
> for all targets (thus removing all #if clauses), and stub missing
> symbols for concerned targets.
This affects QAPI/QMP introspection, i.e. the value of query-qmp-schema.
Management applications can no longer use introspection to find out
whether target-specific things are available.
For instance, query-cpu-definitions is implemented for targets arm,
i386, loongarch, mips, ppc, riscv, and s390x. It initially was for
fewer targets, and more targets followed one by one. Still more may
follow in the future. Right now, management applications can use
introspection to find out whether it is available. That stops working
when you make it available for all targets, stubbed out for the ones
that don't (yet) implement it.
Management applications may have to be adjusted for this.
This is not an attempt to shoot down your approach. I'm merely
demonstrating limitations of your promise "if anyone notices a
difference, it will be a bug."
Now, we could get really fancy and try to keep introspection the same by
applying conditionals dynamically somehow. I.e. have the single binary
return different introspection values depending on the actual guest's
target.
This requires fixing the target before introspection. Unless this is
somehow completely transparent (wrapper scripts, or awful hacks based on
the binary's filename, perhaps), management applications may have to be
adjusted to actually do that.
Applies not just to introspection. Consider query-cpu-definitions
again. It currently returns CPU definitions for *the* target. What
would a single binary's query-cpu-definitions return? The CPU
definitions for *all* its targets? Management applications then receive
CPUs that won't work, which may upset them. To avoid noticable
difference, we again have to fix the target before we look.
Of course, "fixing the target" stops making sense once we move to
heterogeneous machines with multiple targets.
> This series build QAPI generated code once, by removing all TARGET_{arch} and
> CONFIG_KVM clauses. What it does *not* at the moment is:
> - prevent target specific commands to be visible for all targets
> (see TODO comment on patch 2 explaining how to address this)
> - nothing was done to hide all this from generated documentation
For better or worse, generated documentation always contains everything.
An argument could be made for stripping out documentation for the stuff
that isn't included in this build.
> From what I understood, the only thing that matters is to limit qmp commands
> visible. Exposing enums, structure, or events is not a problem, since they
> won't be used/triggered for non concerned targets. Please correct me if this is
> wrong, and if there are unexpected consequences for libvirt or other consumers.
I'm not sure what you mean by "to limit qmp commands visible".
QAPI/QMP introspection has all commands and events, and all types
reachable from them. query-qmp-schema returns an array, where each
array element describes one command, event, or type. When a command,
event, or type is conditional in the schema, the element is wrapped in
the #if generated for the condition.
>
> Impact on code size
> ===================
>
> There is a strong focus on keeping QEMU fast and small. Concerning performance,
> there is no impact, as the only thing that would change is to conditionally
> check current target to register some commands.
> Concerning code size, you can find the impact on various qemu-system binaries
> with optimized and stripped build.
>
> upstream:
> 12588 ./build/qemu-system-s390x
> 83992 ./build/qemu-system-x86_64
> 31884 ./build/qemu-system-aarch64
> upstream + this series:
> 12644 ./build/qemu-system-s390x (+56kB, +0.004%)
> 84076 ./build/qemu-system-x86_64 (+84kB, +0.001%)
> 31944 ./build/qemu-system-aarch64 (+60kB, +0.001%)
>
> Feedback
> ========
>
> The goal of this series is to be spark a conversation around following topics:
>
> - Would you be open to such an approach? (expose all code, and restrict commands
> registered at runtime only for specific targets)
Yes, if we can find acceptable solutions for the problems that come with
it.
> - Are there unexpected consequences for libvirt or other consumers to expose
> more definitions than what we have now?
Maybe.
> - Would you recommend another approach instead? I experimented with having per
> target generated files, but we still need to expose quite a lot in headers, so
> my opinion is that it's much more complicated for zero benefit. As well, the
> code size impact is more than negligible, so the simpler, the better.
>
> Feel free to add anyone I could have missed in CC.
I'm throwing in devel(a)lists.libvirt.org.
> Regards,
> Pierrick
>
> Pierrick Bouvier (3):
> qapi: add weak stubs for target specific commands
> qapi: always expose TARGET_* or CONFIG_KVM code
> qapi: make all generated files common
>
> qapi/commands-weak-stubs.c | 38 ++++++++++++++++++++++++++++++++++++++
> qapi/meson.build | 5 ++++-
> scripts/qapi/commands.py | 4 ++++
> scripts/qapi/common.py | 4 +++-
> 4 files changed, 49 insertions(+), 2 deletions(-)
> create mode 100644 qapi/commands-weak-stubs.c
15 minutes
Entering freeze for libvirt-11.3.0
by Jiri Denemark
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
20 minutes
[PATCH] po/zh_CN.po: Fix some translation issues
by liu.song13@zte.com.cn
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
49 minutes
[PATCHv2 0/5] qemu: Introduce nvme disk emulation support
by honglei.wang@smartx.com
From: hongleiwang <honglei.wang(a)smartx.com>
QEMU has supported nvme disk emulation for a long time,
see: https://qemu-project.gitlab.io/qemu/system/devices/nvme.html.
The following patches introduce nvme-ns disk bus type:
A disk with nvme-ns as bus is represented as an nvme namespace
and needs to be attached to an nvme controller. In XML, it can be
used like this:
<devices>
...
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/tmp/data.img'/>
<target dev='nvmensa' bus='nvme-ns'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='nvme' index='0'>
<serial>nvme-controller-serial-value</serial>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</controller>
...
</devices>
Signed-off-by: ray <honglei.wang(a)smartx.com>
---
Compared to patch v1, this version removes the nvme bus type implementation
and keeps only the nvme controller + nvme-ns bus approach.
ray (5):
qemu: Add support for NVMe namespace disk bus type
qemu_capabilities: Add support for nvme-ns bus capabilities
schema: Add nvme controller and nvme-ns bus defination
tests: Add test case for nvme-ns device configuration
NEWS: Document qemu nvme disk emulation feature
NEWS.rst | 17 +++++++++
src/conf/domain_conf.c | 39 ++++++++++++++++++++
src/conf/domain_conf.h | 7 ++++
src/conf/domain_postparse.c | 2 ++
src/conf/domain_validate.c | 4 ++-
src/conf/schemas/domaincommon.rng | 11 +++++-
src/conf/virconftypes.h | 2 ++
src/hyperv/hyperv_driver.c | 2 ++
src/qemu/qemu_alias.c | 1 +
src/qemu/qemu_capabilities.c | 5 +++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 26 ++++++++++++++
src/qemu/qemu_domain_address.c | 5 +++
src/qemu/qemu_hotplug.c | 14 ++++++--
src/qemu/qemu_postparse.c | 1 +
src/qemu/qemu_validate.c | 18 ++++++++++
src/test/test_driver.c | 2 ++
src/util/virutil.c | 2 +-
src/vbox/vbox_common.c | 2 ++
src/vmx/vmx.c | 1 +
.../qemu_10.0.0-q35.x86_64+amdsev.xml | 1 +
tests/domaincapsdata/qemu_10.0.0-q35.x86_64.xml | 1 +
.../qemu_10.0.0-tcg.x86_64+amdsev.xml | 1 +
tests/domaincapsdata/qemu_10.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_10.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_10.0.0.x86_64+amdsev.xml | 1 +
tests/domaincapsdata/qemu_10.0.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 +
.../domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.sparc.xml | 1 +
tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml | 1 +
tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml | 1 +
tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.2.0.ppc.xml | 1 +
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 1 +
.../qemu_8.2.0-tcg-virt.loongarch64.xml | 1 +
tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml | 1 +
.../domaincapsdata/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_8.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml | 1 +
tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml | 1 +
tests/domaincapsdata/qemu_9.1.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 1 +
.../domaincapsdata/qemu_9.2.0-hvf.aarch64+hvf.xml | 1 +
.../qemu_9.2.0-q35.x86_64+amdsev.xml | 1 +
tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 1 +
.../qemu_9.2.0-tcg.x86_64+amdsev.xml | 1 +
tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_9.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_9.2.0.x86_64+amdsev.xml | 1 +
tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml | 1 +
.../caps_10.0.0_x86_64+amdsev.xml | 1 +
tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 +
.../qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml | 1 +
tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml | 1 +
.../caps_8.2.0_loongarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml | 1 +
.../caps_9.2.0_aarch64+hvf.xml | 1 +
tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml | 1 +
.../caps_9.2.0_x86_64+amdsev.xml | 1 +
tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml | 1 +
.../disk-nvme-ns-device.x86_64-latest.args | 36 +++++++++++++++++++
.../disk-nvme-ns-device.x86_64-latest.xml | 42 ++++++++++++++++++++++
tests/qemuxmlconfdata/disk-nvme-ns-device.xml | 41 +++++++++++++++++++++
tests/qemuxmlconftest.c | 1 +
117 files changed, 370 insertions(+), 5 deletions(-)
create mode 100644 tests/qemuxmlconfdata/disk-nvme-ns-device.x86_64-latest.args
create mode 100644 tests/qemuxmlconfdata/disk-nvme-ns-device.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/disk-nvme-ns-device.xml
--
2.11.0
55 minutes
Re: [PATCH V1 0/6] fast qom tree get
by Markus Armbruster
Hi Steve, I apologize for the slow response.
Steve Sistare <steven.sistare(a)oracle.com> writes:
> Using qom-list and qom-get to get all the nodes and property values in a
> QOM tree can take multiple seconds because it requires 1000's of individual
> QOM requests. Some managers fetch the entire tree or a large subset
> of it when starting a new VM, and this cost is a substantial fraction of
> start up time.
"Some managers"... could you name one?
> To reduce this cost, consider QAPI calls that fetch more information in
> each call:
> * qom-list-get: given a path, return a list of properties and values.
> * qom-list-getv: given a list of paths, return a list of properties and
> values for each path.
> * qom-tree-get: given a path, return all descendant nodes rooted at that
> path, with properties and values for each.
Libvirt developers, would you be interested in any of these?
> In all cases, a returned property is represented by ObjectPropertyValue,
> with fields name, type, value, and error. If an error occurs when reading
> a value, the value field is omitted, and the error message is returned in the
> the error field. Thus an error for one property will not cause a bulk fetch
> operation to fail.
Returning errors this way is highly unusual. Observation; I'm not
rejecting this out of hand. Can you elaborate a bit on why it's useful?
> To evaluate each method, I modified scripts/qmp/qom-tree to use the method,
> verified all methods produce the same output, and timed each using:
>
> qemu-system-x86_64 -display none \
> -chardev socket,id=monitor0,path=/tmp/vm1.sock,server=on,wait=off \
> -mon monitor0,mode=control &
>
> time qom-tree -s /tmp/vm1.sock > /dev/null
Cool!
> I only measured once per method, but the variation is low after a warm up run.
> The 'real - user - sys' column is a proxy for QEMU CPU time.
>
> method real(s) user(s) sys(s) (real - user - sys)(s)
> qom-list / qom-get 2.048 0.932 0.057 1.059
> qom-list-get 0.402 0.230 0.029 0.143
> qom-list-getv 0.200 0.132 0.015 0.053
> qom-tree-get 0.143 0.123 0.012 0.008
>
> qom-tree-get is the clear winner, reducing elapsed time by a factor of 14X,
> and reducing QEMU CPU time by 132X.
>
> qom-list-getv is slower when fetching the entire tree, but can beat
> qom-tree-get when only a subset of the tree needs to be fetched (not shown).
>
> qom-list-get is shown for comparison only, and is not included in this series.
If we have qom-list-getv, then qom-list-get is not worth having.
1 hour, 7 minutes
[PATCH] domaincapstest: Remove XMLs for already dropped qemu versions (4.2.0 - 5.1.0)
by Peter Krempa
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
1 hour, 29 minutes
[PATCH 0/2] network: support NAT networking for FreeBSD/pf
by Roman Bogorodskiy
This series implements NAT networks support for FreeBSD using the Packet
Filter (pf) firewall.
The commit messages provide high-level details and limitations of the
current implementation, and I'll use this cover letter to provide some
more technical details and describe testing I have performed for this
change.
Libvirt FreeBSD/pf NAT testing
For two networks:
virsh # net-dumpxml default
<network>
<name>default</name>
<uuid>68cd5419-9fda-4cf0-9ac6-2eb9c1ba41ed</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:db:0e:e5'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
virsh # net-dumpxml natnet
<network>
<name>natnet</name>
<uuid>d3c59659-3ceb-4482-a625-1f839a54429c</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr1' stp='on' delay='0'/>
<mac address='52:54:00:0a:fc:1d'/>
<ip address='10.0.100.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.0.100.2' end='10.0.100.254'/>
</dhcp>
</ip>
</network>
virsh #
The following rules are generated:
$ sudo pfctl -a '*' -sn
nat-anchor "libvirt/*" all {
nat-anchor "default" all {
nat pass on re0 inet from 192.168.122.0/24 to <natdst> -> (re0) port
1024:65535 round-robin
}
nat-anchor "natnet" all {
nat pass on re0 inet from 10.0.100.0/24 to <natdst> -> (re0) port
1024:65535 round-robin
}
}
$
$ sudo pfctl -a 'libvirt/default' -t natdst -T show
0.0.0.0/0
!192.168.122.0/24
!224.0.0.0/24
!255.255.255.255
$ sudo pfctl -a 'libvirt/natnet' -t natdst -T show
0.0.0.0/0
!10.0.100.0/24
!224.0.0.0/24
!255.255.255.255
$
$ sudo pfctl -a '*' -sr
scrub all fragment reassemble
anchor "libvirt/*" all {
anchor "default" all {
pass quick on virbr0 inet from 192.168.122.0/24 to 192.168.122.0/24
flags S/SA keep state
pass quick on virbr0 inet from 192.168.122.0/24 to 224.0.0.0/24
flags S/SA keep state
pass quick on virbr0 inet from 192.168.122.0/24 to 255.255.255.255
flags S/SA keep state
block drop on virbr0 all
}
anchor "natnet" all {
pass quick on virbr1 inet from 10.0.100.0/24 to 10.0.100.0/24 flags
S/SA keep state
pass quick on virbr1 inet from 10.0.100.0/24 to 224.0.0.0/24 flags
S/SA keep state
pass quick on virbr1 inet from 10.0.100.0/24 to 255.255.255.255
flags S/SA keep state
block drop on virbr1 all
}
}
pass all flags S/SA keep state
$
Create two guests attached to the "default" network, vmA and vmB.
vmA $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:67:eb:de brd ff:ff:ff:ff:ff:ff
inet 192.168.122.92/24 brd 192.168.122.255 scope global dynamic noprefixroute enp0s4
valid_lft 1082sec preferred_lft 1082sec
inet6 fe80::5054:ff:fe67:ebde/64 scope link noprefixroute
valid_lft forever preferred_lft forever
vmA $
vmB $ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:d2:8b:41 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.154/24 metric 100 brd 192.168.122.255 scope global dynamic enp0s4
valid_lft 1040sec preferred_lft 1040sec
inet6 fe80::5054:ff:fed2:8b41/64 scope link
valid_lft forever preferred_lft forever
vmB $
Test NAT rules:
vmA $ ping -c 3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=14.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=10.7 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=10.1 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2006ms
rtt min/avg/max/mdev = 10.099/11.835/14.710/2.047 ms
vmA $
vmB $ ping -c 3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=15.1 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=11.0 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=10.4 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2006ms
rtt min/avg/max/mdev = 10.434/12.198/15.113/2.075 ms
vmB $
vmA $ curl wttr.in/?0Q
Fog
_ - _ - _ - +4(1) °C
_ - _ - _ ↙ 11 km/h
_ - _ - _ - 0 km
0.0 mm
vmA $
vmB $ curl wttr.in/?0Q
Fog
_ - _ - _ - +4(1) °C
_ - _ - _ ↙ 11 km/h
_ - _ - _ - 0 km
0.0 mm
vmB $
Inter-VM connectivity:
vmA $ ping -c 3 192.168.122.154
PING 192.168.122.154 (192.168.122.154) 56(84) bytes of data.
64 bytes from 192.168.122.154: icmp_seq=1 ttl=64 time=0.253 ms
64 bytes from 192.168.122.154: icmp_seq=2 ttl=64 time=0.226 ms
64 bytes from 192.168.122.154: icmp_seq=3 ttl=64 time=0.269 ms
--- 192.168.122.154 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2042ms
rtt min/avg/max/mdev = 0.226/0.249/0.269/0.017 ms
vmA $
vmA $ ssh 192.168.122.154 uname
novel(a)192.168.122.154's password:
Linux
vmA $
Multicast test:
vmA $ iperf -s -u -B 224.0.0.1 -i 1
------------------------------------------------------------
Server listening on UDP port 5001
Joining multicast group 224.0.0.1
Server set to single client traffic mode (per multicast receive)
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 1] local 224.0.0.1 port 5001 connected with 192.168.122.154 port
36963
[ ID] Interval Transfer Bandwidth Jitter Lost/Total
Datagrams
[ 1] 0.00-1.00 sec 131 KBytes 1.07 Mbits/sec 0.030 ms 0/91 (0%)
[ 1] 1.00-2.00 sec 128 KBytes 1.05 Mbits/sec 0.022 ms 0/89 (0%)
[ 1] 2.00-3.00 sec 128 KBytes 1.05 Mbits/sec 0.021 ms 0/89 (0%)
[ 1] 0.00-3.02 sec 389 KBytes 1.06 Mbits/sec 0.026 ms 0/271 (0%)
vmB $ iperf -c 224.0.0.1 -u -T 32 -t 3 -i 1
------------------------------------------------------------
Client connecting to 224.0.0.1, UDP port 5001
Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 1] local 192.168.122.154 port 36963 connected with 224.0.0.1 port
5001
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-1.0000 sec 131 KBytes 1.07 Mbits/sec
[ 1] 1.0000-2.0000 sec 128 KBytes 1.05 Mbits/sec
[ 1] 2.0000-3.0000 sec 128 KBytes 1.05 Mbits/sec
[ 1] 0.0000-3.0173 sec 389 KBytes 1.06 Mbits/sec
[ 1] Sent 272 datagrams
vmB $
Broadcast test:
vmA $ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0
net.ipv4.icmp_echo_ignore_broadcasts = 0
vmA $
vmB $ sudo sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=0
net.ipv4.icmp_echo_ignore_broadcasts = 0
vmB $
host $ ping 192.168.122.255
PING 192.168.122.255 (192.168.122.255): 56 data bytes
64 bytes from 192.168.122.154: icmp_seq=0 ttl=64 time=0.199 ms
64 bytes from 192.168.122.92: icmp_seq=0 ttl=64 time=0.227 ms (DUP!)
64 bytes from 192.168.122.154: icmp_seq=1 ttl=64 time=0.209 ms
64 bytes from 192.168.122.92: icmp_seq=1 ttl=64 time=0.235 ms (DUP!)
^C
--- 192.168.122.255 ping statistics ---
2 packets transmitted, 2 packets received, +2 duplicates, 0.0% packet
loss
round-trip min/avg/max/stddev = 0.199/0.218/0.235/0.014 ms
This testing does not cover any negative scenarios which are probably
not that important at this point.
Roman Bogorodskiy (2):
network: bridge_driver: add BSD implementation
network: introduce Packet Filter firewall backend
meson.build | 2 +
po/POTFILES | 2 +
src/network/bridge_driver_bsd.c | 107 +++++++++
src/network/bridge_driver_conf.c | 8 +
src/network/bridge_driver_linux.c | 2 +
src/network/bridge_driver_platform.c | 2 +
src/network/meson.build | 1 +
src/network/network_pf.c | 327 +++++++++++++++++++++++++++
src/network/network_pf.h | 26 +++
src/util/virfirewall.c | 4 +-
src/util/virfirewall.h | 2 +
11 files changed, 482 insertions(+), 1 deletion(-)
create mode 100644 src/network/bridge_driver_bsd.c
create mode 100644 src/network/network_pf.c
create mode 100644 src/network/network_pf.h
--
2.49.0
2 days, 1 hour
[PATCH] qemuxmlactivetest: Don't segfault when capability XMLs are invalid
by Peter Krempa
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 days, 18 hours
Question about SEV* guests and automatic firmware selection
by Jim Fehlig
Hi All,
While investigating an internal bug report, we noticed that a minimal firmware
auto-selection configuration along with SEV* fails to find a match. E.g. the
following config
<domain type="kvm">
<os firmware="efi">
<type arch="x86_64" machine="q35">hvm</type>
<boot dev="hd"/>
</os>
<launchSecurity type="sev">
<policy>0x07</policy>
</launchSecurity>
...
</domain>
Fails with "Unable to find 'efi' firmware that is compatible with the current
configuration". A firmware that should match has the following json description
{
"description": "UEFI firmware for x86_64, with AMD SEV",
"interface-types": [
"uefi"
],
"mapping": {
"device": "flash",
"mode": "stateless",
"executable": {
"filename": "/usr/share/qemu/ovmf-x86_64-sev.bin",
"format": "raw"
}
},
"targets": [
{
"architecture": "x86_64",
"machines": [
"pc-q35-*"
]
}
],
"features": [
"acpi-s4",
"amd-sev",
"amd-sev-es",
"amd-sev-snp",
"verbose-dynamic"
],
"tags": [
]
}
Auto-selection works fine if I specify a 'stateless' firmware, e.g. amend the
above config with
<os firmware="efi">
<type arch="x86_64" machine="q35">hvm</type>
<loader stateless="yes"/>
<boot dev="hd"/>
</os>
Being unfamiliar with the firmware auto-selection code, I tried the below naive
hack, which only led to test failures and the subsequent runtime error "unable
to find any master var store for loader: /usr/share/qemu/ovmf-x86_64-sev.bin".
Should auto-selection work with the minimal config, or is it expected that user
also specify a stateless firmware?
Regards,
Jim
diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c
index 2d0ec0b4fa..660b74141a 100644
--- a/src/qemu/qemu_firmware.c
+++ b/src/qemu/qemu_firmware.c
@@ -1293,15 +1293,17 @@ qemuFirmwareMatchDomain(const virDomainDef *def,
return false;
}
- if (loader && loader->stateless == VIR_TRISTATE_BOOL_YES) {
- if (flash->mode != QEMU_FIRMWARE_FLASH_MODE_STATELESS) {
- VIR_DEBUG("Discarding loader without stateless flash");
- return false;
- }
- } else {
- if (flash->mode != QEMU_FIRMWARE_FLASH_MODE_SPLIT) {
- VIR_DEBUG("Discarding loader without split flash");
- return false;
+ if (loader) {
+ if (loader->stateless == VIR_TRISTATE_BOOL_YES) {
+ if (flash->mode != QEMU_FIRMWARE_FLASH_MODE_STATELESS) {
+ VIR_DEBUG("Discarding loader without stateless flash");
+ return false;
+ }
+ } else if (loader->stateless == VIR_TRISTATE_BOOL_NO) {
+ if (flash->mode != QEMU_FIRMWARE_FLASH_MODE_SPLIT) {
+ VIR_DEBUG("Discarding loader without split flash");
+ return false;
+ }
}
}
3 days, 12 hours
[PATCH] conf: Fix handling of vlan with one tagged vlan id
by Leigh Brown
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
3 days, 17 hours