When a CPU model is reported as usable='no' an additional
<blockers model='...'> element is added for that CPU model to show which
features are missing for the CPU model to become usable.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
Reviewed-by: Ján Tomko <jtomko(a)redhat.com>
---
Notes:
Version 2:
- avoid adding the same blocker more than once for each model
docs/formatdomaincaps.rst | 56 +-
src/conf/domain_capabilities.c | 28 +
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 288 +++++++++
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 543 +++++++++++++++++
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 288 +++++++++
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 296 +++++++++
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 573 +++++++++++++++++
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 296 +++++++++
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 297 +++++++++
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 574 ++++++++++++++++++
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 297 +++++++++
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 296 +++++++++
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 572 +++++++++++++++++
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 296 +++++++++
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 296 +++++++++
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 565 +++++++++++++++++
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 296 +++++++++
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 264 ++++++++
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 515 ++++++++++++++++
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 264 ++++++++
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 264 ++++++++
.../qemu_7.2.0-tcg.x86_64+hvf.xml | 407 +++++++++++++
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 407 +++++++++++++
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 264 ++++++++
.../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 304 ++++++++++
.../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 453 ++++++++++++++
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 304 ++++++++++
.../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 386 ++++++++++++
.../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 460 ++++++++++++++
tests/domaincapsdata/qemu_8.1.0.s390x.xml | 154 +++++
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 386 ++++++++++++
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 386 ++++++++++++
.../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 452 ++++++++++++++
tests/domaincapsdata/qemu_8.2.0.s390x.xml | 154 +++++
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 386 ++++++++++++
.../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 386 ++++++++++++
.../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 426 +++++++++++++
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 386 ++++++++++++
.../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 412 +++++++++++++
.../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 445 ++++++++++++++
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 412 +++++++++++++
.../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 412 +++++++++++++
.../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 445 ++++++++++++++
tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 412 +++++++++++++
44 files changed, 15784 insertions(+), 19 deletions(-)
diff --git a/docs/formatdomaincaps.rst b/docs/formatdomaincaps.rst
index 712d8b44f8..5309c6c251 100644
--- a/docs/formatdomaincaps.rst
+++ b/docs/formatdomaincaps.rst
@@ -194,9 +194,29 @@ CPUs <formatdomain.html#cpu-model-and-topology>`__.
</mode>
<mode name='custom' supported='yes'>
<model usable='no' deprecated='no'
vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='hle'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='yes' deprecated='no'
vendor='Intel'>Broadwell-noTSX</model>
- <model usable='no' deprecated='yes'
vendor='Intel'>Haswell</model>
<model usable='no' deprecated='no'
vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='clzero'/>
+ <feature name='cr8legacy'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='mmxext'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='sse4a'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsaveerptr'/>
+ </blockers>
+ <model usable='no' deprecated='yes'
vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='rtm'/>
+ </blockers>
...
</mode>
</cpu>
@@ -230,24 +250,22 @@ more details about it:
the model can be used directly on the host. A special value ``unknown``
indicates libvirt does not have enough information to provide the usability
data. When ``usable='no'`` the corresponding model cannot be used without
- disabling some features that the CPU of such model is expected to have. The
- list of features blocking usability of a particular CPU model is returned
- as disabled features in the result of ``virConnectBaselineHypervisorCPU``
- API (or ``virsh hypervisor-cpu-baseline``) when called on a CPU definition
- using the CPU model and no additional feature elements. Models marked as
- usable (``usable='yes'``) can be safely used in domain XMLs with
- ``check='none'`` as the hypervisor guarantees the model can be used on the
- current host and additional checks done by libvirt are redundant.
- :since:`Since 10.2.0` libvirt automatically detects this situation and
- avoids the redundant checks even when ``check='partial'`` is used, with
- older releases disabling libvirt checks via ``check='none'`` for such models
- is recommended to avoid needless issues with starting domains when libvirt's
- definition of a particular model differs from hypervisor's definition. The
- ``deprecated`` attribute reflects the hypervisor's policy on usage of this
- model :since:`(since 7.1.0)`. The ``vendor`` attribute :since:`(since 8.9.0)`
- contains the vendor of the CPU model for users who want to use CPU models
- with specific vendors only. CPU models with undefined vendor will be listed
- with ``vendor='unkwnown'``.
+ disabling some features that the CPU of such model is expected to have.
+ :since:`Since 10.9.0` each CPU model with ``usable='no'`` is followed by
+ a corresponding ``blockers`` element containing a list of features blocking
+ usability of the CPU model. Models marked as usable (``usable='yes'``) can
+ be safely used in domain XMLs with ``check='none'`` as the hypervisor
+ guarantees the model can be used on the current host and additional checks
+ done by libvirt are redundant. :since:`Since 10.2.0` libvirt automatically
+ detects this situation and avoids the redundant checks even when
+ ``check='partial'`` is used, with older releases disabling libvirt checks
+ via ``check='none'`` for such models is recommended to avoid needless issues
+ with starting domains when libvirt's definition of a particular model
+ differs from hypervisor's definition. The ``deprecated`` attribute reflects
+ the hypervisor's policy on usage of this model :since:`(since 7.1.0)`. The
+ ``vendor`` attribute :since:`(since 8.9.0)` contains the vendor of the CPU
+ model for users who want to use CPU models with specific vendors only. CPU
+ models with undefined vendor will be listed with ``vendor='unkwnown'``.
I/O Threads
~~~~~~~~~~~
diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c
index 6fd7ed3158..cf40d798e5 100644
--- a/src/conf/domain_capabilities.c
+++ b/src/conf/domain_capabilities.c
@@ -23,6 +23,7 @@
#include "domain_capabilities.h"
#include "domain_conf.h"
#include "viralloc.h"
+#include "virstring.h"
#define VIR_FROM_THIS VIR_FROM_CAPABILITIES
@@ -247,9 +248,23 @@ virDomainCapsCPUModelsCompare(const void *m1,
void
virDomainCapsCPUModelsSort(virDomainCapsCPUModels *cpuModels)
{
+ size_t i;
+
g_qsort_with_data(cpuModels->models, cpuModels->nmodels,
sizeof(*cpuModels->models),
virDomainCapsCPUModelsCompare, NULL);
+
+ for (i = 0; i < cpuModels->nmodels; i++) {
+ virDomainCapsCPUModel *model = cpuModels->models + i;
+
+ if (!model->blockers)
+ continue;
+
+ g_qsort_with_data(model->blockers, g_strv_length(model->blockers),
+ sizeof(*model->blockers),
+ virStringSortCompare, NULL);
+ virStringListRemoveDuplicates(&model->blockers);
+ }
}
@@ -416,6 +431,19 @@ virDomainCapsCPUCustomFormat(virBuffer *buf,
virBufferAddLit(buf, " vendor='unknown'");
virBufferAsprintf(buf, ">%s</model>\n", model->name);
+
+ if (model->blockers) {
+ char **blocker;
+
+ virBufferAsprintf(buf, "<blockers model='%s'>\n",
model->name);
+ virBufferAdjustIndent(buf, 2);
+
+ for (blocker = model->blockers; *blocker; blocker++)
+ virBufferAsprintf(buf, "<feature name='%s'/>\n",
*blocker);
+
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</blockers>\n");
+ }
}
virBufferAdjustIndent(buf, -2);
diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
index b082e3bfb7..81bf0ceb00 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -64,56 +64,344 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
index bd004e0b6e..054bf4a88b 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -76,46 +76,586 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='avx'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -126,6 +666,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index 0979dda37f..f298829e34 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -63,56 +63,344 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
index 1c4ed9c490..c738f2f9ed 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -64,57 +64,353 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
index ec5ea85637..bb1c66cdbf 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -77,47 +77,617 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='svme-addr-chk'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='avx'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -128,6 +698,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index 3a9c2050a5..1efa0578bd 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -63,57 +63,353 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
index b98f628fcb..fe22898504 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -65,57 +65,354 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
index 1e4c60fe2f..11ef8be5e3 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -77,47 +77,618 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx2'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='svme-addr-chk'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='avx'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -128,6 +699,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index c22f1a398c..43ed790a20 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -64,57 +64,354 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
index ddeabd8fa6..a7240ff9a7 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -65,57 +65,353 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
index f9e62f215f..40a69c1ce4 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -79,47 +79,616 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='umip'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='avx'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='umip'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -130,6 +699,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index 010d3199fa..1452c4ddd1 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -64,57 +64,353 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
index 0451ee3439..c118289a42 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -66,57 +66,353 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
index a7ce3641bb..89b5758040 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -80,47 +80,609 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='avx'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -131,6 +693,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
index c980906edb..935cdcadfd 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -65,57 +65,353 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client</model>
+ <blockers model='Icelake-Client'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' deprecated='yes'
vendor='Intel'>Icelake-Client-noTSX</model>
+ <blockers model='Icelake-Client-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
index 83a75cc73d..58a39ed39c 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -67,55 +67,319 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
index 411eca05c9..387195c12a 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -80,45 +80,557 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='clzero'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='avx'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='avx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx'/>
+ <feature name='avx2'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='f16c'/>
+ <feature name='fma'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -129,6 +641,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
index 6113ccab7c..5082cc119f 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -66,55 +66,319 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
index 3505d0152d..bf6b22a6ad 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -72,55 +72,319 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
index 922e352362..6cc40ab932 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
@@ -69,45 +69,449 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -118,6 +522,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
index 922e352362..6cc40ab932 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -69,45 +69,449 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fsrm'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -118,6 +522,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index cb9ad6bb2b..3c698aea33 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -71,55 +71,319 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
index bd6cbb4066..c5c1b0fa69 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -72,56 +72,360 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
index ea8f687b7b..971d3398ce 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -73,46 +73,496 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='wbnoinvd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaveerptr'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='3dnowprefetch'/>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='3dnowprefetch'/>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mds-no'/>
+ <feature name='pcid'/>
+ <feature name='pschange-mc-no'/>
+ <feature name='rdctl-no'/>
+ <feature name='rdpid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='sha-ni'/>
+ <feature name='skip-l1dfl-vmentry'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='taa-no'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='wbnoinvd'/>
+ <feature name='x2apic'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='3dnowprefetch'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rdseed'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='3dnowprefetch'/>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='rdseed'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -123,6 +573,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
index 2820a95b37..34341b8559 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -71,56 +71,360 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
index 4761f862e4..5ad09e197c 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -74,58 +74,444 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
index 585b6540a3..a24986f04c 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -74,48 +74,505 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='gfni'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='sha-ni'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vnmi'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='sha-ni'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pcid'/>
+ <feature name='prefetchiti'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='x2apic'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='x2apic'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='sha-ni'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -126,6 +583,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.1.0.s390x.xml
b/tests/domaincapsdata/qemu_8.1.0.s390x.xml
index 5e1db1a65a..3564f74cad 100644
--- a/tests/domaincapsdata/qemu_8.1.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.s390x.xml
@@ -78,42 +78,163 @@
</mode>
<mode name='custom' supported='yes'>
<model usable='no' vendor='IBM'>gen15a</model>
+ <blockers model='gen15a'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>gen15a-base</model>
<model usable='no' vendor='IBM'>gen15b</model>
+ <blockers model='gen15b'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>gen15b-base</model>
<model usable='no' vendor='IBM'>gen16a</model>
+ <blockers model='gen16a'>
+ <feature name='beareh'/>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='nnpa'/>
+ <feature name='pai'/>
+ <feature name='paie'/>
+ <feature name='rdp'/>
+ <feature name='ri'/>
+ <feature name='type'/>
+ <feature name='vxpdeh2'/>
+ </blockers>
<model usable='no' vendor='IBM'>gen16a-base</model>
+ <blockers model='gen16a-base'>
+ <feature name='type'/>
+ </blockers>
<model usable='no' vendor='IBM'>gen16b</model>
+ <blockers model='gen16b'>
+ <feature name='beareh'/>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='nnpa'/>
+ <feature name='pai'/>
+ <feature name='paie'/>
+ <feature name='rdp'/>
+ <feature name='ri'/>
+ <feature name='type'/>
+ <feature name='vxpdeh2'/>
+ </blockers>
<model usable='no' vendor='IBM'>gen16b-base</model>
+ <blockers model='gen16b-base'>
+ <feature name='type'/>
+ </blockers>
<model usable='yes' vendor='unknown'>max</model>
<model usable='yes' vendor='unknown'>qemu</model>
<model usable='no' vendor='IBM'>z10BC</model>
+ <blockers model='z10BC'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10BC-base</model>
<model usable='no' vendor='IBM'>z10BC.2</model>
+ <blockers model='z10BC.2'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10BC.2-base</model>
<model usable='no' vendor='IBM'>z10EC</model>
+ <blockers model='z10EC'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10EC-base</model>
<model usable='no' vendor='IBM'>z10EC.2</model>
+ <blockers model='z10EC.2'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10EC.2-base</model>
<model usable='no' vendor='IBM'>z10EC.3</model>
+ <blockers model='z10EC.3'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10EC.3-base</model>
<model usable='no' vendor='IBM'>z114</model>
+ <blockers model='z114'>
+ <feature name='cmm'/>
+ <feature name='ipter'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z114-base</model>
<model usable='no' vendor='IBM'>z13</model>
+ <blockers model='z13'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z13-base</model>
<model usable='no' vendor='IBM'>z13.2</model>
+ <blockers model='z13.2'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z13.2-base</model>
<model usable='no' vendor='IBM'>z13s</model>
+ <blockers model='z13s'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z13s-base</model>
<model usable='no' vendor='IBM'>z14</model>
+ <blockers model='z14'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z14-base</model>
<model usable='no' vendor='IBM'>z14.2</model>
+ <blockers model='z14.2'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z14.2-base</model>
<model usable='no' vendor='IBM'>z14ZR1</model>
+ <blockers model='z14ZR1'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z14ZR1-base</model>
<model usable='no' vendor='IBM'>z196</model>
+ <blockers model='z196'>
+ <feature name='cmm'/>
+ <feature name='ipter'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z196-base</model>
<model usable='no' vendor='IBM'>z196.2</model>
+ <blockers model='z196.2'>
+ <feature name='cmm'/>
+ <feature name='ipter'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z196.2-base</model>
<model usable='yes' vendor='IBM'>z800</model>
<model usable='yes' vendor='IBM'>z800-base</model>
@@ -140,20 +261,53 @@
<model usable='yes' vendor='IBM'>z990.5</model>
<model usable='yes' vendor='IBM'>z990.5-base</model>
<model usable='no' vendor='IBM'>z9BC</model>
+ <blockers model='z9BC'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9BC-base</model>
<model usable='no' vendor='IBM'>z9BC.2</model>
+ <blockers model='z9BC.2'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9BC.2-base</model>
<model usable='no' vendor='IBM'>z9EC</model>
+ <blockers model='z9EC'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9EC-base</model>
<model usable='no' vendor='IBM'>z9EC.2</model>
+ <blockers model='z9EC.2'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9EC.2-base</model>
<model usable='no' vendor='IBM'>z9EC.3</model>
+ <blockers model='z9EC.3'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9EC.3-base</model>
<model usable='no' vendor='IBM'>zBC12</model>
+ <blockers model='zBC12'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>zBC12-base</model>
<model usable='no' vendor='IBM'>zEC12</model>
+ <blockers model='zEC12'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>zEC12-base</model>
<model usable='no' vendor='IBM'>zEC12.2</model>
+ <blockers model='zEC12.2'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>zEC12.2-base</model>
</mode>
</cpu>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index 28e0757b86..c93e05ec60 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -73,58 +73,444 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
index 0a91be679b..fda177a385 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -75,58 +75,444 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
index 7744bf95d3..694d55f5d8 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -73,48 +73,497 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='gfni'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vnmi'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pcid'/>
+ <feature name='prefetchiti'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='x2apic'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='x2apic'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -125,6 +574,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_8.2.0.s390x.xml
b/tests/domaincapsdata/qemu_8.2.0.s390x.xml
index 67ddc87b31..bcd3f68503 100644
--- a/tests/domaincapsdata/qemu_8.2.0.s390x.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.s390x.xml
@@ -78,42 +78,163 @@
</mode>
<mode name='custom' supported='yes'>
<model usable='no' vendor='IBM'>gen15a</model>
+ <blockers model='gen15a'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>gen15a-base</model>
<model usable='no' vendor='IBM'>gen15b</model>
+ <blockers model='gen15b'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>gen15b-base</model>
<model usable='no' vendor='IBM'>gen16a</model>
+ <blockers model='gen16a'>
+ <feature name='beareh'/>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='nnpa'/>
+ <feature name='pai'/>
+ <feature name='paie'/>
+ <feature name='rdp'/>
+ <feature name='ri'/>
+ <feature name='type'/>
+ <feature name='vxpdeh2'/>
+ </blockers>
<model usable='no' vendor='IBM'>gen16a-base</model>
+ <blockers model='gen16a-base'>
+ <feature name='type'/>
+ </blockers>
<model usable='no' vendor='IBM'>gen16b</model>
+ <blockers model='gen16b'>
+ <feature name='beareh'/>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='nnpa'/>
+ <feature name='pai'/>
+ <feature name='paie'/>
+ <feature name='rdp'/>
+ <feature name='ri'/>
+ <feature name='type'/>
+ <feature name='vxpdeh2'/>
+ </blockers>
<model usable='no' vendor='IBM'>gen16b-base</model>
+ <blockers model='gen16b-base'>
+ <feature name='type'/>
+ </blockers>
<model usable='yes' vendor='unknown'>max</model>
<model usable='yes' vendor='unknown'>qemu</model>
<model usable='no' vendor='IBM'>z10BC</model>
+ <blockers model='z10BC'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10BC-base</model>
<model usable='no' vendor='IBM'>z10BC.2</model>
+ <blockers model='z10BC.2'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10BC.2-base</model>
<model usable='no' vendor='IBM'>z10EC</model>
+ <blockers model='z10EC'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10EC-base</model>
<model usable='no' vendor='IBM'>z10EC.2</model>
+ <blockers model='z10EC.2'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10EC.2-base</model>
<model usable='no' vendor='IBM'>z10EC.3</model>
+ <blockers model='z10EC.3'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z10EC.3-base</model>
<model usable='no' vendor='IBM'>z114</model>
+ <blockers model='z114'>
+ <feature name='cmm'/>
+ <feature name='ipter'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z114-base</model>
<model usable='no' vendor='IBM'>z13</model>
+ <blockers model='z13'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z13-base</model>
<model usable='no' vendor='IBM'>z13.2</model>
+ <blockers model='z13.2'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z13.2-base</model>
<model usable='no' vendor='IBM'>z13s</model>
+ <blockers model='z13s'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z13s-base</model>
<model usable='no' vendor='IBM'>z14</model>
+ <blockers model='z14'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z14-base</model>
<model usable='no' vendor='IBM'>z14.2</model>
+ <blockers model='z14.2'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z14.2-base</model>
<model usable='no' vendor='IBM'>z14ZR1</model>
+ <blockers model='z14ZR1'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='mepoch'/>
+ <feature name='mepochptff'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z14ZR1-base</model>
<model usable='no' vendor='IBM'>z196</model>
+ <blockers model='z196'>
+ <feature name='cmm'/>
+ <feature name='ipter'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z196-base</model>
<model usable='no' vendor='IBM'>z196.2</model>
+ <blockers model='z196.2'>
+ <feature name='cmm'/>
+ <feature name='ipter'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z196.2-base</model>
<model usable='yes' vendor='IBM'>z800</model>
<model usable='yes' vendor='IBM'>z800-base</model>
@@ -140,20 +261,53 @@
<model usable='yes' vendor='IBM'>z990.5</model>
<model usable='yes' vendor='IBM'>z990.5-base</model>
<model usable='no' vendor='IBM'>z9BC</model>
+ <blockers model='z9BC'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9BC-base</model>
<model usable='no' vendor='IBM'>z9BC.2</model>
+ <blockers model='z9BC.2'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9BC.2-base</model>
<model usable='no' vendor='IBM'>z9EC</model>
+ <blockers model='z9EC'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9EC-base</model>
<model usable='no' vendor='IBM'>z9EC.2</model>
+ <blockers model='z9EC.2'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9EC.2-base</model>
<model usable='no' vendor='IBM'>z9EC.3</model>
+ <blockers model='z9EC.3'>
+ <feature name='cmm'/>
+ </blockers>
<model usable='yes' vendor='IBM'>z9EC.3-base</model>
<model usable='no' vendor='IBM'>zBC12</model>
+ <blockers model='zBC12'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>zBC12-base</model>
<model usable='no' vendor='IBM'>zEC12</model>
+ <blockers model='zEC12'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>zEC12-base</model>
<model usable='no' vendor='IBM'>zEC12.2</model>
+ <blockers model='zEC12.2'>
+ <feature name='cmm'/>
+ <feature name='edat2'/>
+ <feature name='ipter'/>
+ <feature name='ri'/>
+ </blockers>
<model usable='yes' vendor='IBM'>zEC12.2-base</model>
</mode>
</cpu>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index bbc940d77d..35badddb3d 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -74,58 +74,444 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
index 3c3358026b..01e31c538f 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -75,58 +75,444 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
index b30babfaee..6449ffefb2 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -75,48 +75,471 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='gfni'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vnmi'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pcid'/>
+ <feature name='prefetchiti'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -127,6 +550,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
index 632c076681..3f3f25cf23 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -74,58 +74,444 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
index a545b88560..6dd5dcd7a5 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -79,59 +79,471 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>SierraForest</model>
+ <blockers model='SierraForest'>
+ <feature name='avx-ifma'/>
+ <feature name='avx-ne-convert'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx-vnni-int8'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='cmpccxadd'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='gfni'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='psdp-no'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
index b47a85c294..739af1fa35 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -74,49 +74,491 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='gfni'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vnmi'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pcid'/>
+ <feature name='prefetchiti'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>SierraForest</model>
+ <blockers model='SierraForest'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-ifma'/>
+ <feature name='avx-ne-convert'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx-vnni-int8'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pcid'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -127,6 +569,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index dad7e70424..46a54d8c53 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -78,59 +78,471 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>SierraForest</model>
+ <blockers model='SierraForest'>
+ <feature name='avx-ifma'/>
+ <feature name='avx-ne-convert'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx-vnni-int8'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='cmpccxadd'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='gfni'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='psdp-no'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
index 9cbed26a3e..deff784eeb 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -79,59 +79,471 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>SierraForest</model>
+ <blockers model='SierraForest'>
+ <feature name='avx-ifma'/>
+ <feature name='avx-ne-convert'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx-vnni-int8'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='cmpccxadd'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='gfni'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='psdp-no'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
index 2b040ce086..40da25e78b 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -74,49 +74,491 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='stibp'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Hygon'>Dhyana</model>
+ <blockers model='Dhyana'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC</model>
+ <blockers model='EPYC'>
+ <feature name='fxsr_opt'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='gfni'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='lfence-always-serializing'/>
+ <feature name='misalignsse'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='nrip-save'/>
+ <feature name='null-sel-clr-base'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='stibp-always-on'/>
+ <feature name='topoext'/>
+ <feature name='vnmi'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-IBPB</model>
+ <blockers model='EPYC-IBPB'>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='amd-ssbd'/>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='pcid'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='amd-stibp'/>
+ <feature name='clzero'/>
+ <feature name='fxsr_opt'/>
+ <feature name='ibpb'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='osvw'/>
+ <feature name='perfctr_core'/>
+ <feature name='topoext'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pcid'/>
+ <feature name='prefetchiti'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='no' vendor='AMD'>Opteron_G3</model>
+ <blockers model='Opteron_G3'>
+ <feature name='misalignsse'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='misalignsse'/>
+ <feature name='nrip-save'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='no' vendor='Intel'>SandyBridge</model>
+ <blockers model='SandyBridge'>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>SierraForest</model>
+ <blockers model='SierraForest'>
+ <feature name='arch-capabilities'/>
+ <feature name='avx-ifma'/>
+ <feature name='avx-ne-convert'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx-vnni-int8'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pcid'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsavec'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='arch-capabilities'/>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ <feature name='ssbd'/>
+ <feature name='tsc-deadline'/>
+ <feature name='xsavec'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>athlon</model>
<model usable='yes' vendor='Intel'>core2duo</model>
<model usable='yes' vendor='Intel'>coreduo</model>
@@ -127,6 +569,9 @@
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='fxsr_opt'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index fa4651e8ac..393d24c2ba 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -78,59 +78,471 @@
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>486</model>
<model usable='no' vendor='Intel'>Broadwell</model>
+ <blockers model='Broadwell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-IBRS</model>
+ <blockers model='Broadwell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX</model>
+ <blockers model='Broadwell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Broadwell-noTSX-IBRS</model>
+ <blockers model='Broadwell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server</model>
+ <blockers model='Cascadelake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Cascadelake-Server-noTSX</model>
+ <blockers model='Cascadelake-Server-noTSX'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>Cooperlake</model>
+ <blockers model='Cooperlake'>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ </blockers>
<model usable='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='no' vendor='AMD'>EPYC-Genoa</model>
+ <blockers model='EPYC-Genoa'>
+ <feature name='amd-psfd'/>
+ <feature name='auto-ibrs'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='gfni'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='no-nested-data-bp'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='stibp-always-on'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='no' vendor='AMD'>EPYC-Milan</model>
+ <blockers model='EPYC-Milan'>
+ <feature name='erms'/>
+ <feature name='fsrm'/>
+ <feature name='ibrs'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='AMD'>EPYC-Rome</model>
+ <blockers model='EPYC-Rome'>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>GraniteRapids</model>
+ <blockers model='GraniteRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-fp16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='prefetchiti'/>
+ <feature name='psdp-no'/>
+ <feature name='rtm'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell</model>
+ <blockers model='Haswell'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no' vendor='Intel'>Haswell-IBRS</model>
+ <blockers model='Haswell-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX</model>
+ <blockers model='Haswell-noTSX'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Haswell-noTSX-IBRS</model>
+ <blockers model='Haswell-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server</model>
+ <blockers model='Icelake-Server'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Icelake-Server-noTSX</model>
+ <blockers model='Icelake-Server-noTSX'>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ </blockers>
<model usable='no' vendor='Intel'>IvyBridge</model>
+ <blockers model='IvyBridge'>
+ <feature name='erms'/>
+ </blockers>
<model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <blockers model='IvyBridge-IBRS'>
+ <feature name='erms'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
+ <blockers model='Nehalem-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
+ <blockers model='Opteron_G4'>
+ <feature name='fma4'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
+ <blockers model='Opteron_G5'>
+ <feature name='fma4'/>
+ <feature name='tbm'/>
+ <feature name='xop'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no'
vendor='Intel'>SandyBridge-IBRS</model>
+ <blockers model='SandyBridge-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>SapphireRapids</model>
+ <blockers model='SapphireRapids'>
+ <feature name='amx-bf16'/>
+ <feature name='amx-int8'/>
+ <feature name='amx-tile'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx512-bf16'/>
+ <feature name='avx512-fp16'/>
+ <feature name='avx512-vpopcntdq'/>
+ <feature name='avx512bitalg'/>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512ifma'/>
+ <feature name='avx512vbmi'/>
+ <feature name='avx512vbmi2'/>
+ <feature name='avx512vl'/>
+ <feature name='avx512vnni'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='erms'/>
+ <feature name='fsrc'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='fzrm'/>
+ <feature name='gfni'/>
+ <feature name='hle'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='la57'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='taa-no'/>
+ <feature name='tsx-ldtrk'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xfd'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no' vendor='Intel'>SierraForest</model>
+ <blockers model='SierraForest'>
+ <feature name='avx-ifma'/>
+ <feature name='avx-ne-convert'/>
+ <feature name='avx-vnni'/>
+ <feature name='avx-vnni-int8'/>
+ <feature name='bus-lock-detect'/>
+ <feature name='cmpccxadd'/>
+ <feature name='erms'/>
+ <feature name='fbsdp-no'/>
+ <feature name='fsrm'/>
+ <feature name='fsrs'/>
+ <feature name='gfni'/>
+ <feature name='ibrs-all'/>
+ <feature name='invpcid'/>
+ <feature name='mcdt-no'/>
+ <feature name='pbrsb-no'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='psdp-no'/>
+ <feature name='sbdr-ssdp-no'/>
+ <feature name='serialize'/>
+ <feature name='spec-ctrl'/>
+ <feature name='vaes'/>
+ <feature name='vpclmulqdq'/>
+ <feature name='xsaves'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client</model>
+ <blockers model='Skylake-Client'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-IBRS</model>
+ <blockers model='Skylake-Client-IBRS'>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
+ <blockers model='Skylake-Client-noTSX-IBRS'>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server</model>
+ <blockers model='Skylake-Server'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-IBRS</model>
+ <blockers model='Skylake-Server-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='hle'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='rtm'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no'
vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
+ <blockers model='Skylake-Server-noTSX-IBRS'>
+ <feature name='avx512bw'/>
+ <feature name='avx512cd'/>
+ <feature name='avx512dq'/>
+ <feature name='avx512f'/>
+ <feature name='avx512vl'/>
+ <feature name='erms'/>
+ <feature name='invpcid'/>
+ <feature name='pcid'/>
+ <feature name='pku'/>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='Intel'>Snowridge</model>
+ <blockers model='Snowridge'>
+ <feature name='cldemote'/>
+ <feature name='core-capability'/>
+ <feature name='erms'/>
+ <feature name='gfni'/>
+ <feature name='movdir64b'/>
+ <feature name='movdiri'/>
+ <feature name='mpx'/>
+ <feature name='spec-ctrl'/>
+ <feature name='split-lock-detect'/>
+ </blockers>
<model usable='yes' vendor='Intel'>Westmere</model>
<model usable='no'
vendor='Intel'>Westmere-IBRS</model>
+ <blockers model='Westmere-IBRS'>
+ <feature name='spec-ctrl'/>
+ </blockers>
<model usable='no' vendor='AMD'>athlon</model>
+ <blockers model='athlon'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='no' vendor='Intel'>core2duo</model>
+ <blockers model='core2duo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='no' vendor='Intel'>coreduo</model>
+ <blockers model='coreduo'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
+ <blockers model='n270'>
+ <feature name='ss'/>
+ </blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
+ <blockers model='phenom'>
+ <feature name='3dnow'/>
+ <feature name='3dnowext'/>
+ </blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</model>
</mode>
--
2.47.0