Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
Notes:
Version 2:
- IvyBridge-v2 defined as IvyBridge-IBRS
- <decode host='on' guest='off'/> for all versioned models
- canonical CPU models in domain capabilities
src/cpu_map/index.xml | 2 ++
src/cpu_map/meson.build | 2 ++
src/cpu_map/x86_IvyBridge-v1.xml | 6 ++++++
src/cpu_map/x86_IvyBridge-v2.xml | 6 ++++++
.../x86_64-cpuid-Core-i7-3520M-host.xml | 2 +-
.../x86_64-cpuid-Core-i7-3740QM-host.xml | 2 +-
.../x86_64-cpuid-Core-i7-3770-host.xml | 2 +-
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 19 +++++++++++++++++--
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 19 +++++++++++++++++--
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 19 +++++++++++++++++--
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 19 +++++++++++++++++--
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 19 +++++++++++++++++--
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 19 +++++++++++++++++--
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 13 +++++++++++--
.../qemu_7.2.0-tcg.x86_64+hvf.xml | 15 +++++++++++++--
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 15 +++++++++++++--
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 15 +++++++++++++--
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 15 +++++++++++++--
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 15 +++++++++++++--
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 13 +++++++++++--
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 13 +++++++++++--
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 13 +++++++++++--
.../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 13 +++++++++++--
tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 13 +++++++++++--
47 files changed, 505 insertions(+), 83 deletions(-)
create mode 100644 src/cpu_map/x86_IvyBridge-v1.xml
create mode 100644 src/cpu_map/x86_IvyBridge-v2.xml
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
index c94be551fb..02e15bc0fb 100644
--- a/src/cpu_map/index.xml
+++ b/src/cpu_map/index.xml
@@ -37,6 +37,8 @@
<include filename='x86_SandyBridge-IBRS.xml'/>
<include filename='x86_IvyBridge.xml'/>
<include filename='x86_IvyBridge-IBRS.xml'/>
+ <include filename='x86_IvyBridge-v1.xml'/>
+ <include filename='x86_IvyBridge-v2.xml'/>
<include filename='x86_Haswell-noTSX.xml'/>
<include filename='x86_Haswell-noTSX-IBRS.xml'/>
<include filename='x86_Haswell.xml'/>
diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build
index e230ade8f0..5f5cbc6049 100644
--- a/src/cpu_map/meson.build
+++ b/src/cpu_map/meson.build
@@ -76,6 +76,8 @@ cpumap_data = [
'x86_Icelake-Server-v7.xml',
'x86_Icelake-Server.xml',
'x86_IvyBridge-IBRS.xml',
+ 'x86_IvyBridge-v1.xml',
+ 'x86_IvyBridge-v2.xml',
'x86_IvyBridge.xml',
'x86_kvm32.xml',
'x86_kvm64.xml',
diff --git a/src/cpu_map/x86_IvyBridge-v1.xml b/src/cpu_map/x86_IvyBridge-v1.xml
new file mode 100644
index 0000000000..6c72db378b
--- /dev/null
+++ b/src/cpu_map/x86_IvyBridge-v1.xml
@@ -0,0 +1,6 @@
+<cpus>
+ <model name='IvyBridge-v1'>
+ <decode host='on' guest='off'/>
+ <model name='IvyBridge'/>
+ </model>
+</cpus>
diff --git a/src/cpu_map/x86_IvyBridge-v2.xml b/src/cpu_map/x86_IvyBridge-v2.xml
new file mode 100644
index 0000000000..e5dae3095a
--- /dev/null
+++ b/src/cpu_map/x86_IvyBridge-v2.xml
@@ -0,0 +1,6 @@
+<cpus>
+ <model name='IvyBridge-v2'>
+ <decode host='on' guest='off'/>
+ <model name='IvyBridge-IBRS'/>
+ </model>
+</cpus>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
index 0a31450732..c2a10377e5 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3520M-host.xml
@@ -1,6 +1,6 @@
<cpu>
<arch>x86_64</arch>
- <model>IvyBridge</model>
+ <model>IvyBridge-v1</model>
<vendor>Intel</vendor>
<signature family='6' model='58' stepping='9'/>
<feature name='dtes64'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
index 126eb09786..88459cdf90 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3740QM-host.xml
@@ -1,6 +1,6 @@
<cpu>
<arch>x86_64</arch>
- <model>IvyBridge</model>
+ <model>IvyBridge-v1</model>
<vendor>Intel</vendor>
<signature family='6' model='58' stepping='9'/>
<feature name='dtes64'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
index 0a31450732..c2a10377e5 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-3770-host.xml
@@ -1,6 +1,6 @@
<cpu>
<arch>x86_64</arch>
- <model>IvyBridge</model>
+ <model>IvyBridge-v1</model>
<vendor>Intel</vendor>
<signature family='6' model='58' stepping='9'/>
<feature name='dtes64'/>
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 b44ea2611d..91470f547c 100644
--- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml
@@ -496,15 +496,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 799996be48..ea9d251170 100644
--- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
@@ -852,14 +852,14 @@
<feature name='x2apic'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>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>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='avx'/>
<feature name='f16c'/>
@@ -867,6 +867,21 @@
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
index 252f6afa18..5595aa189f 100644
--- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
@@ -495,15 +495,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 beaa1dafbd..67e9581392 100644
--- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
@@ -505,15 +505,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 36163763f8..dece2c5a51 100644
--- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
@@ -884,14 +884,14 @@
<feature name='x2apic'/>
<feature name='xsavec'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>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>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='avx'/>
<feature name='f16c'/>
@@ -899,6 +899,21 @@
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
index eed3864bb1..b20142b754 100644
--- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml
@@ -504,15 +504,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 c3b4c79732..20cf24f7d2 100644
--- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
@@ -569,15 +569,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 d584638f33..8c105600d1 100644
--- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml
@@ -992,14 +992,14 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>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>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='avx'/>
<feature name='f16c'/>
@@ -1007,6 +1007,21 @@
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
index 5bb327039d..d04712fac0 100644
--- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml
@@ -568,15 +568,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 5d5fbc9c31..fcb4bc875c 100644
--- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml
@@ -566,15 +566,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 5165e04d78..89d88b5ba6 100644
--- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml
@@ -990,14 +990,14 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>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>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='avx'/>
<feature name='f16c'/>
@@ -1005,6 +1005,21 @@
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
index d1cf0e9702..dd65742683 100644
--- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml
@@ -565,15 +565,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 758066b64b..7a8c833ffb 100644
--- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml
@@ -593,15 +593,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 ed7c6225c0..e180310c57 100644
--- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml
@@ -1022,14 +1022,14 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>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>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='avx'/>
<feature name='f16c'/>
@@ -1037,6 +1037,21 @@
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
index 8cde45efa8..0e27307188 100644
--- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml
@@ -592,15 +592,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 64b5033873..63b5f3daeb 100644
--- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml
@@ -560,15 +560,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 4bebb680d0..f2f45a3159 100644
--- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml
@@ -970,14 +970,14 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>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>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='avx'/>
<feature name='f16c'/>
@@ -985,6 +985,21 @@
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='avx'/>
+ <feature name='f16c'/>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
index f4c7fb0089..4596b3cfaa 100644
--- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml
@@ -559,15 +559,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 a0fb5fad67..eb02099bdd 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -565,15 +565,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 17e4b135bb..8833bf346f 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
@@ -795,17 +795,28 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='spec-ctrl'/>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 17e4b135bb..8833bf346f 100644
--- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml
@@ -795,17 +795,28 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='spec-ctrl'/>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index 17bd1d5c75..abb210a30b 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -564,15 +564,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 9e69036f90..283617171c 100644
--- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml
@@ -565,15 +565,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 3192c6cd1f..65e487ff9e 100644
--- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml
@@ -795,17 +795,28 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='spec-ctrl'/>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
index 79e5eeddc6..0760bdaac4 100644
--- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml
@@ -564,15 +564,24 @@
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 dfbaeb4d7a..e1d63a9007 100644
--- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml
@@ -703,15 +703,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 035eb24b03..edd510b459 100644
--- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml
@@ -777,17 +777,28 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='spec-ctrl'/>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
index 13aa743b8a..db88c10e02 100644
--- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml
@@ -702,15 +702,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 649abc64fc..32ca16ad7a 100644
--- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml
@@ -704,15 +704,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 9451fc7a44..bbedbc97e8 100644
--- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml
@@ -766,17 +766,28 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='spec-ctrl'/>
<feature name='tsc-deadline'/>
<feature name='x2apic'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='tsc-deadline'/>
+ <feature name='x2apic'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
index b8d4756e68..dbb2f570c4 100644
--- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml
@@ -703,15 +703,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 dfcacf6e6f..1bb022ed96 100644
--- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml
@@ -704,15 +704,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 17b0727063..36e94c5332 100644
--- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml
@@ -732,15 +732,24 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='tsc-deadline'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='spec-ctrl'/>
<feature name='tsc-deadline'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='tsc-deadline'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
index b378b91201..1f322d41c3 100644
--- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml
@@ -703,15 +703,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 e48cdd2a2e..1a646e25eb 100644
--- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml
@@ -737,15 +737,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 08d7cc0ca7..5ed8b25139 100644
--- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml
@@ -757,15 +757,24 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='tsc-deadline'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='spec-ctrl'/>
<feature name='tsc-deadline'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='tsc-deadline'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
index 684c342df6..fa46dd5393 100644
--- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml
@@ -736,15 +736,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 2d670ffaf4..3cfbed919a 100644
--- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml
@@ -737,15 +737,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
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 9823a24b7d..f6f461bbf4 100644
--- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml
@@ -757,15 +757,24 @@
<feature name='xsavec'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='tsc-deadline'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='spec-ctrl'/>
<feature name='tsc-deadline'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='tsc-deadline'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
index ce834cb4d5..f2f765ade9 100644
--- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml
@@ -736,15 +736,24 @@
<feature name='vpclmulqdq'/>
<feature name='xsaves'/>
</blockers>
- <model usable='no' vendor='Intel'>IvyBridge</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
- <model usable='no'
vendor='Intel'>IvyBridge-IBRS</model>
+ <model usable='no' vendor='Intel'
canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v1</model>
+ <blockers model='IvyBridge-v1'>
+ <feature name='erms'/>
+ </blockers>
+ <model usable='no' vendor='Intel'>IvyBridge-v2</model>
+ <blockers model='IvyBridge-v2'>
+ <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'>
--
2.47.0