Merge ~paelzer/ubuntu/+source/libvirt:lp-1887490-EPYC-Rome-GROOVY into ubuntu/+source/libvirt:ubuntu/groovy-devel

Proposed by Christian Ehrhardt 
Status: Merged
Approved by: Christian Ehrhardt 
Approved revision: 60ccec5f0677b9aacc146923382ea09f159ff3b1
Merged at revision: 60ccec5f0677b9aacc146923382ea09f159ff3b1
Proposed branch: ~paelzer/ubuntu/+source/libvirt:lp-1887490-EPYC-Rome-GROOVY
Merge into: ubuntu/+source/libvirt:ubuntu/groovy-devel
Diff against target: 3136 lines (+3096/-0)
6 files modified
debian/changelog (+7/-0)
debian/patches/series (+4/-0)
debian/patches/ubuntu/lp-1887490-Add-testdata-for-AMD-EPYC-7502.patch (+2167/-0)
debian/patches/ubuntu/lp-1887490-cpu_map-Defined-and-enable-EPYC-Rome-model.patch (+429/-0)
debian/patches/ubuntu/lp-1887490-cpu_map-Remove-monitor-feature-from-EPYC-Rome.patch (+121/-0)
debian/patches/ubuntu/lp-1887490-cputest-Update-QEMU-data-for-Ryzen-9-3900X.patch (+368/-0)
Reviewer Review Type Date Requested Status
Lucas Kanashiro (community) Approve
Canonical Server Pending
Canonical Server packageset reviewers Pending
Review via email: mp+391963@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Pre-tests good now (see updates on the bug)

Self-tests started, but still running on:
 https://bileto.ubuntu.com/excuses/4303/groovy.html

It is a fix in the sense of keeping HW-compatibility up to date.
We'd SRU this anyway which has harder pre-reqs than an FFe.
So if this is SRU compatible (which it is) do we also need an FFe "on top" opinions?

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Libvirt autopkgtest completed on the link above.
(very) ready for review now :-)

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

I did not test the feature myself but I did the packaging checks. The changelog and all the patches look good (all headers in place). It built fine in all the architectures in the PPA, but the bileto ticket reported a couple of non-i386 regressions (debci and vagrant-libvirt), are those regressions a problem? It might not be because they seem to fail in all architectures and it might be a known issue.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

yes vagrant and debci are known badtests and not due to these changes.

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

+1 then.

review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading libvirt_6.6.0-1ubuntu3.dsc: done.
  Uploading libvirt_6.6.0-1ubuntu3.debian.tar.xz: done.
  Uploading libvirt_6.6.0-1ubuntu3_source.buildinfo: done.
  Uploading libvirt_6.6.0-1ubuntu3_source.changes: done.
Successfully uploaded packages.

To ssh://git.launchpad.net/~usd-import-team/ubuntu/+source/libvirt
 * [new tag] upload/6.6.0-1ubuntu3 -> upload/6.6.0-1ubuntu3

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 90e66db..b07560e 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,10 @@
6+libvirt (6.6.0-1ubuntu3) groovy; urgency=medium
7+
8+ * d/p/ubuntu/lp-1887490-*: add named types and definitions for EPYC-Rome
9+ chips (LP: #1887490)
10+
11+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Thu, 08 Oct 2020 07:36:06 +0200
12+
13 libvirt (6.6.0-1ubuntu2) groovy; urgency=medium
14
15 * d/p/u/lp-1892826-Revert-m4-virt-xdr-rewrite-XDR-check.patch: avoid clashes
16diff --git a/debian/patches/series b/debian/patches/series
17index e8a58b2..453f287 100644
18--- a/debian/patches/series
19+++ b/debian/patches/series
20@@ -42,3 +42,7 @@ ubuntu-aa/apparmor-profiles-are-meant-to-allow-adding-permanen.patch
21 ubuntu-aa/apparmor-allow-unmounting-.dev-entries.patch
22 ubuntu/lp-1892826-Revert-m4-virt-xdr-rewrite-XDR-check.patch
23 ubuntu-aa/lp-1892736-apparmor-allow-libvirtd-to-call-virtiofsd.patch
24+ubuntu/lp-1887490-Add-testdata-for-AMD-EPYC-7502.patch
25+ubuntu/lp-1887490-cpu_map-Defined-and-enable-EPYC-Rome-model.patch
26+ubuntu/lp-1887490-cputest-Update-QEMU-data-for-Ryzen-9-3900X.patch
27+ubuntu/lp-1887490-cpu_map-Remove-monitor-feature-from-EPYC-Rome.patch
28diff --git a/debian/patches/ubuntu/lp-1887490-Add-testdata-for-AMD-EPYC-7502.patch b/debian/patches/ubuntu/lp-1887490-Add-testdata-for-AMD-EPYC-7502.patch
29new file mode 100644
30index 0000000..8eb5fe0
31--- /dev/null
32+++ b/debian/patches/ubuntu/lp-1887490-Add-testdata-for-AMD-EPYC-7502.patch
33@@ -0,0 +1,2167 @@
34+From e06590f1708a599286f3ee3690b3dc50ee525d40 Mon Sep 17 00:00:00 2001
35+From: Markus Schade <markus.schade@hetzner.com>
36+Date: Thu, 1 Oct 2020 12:22:01 +0200
37+Subject: [PATCH] Add testdata for AMD EPYC 7502
38+
39+Signed-off-by: Markus Schade <markus.schade@hetzner.com>
40+Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
41+
42+Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/e06590f17
43+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1887490
44+Last-Update: 2020-10-08
45+
46+---
47+ tests/cputest.c | 1 +
48+ ...86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 9 +
49+ ...x86_64-cpuid-EPYC-7502-32-Core-enabled.xml | 11 +
50+ .../x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 42 +
51+ .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 43 +
52+ .../x86_64-cpuid-EPYC-7502-32-Core-json.xml | 31 +
53+ .../x86_64-cpuid-EPYC-7502-32-Core.json | 1866 +++++++++++++++++
54+ .../x86_64-cpuid-EPYC-7502-32-Core.sig | 4 +
55+ .../x86_64-cpuid-EPYC-7502-32-Core.xml | 66 +
56+ 9 files changed, 2073 insertions(+)
57+ create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml
58+ create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-enabled.xml
59+ create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
60+ create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
61+ create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
62+ create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.json
63+ create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.sig
64+ create mode 100644 tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.xml
65+
66+diff --git a/tests/cputest.c b/tests/cputest.c
67+index 90f319bf9c..bf5ce84aa7 100644
68+--- a/tests/cputest.c
69++++ b/tests/cputest.c
70+@@ -1245,6 +1245,7 @@ mymain(void)
71+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Hygon-C86-7185-32-core", JSON_HOST);
72+ DO_TEST_CPUID(VIR_ARCH_X86_64, "EPYC-7601-32-Core", JSON_HOST);
73+ DO_TEST_CPUID(VIR_ARCH_X86_64, "EPYC-7601-32-Core-ibpb", JSON_MODELS_REQUIRED);
74++ DO_TEST_CPUID(VIR_ARCH_X86_64, "EPYC-7502-32-Core", JSON_MODELS);
75+ DO_TEST_CPUID(VIR_ARCH_X86_64, "FX-8150", JSON_NONE);
76+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-1352", JSON_NONE);
77+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Opteron-2350", JSON_HOST);
78+diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml
79+new file mode 100644
80+index 0000000000..ca71b9efb5
81+--- /dev/null
82++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml
83+@@ -0,0 +1,9 @@
84++<!-- Features disabled by QEMU -->
85++<cpudata arch='x86'>
86++ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x08000008' edx='0x10000000'/>
87++ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x00000000'/>
88++ <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
89++ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/>
90++ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
91++ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/>
92++</cpudata>
93+diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-enabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-enabled.xml
94+new file mode 100644
95+index 0000000000..09a9952c27
96+--- /dev/null
97++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-enabled.xml
98+@@ -0,0 +1,11 @@
99++<!-- Features enabled by QEMU -->
100++<cpudata arch='x86'>
101++ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0xf7f83203' edx='0x078bfbff'/>
102++ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
103++ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x219c01ab' ecx='0x00400004' edx='0xac000000'/>
104++ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
105++ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x008003f7' edx='0x2e500800'/>
106++ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x03009205' ecx='0x00000000' edx='0x00000000'/>
107++ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000009'/>
108++ <msr index='0x10a' edx='0x00000000' eax='0x00000069'/>
109++</cpudata>
110+diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
111+new file mode 100644
112+index 0000000000..1320f65a58
113+--- /dev/null
114++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
115+@@ -0,0 +1,42 @@
116++<cpu mode='custom' match='exact'>
117++ <model fallback='forbid'>EPYC-IBPB</model>
118++ <vendor>AMD</vendor>
119++ <feature policy='require' name='ht'/>
120++ <feature policy='require' name='osxsave'/>
121++ <feature policy='require' name='cmt'/>
122++ <feature policy='require' name='clwb'/>
123++ <feature policy='require' name='umip'/>
124++ <feature policy='require' name='rdpid'/>
125++ <feature policy='require' name='xsaves'/>
126++ <feature policy='require' name='mbm_total'/>
127++ <feature policy='require' name='mbm_local'/>
128++ <feature policy='require' name='cmp_legacy'/>
129++ <feature policy='require' name='extapic'/>
130++ <feature policy='require' name='ibs'/>
131++ <feature policy='require' name='skinit'/>
132++ <feature policy='require' name='wdt'/>
133++ <feature policy='require' name='tce'/>
134++ <feature policy='require' name='topoext'/>
135++ <feature policy='require' name='perfctr_core'/>
136++ <feature policy='require' name='perfctr_nb'/>
137++ <feature policy='require' name='invtsc'/>
138++ <feature policy='require' name='clzero'/>
139++ <feature policy='require' name='xsaveerptr'/>
140++ <feature policy='require' name='wbnoinvd'/>
141++ <feature policy='require' name='amd-stibp'/>
142++ <feature policy='require' name='amd-ssbd'/>
143++ <feature policy='require' name='npt'/>
144++ <feature policy='require' name='lbrv'/>
145++ <feature policy='require' name='svm-lock'/>
146++ <feature policy='require' name='nrip-save'/>
147++ <feature policy='require' name='tsc-scale'/>
148++ <feature policy='require' name='vmcb-clean'/>
149++ <feature policy='require' name='flushbyasid'/>
150++ <feature policy='require' name='decodeassists'/>
151++ <feature policy='require' name='pause-filter'/>
152++ <feature policy='require' name='pfthreshold'/>
153++ <feature policy='require' name='rdctl-no'/>
154++ <feature policy='require' name='skip-l1dfl-vmentry'/>
155++ <feature policy='require' name='mds-no'/>
156++ <feature policy='require' name='pschange-mc-no'/>
157++</cpu>
158+diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
159+new file mode 100644
160+index 0000000000..37905ec812
161+--- /dev/null
162++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
163+@@ -0,0 +1,43 @@
164++<cpu>
165++ <arch>x86_64</arch>
166++ <model>EPYC-IBPB</model>
167++ <vendor>AMD</vendor>
168++ <feature name='ht'/>
169++ <feature name='osxsave'/>
170++ <feature name='cmt'/>
171++ <feature name='clwb'/>
172++ <feature name='umip'/>
173++ <feature name='rdpid'/>
174++ <feature name='xsaves'/>
175++ <feature name='mbm_total'/>
176++ <feature name='mbm_local'/>
177++ <feature name='cmp_legacy'/>
178++ <feature name='extapic'/>
179++ <feature name='ibs'/>
180++ <feature name='skinit'/>
181++ <feature name='wdt'/>
182++ <feature name='tce'/>
183++ <feature name='topoext'/>
184++ <feature name='perfctr_core'/>
185++ <feature name='perfctr_nb'/>
186++ <feature name='invtsc'/>
187++ <feature name='clzero'/>
188++ <feature name='xsaveerptr'/>
189++ <feature name='wbnoinvd'/>
190++ <feature name='amd-stibp'/>
191++ <feature name='amd-ssbd'/>
192++ <feature name='npt'/>
193++ <feature name='lbrv'/>
194++ <feature name='svm-lock'/>
195++ <feature name='nrip-save'/>
196++ <feature name='tsc-scale'/>
197++ <feature name='vmcb-clean'/>
198++ <feature name='flushbyasid'/>
199++ <feature name='decodeassists'/>
200++ <feature name='pause-filter'/>
201++ <feature name='pfthreshold'/>
202++ <feature name='rdctl-no'/>
203++ <feature name='skip-l1dfl-vmentry'/>
204++ <feature name='mds-no'/>
205++ <feature name='pschange-mc-no'/>
206++</cpu>
207+diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
208+new file mode 100644
209+index 0000000000..225cf63852
210+--- /dev/null
211++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
212+@@ -0,0 +1,31 @@
213++<cpu mode='custom' match='exact'>
214++ <model fallback='forbid'>EPYC-IBPB</model>
215++ <vendor>AMD</vendor>
216++ <feature policy='require' name='x2apic'/>
217++ <feature policy='require' name='tsc-deadline'/>
218++ <feature policy='require' name='hypervisor'/>
219++ <feature policy='require' name='tsc_adjust'/>
220++ <feature policy='require' name='clwb'/>
221++ <feature policy='require' name='umip'/>
222++ <feature policy='require' name='rdpid'/>
223++ <feature policy='require' name='spec-ctrl'/>
224++ <feature policy='require' name='stibp'/>
225++ <feature policy='require' name='arch-capabilities'/>
226++ <feature policy='require' name='ssbd'/>
227++ <feature policy='require' name='xsaves'/>
228++ <feature policy='require' name='cmp_legacy'/>
229++ <feature policy='require' name='perfctr_core'/>
230++ <feature policy='require' name='clzero'/>
231++ <feature policy='require' name='xsaveerptr'/>
232++ <feature policy='require' name='wbnoinvd'/>
233++ <feature policy='require' name='amd-stibp'/>
234++ <feature policy='require' name='amd-ssbd'/>
235++ <feature policy='require' name='virt-ssbd'/>
236++ <feature policy='require' name='npt'/>
237++ <feature policy='require' name='nrip-save'/>
238++ <feature policy='require' name='rdctl-no'/>
239++ <feature policy='require' name='skip-l1dfl-vmentry'/>
240++ <feature policy='require' name='mds-no'/>
241++ <feature policy='require' name='pschange-mc-no'/>
242++ <feature policy='disable' name='monitor'/>
243++</cpu>
244+diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.json b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.json
245+new file mode 100644
246+index 0000000000..06c265d829
247+--- /dev/null
248++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.json
249+@@ -0,0 +1,1866 @@
250++{
251++ "return": {
252++ "model": {
253++ "name": "base",
254++ "props": {
255++ "vmx-entry-load-rtit-ctl": false,
256++ "phys-bits": 0,
257++ "core-id": -1,
258++ "xlevel": 2147483679,
259++ "cmov": true,
260++ "ia64": false,
261++ "ssb-no": false,
262++ "aes": true,
263++ "vmx-apicv-xapic": false,
264++ "mmx": true,
265++ "arat": true,
266++ "rdpid": true,
267++ "vmx-page-walk-5": false,
268++ "vmx-page-walk-4": false,
269++ "vmx-desc-exit": false,
270++ "gfni": false,
271++ "ibrs-all": false,
272++ "pause-filter": false,
273++ "xsavec": true,
274++ "intel-pt": false,
275++ "vmx-cr8-store-exit": false,
276++ "hv-frequencies": false,
277++ "tsc-frequency": 0,
278++ "vmx-rdseed-exit": false,
279++ "xd": true,
280++ "x-intel-pt-auto-level": true,
281++ "hv-vendor-id": "",
282++ "vmx-eptp-switching": false,
283++ "kvm_asyncpf": true,
284++ "kvm-asyncpf": true,
285++ "perfctr_core": true,
286++ "perfctr-core": true,
287++ "mpx": false,
288++ "avx512cd": false,
289++ "pbe": false,
290++ "decodeassists": false,
291++ "vmx-exit-clear-bndcfgs": false,
292++ "vmx-exit-load-efer": false,
293++ "sse4_1": true,
294++ "sse4-1": true,
295++ "sse4.1": true,
296++ "family": 23,
297++ "legacy-cache": true,
298++ "vmx-vmwrite-vmexit-fields": false,
299++ "vmx-vnmi": false,
300++ "vmx-true-ctls": false,
301++ "host-phys-bits-limit": 0,
302++ "vmx-ept-execonly": false,
303++ "vmx-exit-save-efer": false,
304++ "vmx-invept-all-context": false,
305++ "vmware-cpuid-freq": true,
306++ "wbnoinvd": true,
307++ "avx512f": false,
308++ "xcrypt": false,
309++ "hv-runtime": false,
310++ "hv-stimer-direct": false,
311++ "mce": true,
312++ "mca": true,
313++ "msr": true,
314++ "thread-id": -1,
315++ "vmx-exit-load-pat": false,
316++ "vmx-intr-exit": false,
317++ "min-level": 16,
318++ "vmx-flexpriority": false,
319++ "xgetbv1": true,
320++ "cid": false,
321++ "hv-relaxed": false,
322++ "avx512-bf16": false,
323++ "ds": false,
324++ "hv-crash": false,
325++ "fxsr": true,
326++ "vmx-cr8-load-exit": false,
327++ "xsaveopt": true,
328++ "vmx-apicv-vid": false,
329++ "vmx-exit-save-pat": false,
330++ "tsx-ctrl": false,
331++ "xtpr": false,
332++ "vmx-ple": false,
333++ "hv-evmcs": false,
334++ "avx512-vpopcntdq": false,
335++ "phe": false,
336++ "avx512vl": false,
337++ "extapic": false,
338++ "vmx-vmfunc": false,
339++ "3dnowprefetch": true,
340++ "vmx-activity-shutdown": false,
341++ "avx512vbmi2": false,
342++ "cr8legacy": true,
343++ "vmx-encls-exit": false,
344++ "stibp": true,
345++ "vmx-msr-bitmap": false,
346++ "cpuid-0xb": true,
347++ "xcrypt-en": false,
348++ "vmx-mwait-exit": false,
349++ "kvm_pv_eoi": true,
350++ "vmx-pml": false,
351++ "apic-id": 4294967295,
352++ "vmx-nmi-exit": false,
353++ "vmx-invept-single-context-noglobals": false,
354++ "pn": false,
355++ "rsba": false,
356++ "dca": false,
357++ "vmx-unrestricted-guest": false,
358++ "vendor": "AuthenticAMD",
359++ "hv-ipi": false,
360++ "vmx-cr3-store-noexit": false,
361++ "pku": false,
362++ "smx": false,
363++ "cmp-legacy": true,
364++ "cmp_legacy": true,
365++ "node-id": -1,
366++ "avx512-4fmaps": false,
367++ "vmcb_clean": false,
368++ "vmcb-clean": false,
369++ "hle": false,
370++ "amd-no-ssb": false,
371++ "3dnowext": false,
372++ "npt": true,
373++ "rdctl-no": true,
374++ "vmx-invvpid": false,
375++ "memory": "/machine/unattached/system[0]",
376++ "clwb": true,
377++ "lbrv": false,
378++ "adx": true,
379++ "ss": false,
380++ "pni": true,
381++ "svm_lock": false,
382++ "svm-lock": false,
383++ "pfthreshold": false,
384++ "smap": true,
385++ "smep": true,
386++ "vmx-invpcid-exit": false,
387++ "x2apic": true,
388++ "avx512vnni": false,
389++ "avx512vbmi": false,
390++ "vmx-apicv-x2apic": false,
391++ "hv-stimer": false,
392++ "kvm-pv-sched-yield": true,
393++ "vmx-invlpg-exit": false,
394++ "x-hv-synic-kvm-only": false,
395++ "vmx-invvpid-all-context": false,
396++ "i64": true,
397++ "vmx-activity-hlt": false,
398++ "flushbyasid": false,
399++ "f16c": true,
400++ "vmx-exit-ack-intr": false,
401++ "ace2-en": false,
402++ "pae": true,
403++ "pat": true,
404++ "sse": true,
405++ "die-id": -1,
406++ "vmx-tsc-offset": false,
407++ "phe-en": false,
408++ "kvm_nopiodelay": true,
409++ "kvm-nopiodelay": true,
410++ "tm": false,
411++ "kvmclock-stable-bit": true,
412++ "vmx-rdtsc-exit": false,
413++ "hypervisor": true,
414++ "vmx-rdtscp-exit": false,
415++ "socket-id": -1,
416++ "mds-no": true,
417++ "pcommit": false,
418++ "vmx-vpid": false,
419++ "syscall": true,
420++ "level": 16,
421++ "avx512dq": false,
422++ "x-migrate-smi-count": true,
423++ "svm": true,
424++ "full-cpuid-auto-level": true,
425++ "hv-reset": false,
426++ "invtsc": false,
427++ "vmx-monitor-exit": false,
428++ "sse3": true,
429++ "sse2": true,
430++ "ssbd": true,
431++ "vmx-wbinvd-exit": false,
432++ "est": false,
433++ "kvm-poll-control": true,
434++ "kvm_poll_control": true,
435++ "avx512ifma": false,
436++ "tm2": false,
437++ "kvm-pv-eoi": true,
438++ "kvm-pv-ipi": true,
439++ "cx8": true,
440++ "vmx-invvpid-single-addr": false,
441++ "waitpkg": false,
442++ "cldemote": false,
443++ "vmx-ept": false,
444++ "hv-reenlightenment": false,
445++ "kvm_mmu": false,
446++ "kvm-mmu": false,
447++ "sse4-2": true,
448++ "sse4.2": true,
449++ "sse4_2": true,
450++ "pge": true,
451++ "fill-mtrr-mask": true,
452++ "avx512bitalg": false,
453++ "vmx-entry-load-bndcfgs": false,
454++ "nodeid_msr": false,
455++ "pdcm": false,
456++ "vmx-exit-clear-rtit-ctl": false,
457++ "model": 49,
458++ "movbe": true,
459++ "nrip_save": true,
460++ "nrip-save": true,
461++ "vmx-pause-exit": false,
462++ "ssse3": true,
463++ "kvm_pv_unhalt": true,
464++ "sse4a": true,
465++ "invpcid": false,
466++ "pdpe1gb": true,
467++ "tsc-deadline": true,
468++ "skip-l1dfl-vmentry": true,
469++ "vmx-exit-load-perf-global-ctrl": false,
470++ "fma": true,
471++ "cx16": true,
472++ "de": true,
473++ "enforce": false,
474++ "stepping": 0,
475++ "xsave": true,
476++ "clflush": true,
477++ "skinit": false,
478++ "tsc": true,
479++ "tce": false,
480++ "fpu": true,
481++ "ds-cpl": false,
482++ "ds_cpl": false,
483++ "ibs": false,
484++ "fma4": false,
485++ "host-phys-bits": false,
486++ "vmx-exit-nosave-debugctl": false,
487++ "vmx-invept": false,
488++ "la57": false,
489++ "osvw": true,
490++ "check": true,
491++ "hv-spinlocks": 4294967295,
492++ "vmx-eptad": false,
493++ "pmu": false,
494++ "vmx-entry-noload-debugctl": false,
495++ "pmm": false,
496++ "apic": true,
497++ "spec-ctrl": true,
498++ "vmx-posted-intr": false,
499++ "vmx-apicv-register": false,
500++ "min-xlevel2": 0,
501++ "tsc-adjust": true,
502++ "tsc_adjust": true,
503++ "kvm-steal-time": true,
504++ "kvm_steal_time": true,
505++ "kvmclock": true,
506++ "vmx-zero-len-inject": false,
507++ "l3-cache": true,
508++ "pschange-mc-no": true,
509++ "vmx-rdrand-exit": false,
510++ "lwp": false,
511++ "hv-passthrough": false,
512++ "amd-ssbd": true,
513++ "ibpb": true,
514++ "xop": false,
515++ "core-capability": false,
516++ "avx": true,
517++ "vmx-invept-single-context": false,
518++ "movdiri": false,
519++ "avx512bw": false,
520++ "acpi": false,
521++ "ace2": false,
522++ "fsgsbase": true,
523++ "hv-vapic": false,
524++ "vmx-ept-1gb": false,
525++ "vmx-ept-2mb": false,
526++ "ht": false,
527++ "vmx-io-exit": false,
528++ "nx": true,
529++ "pclmulqdq": true,
530++ "mmxext": true,
531++ "popcnt": true,
532++ "vaes": false,
533++ "xsaves": true,
534++ "movdir64b": false,
535++ "vmx-shadow-vmcs": false,
536++ "tcg-cpuid": true,
537++ "lm": true,
538++ "vmx-exit-save-preemption-timer": false,
539++ "vmx-entry-load-pat": false,
540++ "vmx-entry-load-perf-global-ctrl": false,
541++ "vmx-io-bitmap": false,
542++ "vmx-store-lma": false,
543++ "umip": true,
544++ "vmx-movdr-exit": false,
545++ "avx2": true,
546++ "pse": true,
547++ "pclmuldq": true,
548++ "sep": true,
549++ "vmx-cr3-load-noexit": false,
550++ "virt-ssbd": true,
551++ "x-hv-max-vps": -1,
552++ "nodeid-msr": false,
553++ "md-clear": false,
554++ "split-lock-detect": false,
555++ "kvm": true,
556++ "misalignsse": true,
557++ "min-xlevel": 2147483679,
558++ "realized": false,
559++ "kvm-pv-unhalt": true,
560++ "bmi2": true,
561++ "bmi1": true,
562++ "tsc_scale": false,
563++ "tsc-scale": false,
564++ "topoext": false,
565++ "amd-stibp": true,
566++ "hv-vpindex": false,
567++ "hv-no-nonarch-coresharing": "off",
568++ "vmx-preemption-timer": false,
569++ "xlevel2": 0,
570++ "clflushopt": true,
571++ "vmx-vnmi-pending": false,
572++ "kvm-no-smi-migration": false,
573++ "monitor": false,
574++ "vmx-vintr-pending": false,
575++ "avx512er": false,
576++ "pmm-en": false,
577++ "taa-no": false,
578++ "pcid": false,
579++ "vmx-secondary-ctls": false,
580++ "arch-capabilities": true,
581++ "vmx-xsaves": false,
582++ "clzero": true,
583++ "3dnow": false,
584++ "erms": false,
585++ "x-force-features": false,
586++ "vmx-entry-ia32e-mode": false,
587++ "lahf-lm": true,
588++ "lahf_lm": true,
589++ "vmx-ins-outs": false,
590++ "vpclmulqdq": false,
591++ "xstore": false,
592++ "fxsr-opt": true,
593++ "fxsr_opt": true,
594++ "hv-synic": false,
595++ "rtm": false,
596++ "kvm-hint-dedicated": false,
597++ "lmce": false,
598++ "hv-time": false,
599++ "perfctr_nb": false,
600++ "perfctr-nb": false,
601++ "hv-tlbflush": false,
602++ "ffxsr": true,
603++ "rdrand": true,
604++ "rdseed": true,
605++ "avx512-4vnniw": false,
606++ "vme": true,
607++ "vmx": false,
608++ "dtes64": false,
609++ "mtrr": true,
610++ "rdtscp": true,
611++ "xsaveerptr": true,
612++ "pse36": true,
613++ "kvm-pv-tlb-flush": true,
614++ "vmx-activity-wait-sipi": false,
615++ "tbm": false,
616++ "vmx-rdpmc-exit": false,
617++ "wdt": false,
618++ "vmx-entry-load-efer": false,
619++ "level-func7": 0,
620++ "vmx-mtf": false,
621++ "pause_filter": false,
622++ "model-id": "AMD EPYC 7502 32-Core Processor ",
623++ "sha-ni": true,
624++ "abm": true,
625++ "vmx-ept-advanced-exitinfo": false,
626++ "avx512pf": false,
627++ "vmx-hlt-exit": false,
628++ "xstore-en": false
629++ }
630++ }
631++ },
632++ "id": "model-expansion"
633++}
634++
635++{
636++ "return": [
637++ {
638++ "name": "max",
639++ "typename": "max-x86_64-cpu",
640++ "unavailable-features": [],
641++ "static": false,
642++ "migration-safe": false
643++ },
644++ {
645++ "name": "host",
646++ "typename": "host-x86_64-cpu",
647++ "unavailable-features": [],
648++ "static": false,
649++ "migration-safe": false
650++ },
651++ {
652++ "name": "base",
653++ "typename": "base-x86_64-cpu",
654++ "unavailable-features": [],
655++ "static": true,
656++ "migration-safe": true
657++ },
658++ {
659++ "name": "qemu64-v1",
660++ "typename": "qemu64-v1-x86_64-cpu",
661++ "unavailable-features": [],
662++ "static": false,
663++ "migration-safe": true
664++ },
665++ {
666++ "name": "qemu64",
667++ "typename": "qemu64-x86_64-cpu",
668++ "unavailable-features": [],
669++ "alias-of": "qemu64-v1",
670++ "static": false,
671++ "migration-safe": true
672++ },
673++ {
674++ "name": "qemu32-v1",
675++ "typename": "qemu32-v1-x86_64-cpu",
676++ "unavailable-features": [],
677++ "static": false,
678++ "migration-safe": true
679++ },
680++ {
681++ "name": "qemu32",
682++ "typename": "qemu32-x86_64-cpu",
683++ "unavailable-features": [],
684++ "alias-of": "qemu32-v1",
685++ "static": false,
686++ "migration-safe": true
687++ },
688++ {
689++ "name": "phenom-v1",
690++ "typename": "phenom-v1-x86_64-cpu",
691++ "unavailable-features": [
692++ "3dnowext",
693++ "3dnow"
694++ ],
695++ "static": false,
696++ "migration-safe": true
697++ },
698++ {
699++ "name": "phenom",
700++ "typename": "phenom-x86_64-cpu",
701++ "unavailable-features": [
702++ "3dnowext",
703++ "3dnow"
704++ ],
705++ "alias-of": "phenom-v1",
706++ "static": false,
707++ "migration-safe": true
708++ },
709++ {
710++ "name": "pentium3-v1",
711++ "typename": "pentium3-v1-x86_64-cpu",
712++ "unavailable-features": [],
713++ "static": false,
714++ "migration-safe": true
715++ },
716++ {
717++ "name": "pentium3",
718++ "typename": "pentium3-x86_64-cpu",
719++ "unavailable-features": [],
720++ "alias-of": "pentium3-v1",
721++ "static": false,
722++ "migration-safe": true
723++ },
724++ {
725++ "name": "pentium2-v1",
726++ "typename": "pentium2-v1-x86_64-cpu",
727++ "unavailable-features": [],
728++ "static": false,
729++ "migration-safe": true
730++ },
731++ {
732++ "name": "pentium2",
733++ "typename": "pentium2-x86_64-cpu",
734++ "unavailable-features": [],
735++ "alias-of": "pentium2-v1",
736++ "static": false,
737++ "migration-safe": true
738++ },
739++ {
740++ "name": "pentium-v1",
741++ "typename": "pentium-v1-x86_64-cpu",
742++ "unavailable-features": [],
743++ "static": false,
744++ "migration-safe": true
745++ },
746++ {
747++ "name": "pentium",
748++ "typename": "pentium-x86_64-cpu",
749++ "unavailable-features": [],
750++ "alias-of": "pentium-v1",
751++ "static": false,
752++ "migration-safe": true
753++ },
754++ {
755++ "name": "n270-v1",
756++ "typename": "n270-v1-x86_64-cpu",
757++ "unavailable-features": [
758++ "ss"
759++ ],
760++ "static": false,
761++ "migration-safe": true
762++ },
763++ {
764++ "name": "n270",
765++ "typename": "n270-x86_64-cpu",
766++ "unavailable-features": [
767++ "ss"
768++ ],
769++ "alias-of": "n270-v1",
770++ "static": false,
771++ "migration-safe": true
772++ },
773++ {
774++ "name": "kvm64-v1",
775++ "typename": "kvm64-v1-x86_64-cpu",
776++ "unavailable-features": [],
777++ "static": false,
778++ "migration-safe": true
779++ },
780++ {
781++ "name": "kvm64",
782++ "typename": "kvm64-x86_64-cpu",
783++ "unavailable-features": [],
784++ "alias-of": "kvm64-v1",
785++ "static": false,
786++ "migration-safe": true
787++ },
788++ {
789++ "name": "kvm32-v1",
790++ "typename": "kvm32-v1-x86_64-cpu",
791++ "unavailable-features": [],
792++ "static": false,
793++ "migration-safe": true
794++ },
795++ {
796++ "name": "kvm32",
797++ "typename": "kvm32-x86_64-cpu",
798++ "unavailable-features": [],
799++ "alias-of": "kvm32-v1",
800++ "static": false,
801++ "migration-safe": true
802++ },
803++ {
804++ "name": "coreduo-v1",
805++ "typename": "coreduo-v1-x86_64-cpu",
806++ "unavailable-features": [
807++ "ss"
808++ ],
809++ "static": false,
810++ "migration-safe": true
811++ },
812++ {
813++ "name": "coreduo",
814++ "typename": "coreduo-x86_64-cpu",
815++ "unavailable-features": [
816++ "ss"
817++ ],
818++ "alias-of": "coreduo-v1",
819++ "static": false,
820++ "migration-safe": true
821++ },
822++ {
823++ "name": "core2duo-v1",
824++ "typename": "core2duo-v1-x86_64-cpu",
825++ "unavailable-features": [
826++ "ss"
827++ ],
828++ "static": false,
829++ "migration-safe": true
830++ },
831++ {
832++ "name": "core2duo",
833++ "typename": "core2duo-x86_64-cpu",
834++ "unavailable-features": [
835++ "ss"
836++ ],
837++ "alias-of": "core2duo-v1",
838++ "static": false,
839++ "migration-safe": true
840++ },
841++ {
842++ "name": "athlon-v1",
843++ "typename": "athlon-v1-x86_64-cpu",
844++ "unavailable-features": [
845++ "3dnowext",
846++ "3dnow"
847++ ],
848++ "static": false,
849++ "migration-safe": true
850++ },
851++ {
852++ "name": "athlon",
853++ "typename": "athlon-x86_64-cpu",
854++ "unavailable-features": [
855++ "3dnowext",
856++ "3dnow"
857++ ],
858++ "alias-of": "athlon-v1",
859++ "static": false,
860++ "migration-safe": true
861++ },
862++ {
863++ "name": "Westmere-v2",
864++ "typename": "Westmere-v2-x86_64-cpu",
865++ "unavailable-features": [],
866++ "static": false,
867++ "migration-safe": true
868++ },
869++ {
870++ "name": "Westmere-v1",
871++ "typename": "Westmere-v1-x86_64-cpu",
872++ "unavailable-features": [],
873++ "static": false,
874++ "migration-safe": true
875++ },
876++ {
877++ "name": "Westmere-IBRS",
878++ "typename": "Westmere-IBRS-x86_64-cpu",
879++ "unavailable-features": [],
880++ "alias-of": "Westmere-v2",
881++ "static": false,
882++ "migration-safe": true
883++ },
884++ {
885++ "name": "Westmere",
886++ "typename": "Westmere-x86_64-cpu",
887++ "unavailable-features": [],
888++ "alias-of": "Westmere-v1",
889++ "static": false,
890++ "migration-safe": true
891++ },
892++ {
893++ "name": "Snowridge-v2",
894++ "typename": "Snowridge-v2-x86_64-cpu",
895++ "unavailable-features": [
896++ "erms",
897++ "gfni",
898++ "cldemote",
899++ "movdiri",
900++ "movdir64b",
901++ "core-capability",
902++ "split-lock-detect"
903++ ],
904++ "static": false,
905++ "migration-safe": true
906++ },
907++ {
908++ "name": "Snowridge-v1",
909++ "typename": "Snowridge-v1-x86_64-cpu",
910++ "unavailable-features": [
911++ "erms",
912++ "mpx",
913++ "gfni",
914++ "cldemote",
915++ "movdiri",
916++ "movdir64b",
917++ "core-capability",
918++ "mpx",
919++ "mpx",
920++ "split-lock-detect"
921++ ],
922++ "static": false,
923++ "migration-safe": true
924++ },
925++ {
926++ "name": "Snowridge",
927++ "typename": "Snowridge-x86_64-cpu",
928++ "unavailable-features": [
929++ "erms",
930++ "mpx",
931++ "gfni",
932++ "cldemote",
933++ "movdiri",
934++ "movdir64b",
935++ "core-capability",
936++ "mpx",
937++ "mpx",
938++ "split-lock-detect"
939++ ],
940++ "alias-of": "Snowridge-v1",
941++ "static": false,
942++ "migration-safe": true
943++ },
944++ {
945++ "name": "Skylake-Server-v3",
946++ "typename": "Skylake-Server-v3-x86_64-cpu",
947++ "unavailable-features": [
948++ "pcid",
949++ "erms",
950++ "invpcid",
951++ "avx512f",
952++ "avx512dq",
953++ "avx512cd",
954++ "avx512bw",
955++ "avx512vl",
956++ "pku",
957++ "avx512f",
958++ "avx512f",
959++ "avx512f",
960++ "pku"
961++ ],
962++ "static": false,
963++ "migration-safe": true
964++ },
965++ {
966++ "name": "Skylake-Server-v2",
967++ "typename": "Skylake-Server-v2-x86_64-cpu",
968++ "unavailable-features": [
969++ "pcid",
970++ "hle",
971++ "erms",
972++ "invpcid",
973++ "rtm",
974++ "avx512f",
975++ "avx512dq",
976++ "avx512cd",
977++ "avx512bw",
978++ "avx512vl",
979++ "pku",
980++ "avx512f",
981++ "avx512f",
982++ "avx512f",
983++ "pku"
984++ ],
985++ "static": false,
986++ "migration-safe": true
987++ },
988++ {
989++ "name": "Skylake-Server-v1",
990++ "typename": "Skylake-Server-v1-x86_64-cpu",
991++ "unavailable-features": [
992++ "pcid",
993++ "hle",
994++ "erms",
995++ "invpcid",
996++ "rtm",
997++ "avx512f",
998++ "avx512dq",
999++ "avx512cd",
1000++ "avx512bw",
1001++ "avx512vl",
1002++ "pku",
1003++ "avx512f",
1004++ "avx512f",
1005++ "avx512f",
1006++ "pku"
1007++ ],
1008++ "static": false,
1009++ "migration-safe": true
1010++ },
1011++ {
1012++ "name": "Skylake-Server-noTSX-IBRS",
1013++ "typename": "Skylake-Server-noTSX-IBRS-x86_64-cpu",
1014++ "unavailable-features": [
1015++ "pcid",
1016++ "erms",
1017++ "invpcid",
1018++ "avx512f",
1019++ "avx512dq",
1020++ "avx512cd",
1021++ "avx512bw",
1022++ "avx512vl",
1023++ "pku",
1024++ "avx512f",
1025++ "avx512f",
1026++ "avx512f",
1027++ "pku"
1028++ ],
1029++ "alias-of": "Skylake-Server-v3",
1030++ "static": false,
1031++ "migration-safe": true
1032++ },
1033++ {
1034++ "name": "Skylake-Server-IBRS",
1035++ "typename": "Skylake-Server-IBRS-x86_64-cpu",
1036++ "unavailable-features": [
1037++ "pcid",
1038++ "hle",
1039++ "erms",
1040++ "invpcid",
1041++ "rtm",
1042++ "avx512f",
1043++ "avx512dq",
1044++ "avx512cd",
1045++ "avx512bw",
1046++ "avx512vl",
1047++ "pku",
1048++ "avx512f",
1049++ "avx512f",
1050++ "avx512f",
1051++ "pku"
1052++ ],
1053++ "alias-of": "Skylake-Server-v2",
1054++ "static": false,
1055++ "migration-safe": true
1056++ },
1057++ {
1058++ "name": "Skylake-Server",
1059++ "typename": "Skylake-Server-x86_64-cpu",
1060++ "unavailable-features": [
1061++ "pcid",
1062++ "hle",
1063++ "erms",
1064++ "invpcid",
1065++ "rtm",
1066++ "avx512f",
1067++ "avx512dq",
1068++ "avx512cd",
1069++ "avx512bw",
1070++ "avx512vl",
1071++ "pku",
1072++ "avx512f",
1073++ "avx512f",
1074++ "avx512f",
1075++ "pku"
1076++ ],
1077++ "alias-of": "Skylake-Server-v1",
1078++ "static": false,
1079++ "migration-safe": true
1080++ },
1081++ {
1082++ "name": "Skylake-Client-v3",
1083++ "typename": "Skylake-Client-v3-x86_64-cpu",
1084++ "unavailable-features": [
1085++ "pcid",
1086++ "erms",
1087++ "invpcid"
1088++ ],
1089++ "static": false,
1090++ "migration-safe": true
1091++ },
1092++ {
1093++ "name": "Skylake-Client-v2",
1094++ "typename": "Skylake-Client-v2-x86_64-cpu",
1095++ "unavailable-features": [
1096++ "pcid",
1097++ "hle",
1098++ "erms",
1099++ "invpcid",
1100++ "rtm"
1101++ ],
1102++ "static": false,
1103++ "migration-safe": true
1104++ },
1105++ {
1106++ "name": "Skylake-Client-v1",
1107++ "typename": "Skylake-Client-v1-x86_64-cpu",
1108++ "unavailable-features": [
1109++ "pcid",
1110++ "hle",
1111++ "erms",
1112++ "invpcid",
1113++ "rtm"
1114++ ],
1115++ "static": false,
1116++ "migration-safe": true
1117++ },
1118++ {
1119++ "name": "Skylake-Client-noTSX-IBRS",
1120++ "typename": "Skylake-Client-noTSX-IBRS-x86_64-cpu",
1121++ "unavailable-features": [
1122++ "pcid",
1123++ "erms",
1124++ "invpcid"
1125++ ],
1126++ "alias-of": "Skylake-Client-v3",
1127++ "static": false,
1128++ "migration-safe": true
1129++ },
1130++ {
1131++ "name": "Skylake-Client-IBRS",
1132++ "typename": "Skylake-Client-IBRS-x86_64-cpu",
1133++ "unavailable-features": [
1134++ "pcid",
1135++ "hle",
1136++ "erms",
1137++ "invpcid",
1138++ "rtm"
1139++ ],
1140++ "alias-of": "Skylake-Client-v2",
1141++ "static": false,
1142++ "migration-safe": true
1143++ },
1144++ {
1145++ "name": "Skylake-Client",
1146++ "typename": "Skylake-Client-x86_64-cpu",
1147++ "unavailable-features": [
1148++ "pcid",
1149++ "hle",
1150++ "erms",
1151++ "invpcid",
1152++ "rtm"
1153++ ],
1154++ "alias-of": "Skylake-Client-v1",
1155++ "static": false,
1156++ "migration-safe": true
1157++ },
1158++ {
1159++ "name": "SandyBridge-v2",
1160++ "typename": "SandyBridge-v2-x86_64-cpu",
1161++ "unavailable-features": [],
1162++ "static": false,
1163++ "migration-safe": true
1164++ },
1165++ {
1166++ "name": "SandyBridge-v1",
1167++ "typename": "SandyBridge-v1-x86_64-cpu",
1168++ "unavailable-features": [],
1169++ "static": false,
1170++ "migration-safe": true
1171++ },
1172++ {
1173++ "name": "SandyBridge-IBRS",
1174++ "typename": "SandyBridge-IBRS-x86_64-cpu",
1175++ "unavailable-features": [],
1176++ "alias-of": "SandyBridge-v2",
1177++ "static": false,
1178++ "migration-safe": true
1179++ },
1180++ {
1181++ "name": "SandyBridge",
1182++ "typename": "SandyBridge-x86_64-cpu",
1183++ "unavailable-features": [],
1184++ "alias-of": "SandyBridge-v1",
1185++ "static": false,
1186++ "migration-safe": true
1187++ },
1188++ {
1189++ "name": "Penryn-v1",
1190++ "typename": "Penryn-v1-x86_64-cpu",
1191++ "unavailable-features": [],
1192++ "static": false,
1193++ "migration-safe": true
1194++ },
1195++ {
1196++ "name": "Penryn",
1197++ "typename": "Penryn-x86_64-cpu",
1198++ "unavailable-features": [],
1199++ "alias-of": "Penryn-v1",
1200++ "static": false,
1201++ "migration-safe": true
1202++ },
1203++ {
1204++ "name": "Opteron_G5-v1",
1205++ "typename": "Opteron_G5-v1-x86_64-cpu",
1206++ "unavailable-features": [
1207++ "xop",
1208++ "fma4",
1209++ "tbm"
1210++ ],
1211++ "static": false,
1212++ "migration-safe": true
1213++ },
1214++ {
1215++ "name": "Opteron_G5",
1216++ "typename": "Opteron_G5-x86_64-cpu",
1217++ "unavailable-features": [
1218++ "xop",
1219++ "fma4",
1220++ "tbm"
1221++ ],
1222++ "alias-of": "Opteron_G5-v1",
1223++ "static": false,
1224++ "migration-safe": true
1225++ },
1226++ {
1227++ "name": "Opteron_G4-v1",
1228++ "typename": "Opteron_G4-v1-x86_64-cpu",
1229++ "unavailable-features": [
1230++ "xop",
1231++ "fma4"
1232++ ],
1233++ "static": false,
1234++ "migration-safe": true
1235++ },
1236++ {
1237++ "name": "Opteron_G4",
1238++ "typename": "Opteron_G4-x86_64-cpu",
1239++ "unavailable-features": [
1240++ "xop",
1241++ "fma4"
1242++ ],
1243++ "alias-of": "Opteron_G4-v1",
1244++ "static": false,
1245++ "migration-safe": true
1246++ },
1247++ {
1248++ "name": "Opteron_G3-v1",
1249++ "typename": "Opteron_G3-v1-x86_64-cpu",
1250++ "unavailable-features": [],
1251++ "static": false,
1252++ "migration-safe": true
1253++ },
1254++ {
1255++ "name": "Opteron_G3",
1256++ "typename": "Opteron_G3-x86_64-cpu",
1257++ "unavailable-features": [],
1258++ "alias-of": "Opteron_G3-v1",
1259++ "static": false,
1260++ "migration-safe": true
1261++ },
1262++ {
1263++ "name": "Opteron_G2-v1",
1264++ "typename": "Opteron_G2-v1-x86_64-cpu",
1265++ "unavailable-features": [],
1266++ "static": false,
1267++ "migration-safe": true
1268++ },
1269++ {
1270++ "name": "Opteron_G2",
1271++ "typename": "Opteron_G2-x86_64-cpu",
1272++ "unavailable-features": [],
1273++ "alias-of": "Opteron_G2-v1",
1274++ "static": false,
1275++ "migration-safe": true
1276++ },
1277++ {
1278++ "name": "Opteron_G1-v1",
1279++ "typename": "Opteron_G1-v1-x86_64-cpu",
1280++ "unavailable-features": [],
1281++ "static": false,
1282++ "migration-safe": true
1283++ },
1284++ {
1285++ "name": "Opteron_G1",
1286++ "typename": "Opteron_G1-x86_64-cpu",
1287++ "unavailable-features": [],
1288++ "alias-of": "Opteron_G1-v1",
1289++ "static": false,
1290++ "migration-safe": true
1291++ },
1292++ {
1293++ "name": "Nehalem-v2",
1294++ "typename": "Nehalem-v2-x86_64-cpu",
1295++ "unavailable-features": [],
1296++ "static": false,
1297++ "migration-safe": true
1298++ },
1299++ {
1300++ "name": "Nehalem-v1",
1301++ "typename": "Nehalem-v1-x86_64-cpu",
1302++ "unavailable-features": [],
1303++ "static": false,
1304++ "migration-safe": true
1305++ },
1306++ {
1307++ "name": "Nehalem-IBRS",
1308++ "typename": "Nehalem-IBRS-x86_64-cpu",
1309++ "unavailable-features": [],
1310++ "alias-of": "Nehalem-v2",
1311++ "static": false,
1312++ "migration-safe": true
1313++ },
1314++ {
1315++ "name": "Nehalem",
1316++ "typename": "Nehalem-x86_64-cpu",
1317++ "unavailable-features": [],
1318++ "alias-of": "Nehalem-v1",
1319++ "static": false,
1320++ "migration-safe": true
1321++ },
1322++ {
1323++ "name": "KnightsMill-v1",
1324++ "typename": "KnightsMill-v1-x86_64-cpu",
1325++ "unavailable-features": [
1326++ "ss",
1327++ "erms",
1328++ "avx512f",
1329++ "avx512pf",
1330++ "avx512er",
1331++ "avx512cd",
1332++ "avx512-vpopcntdq",
1333++ "avx512-4vnniw",
1334++ "avx512-4fmaps",
1335++ "avx512f",
1336++ "avx512f",
1337++ "avx512f"
1338++ ],
1339++ "static": false,
1340++ "migration-safe": true
1341++ },
1342++ {
1343++ "name": "KnightsMill",
1344++ "typename": "KnightsMill-x86_64-cpu",
1345++ "unavailable-features": [
1346++ "ss",
1347++ "erms",
1348++ "avx512f",
1349++ "avx512pf",
1350++ "avx512er",
1351++ "avx512cd",
1352++ "avx512-vpopcntdq",
1353++ "avx512-4vnniw",
1354++ "avx512-4fmaps",
1355++ "avx512f",
1356++ "avx512f",
1357++ "avx512f"
1358++ ],
1359++ "alias-of": "KnightsMill-v1",
1360++ "static": false,
1361++ "migration-safe": true
1362++ },
1363++ {
1364++ "name": "IvyBridge-v2",
1365++ "typename": "IvyBridge-v2-x86_64-cpu",
1366++ "unavailable-features": [
1367++ "erms"
1368++ ],
1369++ "static": false,
1370++ "migration-safe": true
1371++ },
1372++ {
1373++ "name": "IvyBridge-v1",
1374++ "typename": "IvyBridge-v1-x86_64-cpu",
1375++ "unavailable-features": [
1376++ "erms"
1377++ ],
1378++ "static": false,
1379++ "migration-safe": true
1380++ },
1381++ {
1382++ "name": "IvyBridge-IBRS",
1383++ "typename": "IvyBridge-IBRS-x86_64-cpu",
1384++ "unavailable-features": [
1385++ "erms"
1386++ ],
1387++ "alias-of": "IvyBridge-v2",
1388++ "static": false,
1389++ "migration-safe": true
1390++ },
1391++ {
1392++ "name": "IvyBridge",
1393++ "typename": "IvyBridge-x86_64-cpu",
1394++ "unavailable-features": [
1395++ "erms"
1396++ ],
1397++ "alias-of": "IvyBridge-v1",
1398++ "static": false,
1399++ "migration-safe": true
1400++ },
1401++ {
1402++ "name": "Icelake-Server-v2",
1403++ "typename": "Icelake-Server-v2-x86_64-cpu",
1404++ "unavailable-features": [
1405++ "pcid",
1406++ "erms",
1407++ "invpcid",
1408++ "avx512f",
1409++ "avx512dq",
1410++ "avx512cd",
1411++ "avx512bw",
1412++ "avx512vl",
1413++ "avx512vbmi",
1414++ "pku",
1415++ "avx512vbmi2",
1416++ "gfni",
1417++ "vaes",
1418++ "vpclmulqdq",
1419++ "avx512vnni",
1420++ "avx512bitalg",
1421++ "avx512-vpopcntdq",
1422++ "la57",
1423++ "avx512f",
1424++ "avx512f",
1425++ "avx512f",
1426++ "pku"
1427++ ],
1428++ "static": false,
1429++ "migration-safe": true
1430++ },
1431++ {
1432++ "name": "Icelake-Server-v1",
1433++ "typename": "Icelake-Server-v1-x86_64-cpu",
1434++ "unavailable-features": [
1435++ "pcid",
1436++ "hle",
1437++ "erms",
1438++ "invpcid",
1439++ "rtm",
1440++ "avx512f",
1441++ "avx512dq",
1442++ "avx512cd",
1443++ "avx512bw",
1444++ "avx512vl",
1445++ "avx512vbmi",
1446++ "pku",
1447++ "avx512vbmi2",
1448++ "gfni",
1449++ "vaes",
1450++ "vpclmulqdq",
1451++ "avx512vnni",
1452++ "avx512bitalg",
1453++ "avx512-vpopcntdq",
1454++ "la57",
1455++ "avx512f",
1456++ "avx512f",
1457++ "avx512f",
1458++ "pku"
1459++ ],
1460++ "static": false,
1461++ "migration-safe": true
1462++ },
1463++ {
1464++ "name": "Icelake-Server-noTSX",
1465++ "typename": "Icelake-Server-noTSX-x86_64-cpu",
1466++ "unavailable-features": [
1467++ "pcid",
1468++ "erms",
1469++ "invpcid",
1470++ "avx512f",
1471++ "avx512dq",
1472++ "avx512cd",
1473++ "avx512bw",
1474++ "avx512vl",
1475++ "avx512vbmi",
1476++ "pku",
1477++ "avx512vbmi2",
1478++ "gfni",
1479++ "vaes",
1480++ "vpclmulqdq",
1481++ "avx512vnni",
1482++ "avx512bitalg",
1483++ "avx512-vpopcntdq",
1484++ "la57",
1485++ "avx512f",
1486++ "avx512f",
1487++ "avx512f",
1488++ "pku"
1489++ ],
1490++ "alias-of": "Icelake-Server-v2",
1491++ "static": false,
1492++ "migration-safe": true
1493++ },
1494++ {
1495++ "name": "Icelake-Server",
1496++ "typename": "Icelake-Server-x86_64-cpu",
1497++ "unavailable-features": [
1498++ "pcid",
1499++ "hle",
1500++ "erms",
1501++ "invpcid",
1502++ "rtm",
1503++ "avx512f",
1504++ "avx512dq",
1505++ "avx512cd",
1506++ "avx512bw",
1507++ "avx512vl",
1508++ "avx512vbmi",
1509++ "pku",
1510++ "avx512vbmi2",
1511++ "gfni",
1512++ "vaes",
1513++ "vpclmulqdq",
1514++ "avx512vnni",
1515++ "avx512bitalg",
1516++ "avx512-vpopcntdq",
1517++ "la57",
1518++ "avx512f",
1519++ "avx512f",
1520++ "avx512f",
1521++ "pku"
1522++ ],
1523++ "alias-of": "Icelake-Server-v1",
1524++ "static": false,
1525++ "migration-safe": true
1526++ },
1527++ {
1528++ "name": "Icelake-Client-v2",
1529++ "typename": "Icelake-Client-v2-x86_64-cpu",
1530++ "unavailable-features": [
1531++ "pcid",
1532++ "erms",
1533++ "invpcid",
1534++ "avx512vbmi",
1535++ "pku",
1536++ "avx512vbmi2",
1537++ "gfni",
1538++ "vaes",
1539++ "vpclmulqdq",
1540++ "avx512vnni",
1541++ "avx512bitalg",
1542++ "avx512-vpopcntdq",
1543++ "pku"
1544++ ],
1545++ "static": false,
1546++ "migration-safe": true
1547++ },
1548++ {
1549++ "name": "Icelake-Client-v1",
1550++ "typename": "Icelake-Client-v1-x86_64-cpu",
1551++ "unavailable-features": [
1552++ "pcid",
1553++ "hle",
1554++ "erms",
1555++ "invpcid",
1556++ "rtm",
1557++ "avx512vbmi",
1558++ "pku",
1559++ "avx512vbmi2",
1560++ "gfni",
1561++ "vaes",
1562++ "vpclmulqdq",
1563++ "avx512vnni",
1564++ "avx512bitalg",
1565++ "avx512-vpopcntdq",
1566++ "pku"
1567++ ],
1568++ "static": false,
1569++ "migration-safe": true
1570++ },
1571++ {
1572++ "name": "Icelake-Client-noTSX",
1573++ "typename": "Icelake-Client-noTSX-x86_64-cpu",
1574++ "unavailable-features": [
1575++ "pcid",
1576++ "erms",
1577++ "invpcid",
1578++ "avx512vbmi",
1579++ "pku",
1580++ "avx512vbmi2",
1581++ "gfni",
1582++ "vaes",
1583++ "vpclmulqdq",
1584++ "avx512vnni",
1585++ "avx512bitalg",
1586++ "avx512-vpopcntdq",
1587++ "pku"
1588++ ],
1589++ "alias-of": "Icelake-Client-v2",
1590++ "static": false,
1591++ "migration-safe": true
1592++ },
1593++ {
1594++ "name": "Icelake-Client",
1595++ "typename": "Icelake-Client-x86_64-cpu",
1596++ "unavailable-features": [
1597++ "pcid",
1598++ "hle",
1599++ "erms",
1600++ "invpcid",
1601++ "rtm",
1602++ "avx512vbmi",
1603++ "pku",
1604++ "avx512vbmi2",
1605++ "gfni",
1606++ "vaes",
1607++ "vpclmulqdq",
1608++ "avx512vnni",
1609++ "avx512bitalg",
1610++ "avx512-vpopcntdq",
1611++ "pku"
1612++ ],
1613++ "alias-of": "Icelake-Client-v1",
1614++ "static": false,
1615++ "migration-safe": true
1616++ },
1617++ {
1618++ "name": "Haswell-v4",
1619++ "typename": "Haswell-v4-x86_64-cpu",
1620++ "unavailable-features": [
1621++ "pcid",
1622++ "erms",
1623++ "invpcid"
1624++ ],
1625++ "static": false,
1626++ "migration-safe": true
1627++ },
1628++ {
1629++ "name": "Haswell-v3",
1630++ "typename": "Haswell-v3-x86_64-cpu",
1631++ "unavailable-features": [
1632++ "pcid",
1633++ "hle",
1634++ "erms",
1635++ "invpcid",
1636++ "rtm"
1637++ ],
1638++ "static": false,
1639++ "migration-safe": true
1640++ },
1641++ {
1642++ "name": "Haswell-v2",
1643++ "typename": "Haswell-v2-x86_64-cpu",
1644++ "unavailable-features": [
1645++ "pcid",
1646++ "erms",
1647++ "invpcid"
1648++ ],
1649++ "static": false,
1650++ "migration-safe": true
1651++ },
1652++ {
1653++ "name": "Haswell-v1",
1654++ "typename": "Haswell-v1-x86_64-cpu",
1655++ "unavailable-features": [
1656++ "pcid",
1657++ "hle",
1658++ "erms",
1659++ "invpcid",
1660++ "rtm"
1661++ ],
1662++ "static": false,
1663++ "migration-safe": true
1664++ },
1665++ {
1666++ "name": "Haswell-noTSX-IBRS",
1667++ "typename": "Haswell-noTSX-IBRS-x86_64-cpu",
1668++ "unavailable-features": [
1669++ "pcid",
1670++ "erms",
1671++ "invpcid"
1672++ ],
1673++ "alias-of": "Haswell-v4",
1674++ "static": false,
1675++ "migration-safe": true
1676++ },
1677++ {
1678++ "name": "Haswell-noTSX",
1679++ "typename": "Haswell-noTSX-x86_64-cpu",
1680++ "unavailable-features": [
1681++ "pcid",
1682++ "erms",
1683++ "invpcid"
1684++ ],
1685++ "alias-of": "Haswell-v2",
1686++ "static": false,
1687++ "migration-safe": true
1688++ },
1689++ {
1690++ "name": "Haswell-IBRS",
1691++ "typename": "Haswell-IBRS-x86_64-cpu",
1692++ "unavailable-features": [
1693++ "pcid",
1694++ "hle",
1695++ "erms",
1696++ "invpcid",
1697++ "rtm"
1698++ ],
1699++ "alias-of": "Haswell-v3",
1700++ "static": false,
1701++ "migration-safe": true
1702++ },
1703++ {
1704++ "name": "Haswell",
1705++ "typename": "Haswell-x86_64-cpu",
1706++ "unavailable-features": [
1707++ "pcid",
1708++ "hle",
1709++ "erms",
1710++ "invpcid",
1711++ "rtm"
1712++ ],
1713++ "alias-of": "Haswell-v1",
1714++ "static": false,
1715++ "migration-safe": true
1716++ },
1717++ {
1718++ "name": "EPYC-v3",
1719++ "typename": "EPYC-v3-x86_64-cpu",
1720++ "unavailable-features": [],
1721++ "static": false,
1722++ "migration-safe": true
1723++ },
1724++ {
1725++ "name": "EPYC-v2",
1726++ "typename": "EPYC-v2-x86_64-cpu",
1727++ "unavailable-features": [],
1728++ "static": false,
1729++ "migration-safe": true
1730++ },
1731++ {
1732++ "name": "EPYC-v1",
1733++ "typename": "EPYC-v1-x86_64-cpu",
1734++ "unavailable-features": [],
1735++ "static": false,
1736++ "migration-safe": true
1737++ },
1738++ {
1739++ "name": "EPYC-Rome-v1",
1740++ "typename": "EPYC-Rome-v1-x86_64-cpu",
1741++ "unavailable-features": [],
1742++ "static": false,
1743++ "migration-safe": true
1744++ },
1745++ {
1746++ "name": "EPYC-Rome",
1747++ "typename": "EPYC-Rome-x86_64-cpu",
1748++ "unavailable-features": [],
1749++ "alias-of": "EPYC-Rome-v1",
1750++ "static": false,
1751++ "migration-safe": true
1752++ },
1753++ {
1754++ "name": "EPYC-IBPB",
1755++ "typename": "EPYC-IBPB-x86_64-cpu",
1756++ "unavailable-features": [],
1757++ "alias-of": "EPYC-v2",
1758++ "static": false,
1759++ "migration-safe": true
1760++ },
1761++ {
1762++ "name": "EPYC",
1763++ "typename": "EPYC-x86_64-cpu",
1764++ "unavailable-features": [],
1765++ "alias-of": "EPYC-v1",
1766++ "static": false,
1767++ "migration-safe": true
1768++ },
1769++ {
1770++ "name": "Dhyana-v1",
1771++ "typename": "Dhyana-v1-x86_64-cpu",
1772++ "unavailable-features": [],
1773++ "static": false,
1774++ "migration-safe": true
1775++ },
1776++ {
1777++ "name": "Dhyana",
1778++ "typename": "Dhyana-x86_64-cpu",
1779++ "unavailable-features": [],
1780++ "alias-of": "Dhyana-v1",
1781++ "static": false,
1782++ "migration-safe": true
1783++ },
1784++ {
1785++ "name": "Denverton-v1",
1786++ "typename": "Denverton-v1-x86_64-cpu",
1787++ "unavailable-features": [
1788++ "erms",
1789++ "mpx",
1790++ "mpx",
1791++ "mpx"
1792++ ],
1793++ "static": false,
1794++ "migration-safe": true
1795++ },
1796++ {
1797++ "name": "Denverton",
1798++ "typename": "Denverton-x86_64-cpu",
1799++ "unavailable-features": [
1800++ "erms",
1801++ "mpx",
1802++ "mpx",
1803++ "mpx"
1804++ ],
1805++ "alias-of": "Denverton-v1",
1806++ "static": false,
1807++ "migration-safe": true
1808++ },
1809++ {
1810++ "name": "Cooperlake-v1",
1811++ "typename": "Cooperlake-v1-x86_64-cpu",
1812++ "unavailable-features": [
1813++ "pcid",
1814++ "hle",
1815++ "erms",
1816++ "invpcid",
1817++ "rtm",
1818++ "avx512f",
1819++ "avx512dq",
1820++ "avx512cd",
1821++ "avx512bw",
1822++ "avx512vl",
1823++ "pku",
1824++ "avx512vnni",
1825++ "avx512-bf16",
1826++ "avx512f",
1827++ "avx512f",
1828++ "avx512f",
1829++ "pku",
1830++ "ibrs-all"
1831++ ],
1832++ "static": false,
1833++ "migration-safe": true
1834++ },
1835++ {
1836++ "name": "Cooperlake",
1837++ "typename": "Cooperlake-x86_64-cpu",
1838++ "unavailable-features": [
1839++ "pcid",
1840++ "hle",
1841++ "erms",
1842++ "invpcid",
1843++ "rtm",
1844++ "avx512f",
1845++ "avx512dq",
1846++ "avx512cd",
1847++ "avx512bw",
1848++ "avx512vl",
1849++ "pku",
1850++ "avx512vnni",
1851++ "avx512-bf16",
1852++ "avx512f",
1853++ "avx512f",
1854++ "avx512f",
1855++ "pku",
1856++ "ibrs-all"
1857++ ],
1858++ "alias-of": "Cooperlake-v1",
1859++ "static": false,
1860++ "migration-safe": true
1861++ },
1862++ {
1863++ "name": "Conroe-v1",
1864++ "typename": "Conroe-v1-x86_64-cpu",
1865++ "unavailable-features": [],
1866++ "static": false,
1867++ "migration-safe": true
1868++ },
1869++ {
1870++ "name": "Conroe",
1871++ "typename": "Conroe-x86_64-cpu",
1872++ "unavailable-features": [],
1873++ "alias-of": "Conroe-v1",
1874++ "static": false,
1875++ "migration-safe": true
1876++ },
1877++ {
1878++ "name": "Cascadelake-Server-v3",
1879++ "typename": "Cascadelake-Server-v3-x86_64-cpu",
1880++ "unavailable-features": [
1881++ "pcid",
1882++ "erms",
1883++ "invpcid",
1884++ "avx512f",
1885++ "avx512dq",
1886++ "avx512cd",
1887++ "avx512bw",
1888++ "avx512vl",
1889++ "pku",
1890++ "avx512vnni",
1891++ "avx512f",
1892++ "avx512f",
1893++ "avx512f",
1894++ "pku",
1895++ "ibrs-all"
1896++ ],
1897++ "static": false,
1898++ "migration-safe": true
1899++ },
1900++ {
1901++ "name": "Cascadelake-Server-v2",
1902++ "typename": "Cascadelake-Server-v2-x86_64-cpu",
1903++ "unavailable-features": [
1904++ "pcid",
1905++ "hle",
1906++ "erms",
1907++ "invpcid",
1908++ "rtm",
1909++ "avx512f",
1910++ "avx512dq",
1911++ "avx512cd",
1912++ "avx512bw",
1913++ "avx512vl",
1914++ "pku",
1915++ "avx512vnni",
1916++ "avx512f",
1917++ "avx512f",
1918++ "avx512f",
1919++ "pku",
1920++ "ibrs-all"
1921++ ],
1922++ "static": false,
1923++ "migration-safe": true
1924++ },
1925++ {
1926++ "name": "Cascadelake-Server-v1",
1927++ "typename": "Cascadelake-Server-v1-x86_64-cpu",
1928++ "unavailable-features": [
1929++ "pcid",
1930++ "hle",
1931++ "erms",
1932++ "invpcid",
1933++ "rtm",
1934++ "avx512f",
1935++ "avx512dq",
1936++ "avx512cd",
1937++ "avx512bw",
1938++ "avx512vl",
1939++ "pku",
1940++ "avx512vnni",
1941++ "avx512f",
1942++ "avx512f",
1943++ "avx512f",
1944++ "pku"
1945++ ],
1946++ "static": false,
1947++ "migration-safe": true
1948++ },
1949++ {
1950++ "name": "Cascadelake-Server-noTSX",
1951++ "typename": "Cascadelake-Server-noTSX-x86_64-cpu",
1952++ "unavailable-features": [
1953++ "pcid",
1954++ "erms",
1955++ "invpcid",
1956++ "avx512f",
1957++ "avx512dq",
1958++ "avx512cd",
1959++ "avx512bw",
1960++ "avx512vl",
1961++ "pku",
1962++ "avx512vnni",
1963++ "avx512f",
1964++ "avx512f",
1965++ "avx512f",
1966++ "pku",
1967++ "ibrs-all"
1968++ ],
1969++ "alias-of": "Cascadelake-Server-v3",
1970++ "static": false,
1971++ "migration-safe": true
1972++ },
1973++ {
1974++ "name": "Cascadelake-Server",
1975++ "typename": "Cascadelake-Server-x86_64-cpu",
1976++ "unavailable-features": [
1977++ "pcid",
1978++ "hle",
1979++ "erms",
1980++ "invpcid",
1981++ "rtm",
1982++ "avx512f",
1983++ "avx512dq",
1984++ "avx512cd",
1985++ "avx512bw",
1986++ "avx512vl",
1987++ "pku",
1988++ "avx512vnni",
1989++ "avx512f",
1990++ "avx512f",
1991++ "avx512f",
1992++ "pku"
1993++ ],
1994++ "alias-of": "Cascadelake-Server-v1",
1995++ "static": false,
1996++ "migration-safe": true
1997++ },
1998++ {
1999++ "name": "Broadwell-v4",
2000++ "typename": "Broadwell-v4-x86_64-cpu",
2001++ "unavailable-features": [
2002++ "pcid",
2003++ "erms",
2004++ "invpcid"
2005++ ],
2006++ "static": false,
2007++ "migration-safe": true
2008++ },
2009++ {
2010++ "name": "Broadwell-v3",
2011++ "typename": "Broadwell-v3-x86_64-cpu",
2012++ "unavailable-features": [
2013++ "pcid",
2014++ "hle",
2015++ "erms",
2016++ "invpcid",
2017++ "rtm"
2018++ ],
2019++ "static": false,
2020++ "migration-safe": true
2021++ },
2022++ {
2023++ "name": "Broadwell-v2",
2024++ "typename": "Broadwell-v2-x86_64-cpu",
2025++ "unavailable-features": [
2026++ "pcid",
2027++ "erms",
2028++ "invpcid"
2029++ ],
2030++ "static": false,
2031++ "migration-safe": true
2032++ },
2033++ {
2034++ "name": "Broadwell-v1",
2035++ "typename": "Broadwell-v1-x86_64-cpu",
2036++ "unavailable-features": [
2037++ "pcid",
2038++ "hle",
2039++ "erms",
2040++ "invpcid",
2041++ "rtm"
2042++ ],
2043++ "static": false,
2044++ "migration-safe": true
2045++ },
2046++ {
2047++ "name": "Broadwell-noTSX-IBRS",
2048++ "typename": "Broadwell-noTSX-IBRS-x86_64-cpu",
2049++ "unavailable-features": [
2050++ "pcid",
2051++ "erms",
2052++ "invpcid"
2053++ ],
2054++ "alias-of": "Broadwell-v4",
2055++ "static": false,
2056++ "migration-safe": true
2057++ },
2058++ {
2059++ "name": "Broadwell-noTSX",
2060++ "typename": "Broadwell-noTSX-x86_64-cpu",
2061++ "unavailable-features": [
2062++ "pcid",
2063++ "erms",
2064++ "invpcid"
2065++ ],
2066++ "alias-of": "Broadwell-v2",
2067++ "static": false,
2068++ "migration-safe": true
2069++ },
2070++ {
2071++ "name": "Broadwell-IBRS",
2072++ "typename": "Broadwell-IBRS-x86_64-cpu",
2073++ "unavailable-features": [
2074++ "pcid",
2075++ "hle",
2076++ "erms",
2077++ "invpcid",
2078++ "rtm"
2079++ ],
2080++ "alias-of": "Broadwell-v3",
2081++ "static": false,
2082++ "migration-safe": true
2083++ },
2084++ {
2085++ "name": "Broadwell",
2086++ "typename": "Broadwell-x86_64-cpu",
2087++ "unavailable-features": [
2088++ "pcid",
2089++ "hle",
2090++ "erms",
2091++ "invpcid",
2092++ "rtm"
2093++ ],
2094++ "alias-of": "Broadwell-v1",
2095++ "static": false,
2096++ "migration-safe": true
2097++ },
2098++ {
2099++ "name": "486-v1",
2100++ "typename": "486-v1-x86_64-cpu",
2101++ "unavailable-features": [],
2102++ "static": false,
2103++ "migration-safe": true
2104++ },
2105++ {
2106++ "name": "486",
2107++ "typename": "486-x86_64-cpu",
2108++ "unavailable-features": [],
2109++ "alias-of": "486-v1",
2110++ "static": false,
2111++ "migration-safe": true
2112++ }
2113++ ],
2114++ "id": "definitions"
2115++}
2116+diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.sig b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.sig
2117+new file mode 100644
2118+index 0000000000..cf54739de9
2119+--- /dev/null
2120++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.sig
2121+@@ -0,0 +1,4 @@
2122++830f10
2123++family: 23 (0x17)
2124++model: 49 (0x31)
2125++stepping: 0 (0x00)
2126+diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.xml
2127+new file mode 100644
2128+index 0000000000..d6753065b9
2129+--- /dev/null
2130++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core.xml
2131+@@ -0,0 +1,66 @@
2132++<!-- AMD EPYC 7502 32-Core Processor -->
2133++<cpudata arch='x86'>
2134++ <cpuid eax_in='0x00000000' ecx_in='0x00' eax='0x00000010' ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
2135++ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00830f10' ebx='0x31400800' ecx='0x7ed8320b' edx='0x178bfbff'/>
2136++ <cpuid eax_in='0x00000002' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2137++ <cpuid eax_in='0x00000003' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2138++ <cpuid eax_in='0x00000005' ecx_in='0x00' eax='0x00000040' ebx='0x00000040' ecx='0x00000003' edx='0x00000011'/>
2139++ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000001' edx='0x00000000'/>
2140++ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x219c91a9' ecx='0x00400004' edx='0x00000000'/>
2141++ <cpuid eax_in='0x00000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2142++ <cpuid eax_in='0x00000009' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2143++ <cpuid eax_in='0x0000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2144++ <cpuid eax_in='0x0000000b' ecx_in='0x00' eax='0x00000001' ebx='0x00000002' ecx='0x00000100' edx='0x00000031'/>
2145++ <cpuid eax_in='0x0000000b' ecx_in='0x01' eax='0x00000007' ebx='0x00000040' ecx='0x00000201' edx='0x00000031'/>
2146++ <cpuid eax_in='0x0000000c' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2147++ <cpuid eax_in='0x0000000d' ecx_in='0x00' eax='0x00000207' ebx='0x00000340' ecx='0x00000380' edx='0x00000000'/>
2148++ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x00000340' ecx='0x00000000' edx='0x00000000'/>
2149++ <cpuid eax_in='0x0000000d' ecx_in='0x02' eax='0x00000100' ebx='0x00000240' ecx='0x00000000' edx='0x00000000'/>
2150++ <cpuid eax_in='0x0000000d' ecx_in='0x09' eax='0x00000040' ebx='0x00000340' ecx='0x00000000' edx='0x00000000'/>
2151++ <cpuid eax_in='0x0000000e' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2152++ <cpuid eax_in='0x0000000f' ecx_in='0x00' eax='0x00000000' ebx='0x000000ff' ecx='0x00000000' edx='0x00000002'/>
2153++ <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000040' ecx='0x000000ff' edx='0x00000007'/>
2154++ <cpuid eax_in='0x00000010' ecx_in='0x00' eax='0x00000000' ebx='0x00000002' ecx='0x00000000' edx='0x00000000'/>
2155++ <cpuid eax_in='0x00000010' ecx_in='0x01' eax='0x0000000f' ebx='0x00000000' ecx='0x00000004' edx='0x0000000f'/>
2156++ <cpuid eax_in='0x20000000' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2157++ <cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x80000020' ebx='0x68747541' ecx='0x444d4163' edx='0x69746e65'/>
2158++ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00830f10' ebx='0x40000000' ecx='0x75c237ff' edx='0x2fd3fbff'/>
2159++ <cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x20444d41' ebx='0x43595045' ecx='0x30353720' edx='0x32332032'/>
2160++ <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x726f432d' ebx='0x72502065' ecx='0x7365636f' edx='0x20726f73'/>
2161++ <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x20202020' ebx='0x20202020' ecx='0x20202020' edx='0x00202020'/>
2162++ <cpuid eax_in='0x80000005' ecx_in='0x00' eax='0xff40ff40' ebx='0xff40ff40' ecx='0x20080140' edx='0x20080140'/>
2163++ <cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x48006400' ebx='0x68006400' ecx='0x02006140' edx='0x04009140'/>
2164++ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x0000001b' ecx='0x00000000' edx='0x00006799'/>
2165++ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00003030' ebx='0x018cf757' ecx='0x0000703f' edx='0x00010000'/>
2166++ <cpuid eax_in='0x80000009' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2167++ <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000001' ebx='0x00008000' ecx='0x00000000' edx='0x0013bcff'/>
2168++ <cpuid eax_in='0x8000000b' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2169++ <cpuid eax_in='0x8000000c' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2170++ <cpuid eax_in='0x8000000d' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2171++ <cpuid eax_in='0x8000000e' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2172++ <cpuid eax_in='0x8000000f' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2173++ <cpuid eax_in='0x80000010' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2174++ <cpuid eax_in='0x80000011' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2175++ <cpuid eax_in='0x80000012' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2176++ <cpuid eax_in='0x80000013' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2177++ <cpuid eax_in='0x80000014' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2178++ <cpuid eax_in='0x80000015' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2179++ <cpuid eax_in='0x80000016' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2180++ <cpuid eax_in='0x80000017' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2181++ <cpuid eax_in='0x80000018' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2182++ <cpuid eax_in='0x80000019' ecx_in='0x00' eax='0xf040f040' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2183++ <cpuid eax_in='0x8000001a' ecx_in='0x00' eax='0x00000006' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2184++ <cpuid eax_in='0x8000001b' ecx_in='0x00' eax='0x000003ff' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2185++ <cpuid eax_in='0x8000001c' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2186++ <cpuid eax_in='0x8000001d' ecx_in='0x00' eax='0x00004121' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
2187++ <cpuid eax_in='0x8000001d' ecx_in='0x01' eax='0x00004122' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
2188++ <cpuid eax_in='0x8000001d' ecx_in='0x02' eax='0x00004143' ebx='0x01c0003f' ecx='0x000003ff' edx='0x00000002'/>
2189++ <cpuid eax_in='0x8000001d' ecx_in='0x03' eax='0x0001c163' ebx='0x03c0003f' ecx='0x00003fff' edx='0x00000001'/>
2190++ <cpuid eax_in='0x8000001e' ecx_in='0x00' eax='0x00000031' ebx='0x00000118' ecx='0x00000000' edx='0x00000000'/>
2191++ <cpuid eax_in='0x8000001f' ecx_in='0x00' eax='0x0001000f' ebx='0x0000016f' ecx='0x000001fd' edx='0x00000001'/>
2192++ <cpuid eax_in='0x80000020' ecx_in='0x00' eax='0x00000000' ebx='0x00000002' ecx='0x00000000' edx='0x00000000'/>
2193++ <cpuid eax_in='0x80000020' ecx_in='0x01' eax='0x0000000b' ebx='0x00000000' ecx='0x00000000' edx='0x0000000f'/>
2194++ <cpuid eax_in='0x80860000' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2195++ <cpuid eax_in='0xc0000000' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
2196++ <msr index='0x10a' edx='0x00000000' eax='0x00000069'/>
2197++</cpudata>
2198+--
2199+2.28.0
2200+
2201diff --git a/debian/patches/ubuntu/lp-1887490-cpu_map-Defined-and-enable-EPYC-Rome-model.patch b/debian/patches/ubuntu/lp-1887490-cpu_map-Defined-and-enable-EPYC-Rome-model.patch
2202new file mode 100644
2203index 0000000..c321ef8
2204--- /dev/null
2205+++ b/debian/patches/ubuntu/lp-1887490-cpu_map-Defined-and-enable-EPYC-Rome-model.patch
2206@@ -0,0 +1,429 @@
2207+From f941639f86f4bc66c106eb1291f1b58cf9e24680 Mon Sep 17 00:00:00 2001
2208+From: Markus Schade <markus.schade@hetzner.com>
2209+Date: Thu, 1 Oct 2020 12:22:02 +0200
2210+Subject: [PATCH] cpu_map: Defined and enable EPYC-Rome model
2211+
2212+Signed-off-by: Markus Schade <markus.schade@hetzner.com>
2213+Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2214+
2215+Origin: backport, https://gitlab.com/libvirt/libvirt/-/commit/f941639f8
2216+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1887490
2217+Last-Update: 2020-10-08
2218+X-Backport-Notes:
2219+ - qemu 5.2 test to patch didn't exist back then, skipped
2220+ - Furthermore upstream switched to meson only, but we are on 6.6 still
2221+ therefore the change to src/cpu_map/meson.build needs to be reflected
2222+ in src/cpu_map/Makefile.inc.am + src/Makefile.in
2223+
2224+---
2225+ src/cpu_map/index.xml | 1 +
2226+ src/cpu_map/meson.build | 1 +
2227+ src/cpu_map/x86_EPYC-Rome.xml | 84 +++++++++++++++++++
2228+ tests/cputest.c | 2 +-
2229+ .../x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 12 +--
2230+ .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 12 +--
2231+ .../x86_64-cpuid-EPYC-7502-32-Core-json.xml | 12 +--
2232+ ...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 12 +--
2233+ .../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 +
2234+ .../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 +
2235+ tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 +
2236+ .../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 13 +--
2237+ .../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 +
2238+ tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 13 +--
2239+ .../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 13 +--
2240+ .../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 +
2241+ tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 13 +--
2242+ 17 files changed, 104 insertions(+), 89 deletions(-)
2243+ create mode 100644 src/cpu_map/x86_EPYC-Rome.xml
2244+
2245+--- a/src/cpu_map/index.xml
2246++++ b/src/cpu_map/index.xml
2247+@@ -66,6 +66,7 @@
2248+ <include filename="x86_Opteron_G5.xml"/>
2249+ <include filename="x86_EPYC.xml"/>
2250+ <include filename="x86_EPYC-IBPB.xml"/>
2251++ <include filename="x86_EPYC-Rome.xml"/>
2252+
2253+ <!-- Hygon CPU models -->
2254+ <include filename="x86_Dhyana.xml"/>
2255+--- /dev/null
2256++++ b/src/cpu_map/x86_EPYC-Rome.xml
2257+@@ -0,0 +1,84 @@
2258++<cpus>
2259++ <model name='EPYC-Rome'>
2260++ <decode host='on' guest='on'/>
2261++ <signature family='23' model='49'/>
2262++ <vendor name='AMD'/>
2263++ <feature name='3dnowprefetch'/>
2264++ <feature name='abm'/>
2265++ <feature name='adx'/>
2266++ <feature name='aes'/>
2267++ <feature name='amd-stibp'/>
2268++ <feature name='apic'/>
2269++ <feature name='arat'/>
2270++ <feature name='avx'/>
2271++ <feature name='avx2'/>
2272++ <feature name='bmi1'/>
2273++ <feature name='bmi2'/>
2274++ <feature name='clflush'/>
2275++ <feature name='clflushopt'/>
2276++ <feature name='clwb'/>
2277++ <feature name='clzero'/>
2278++ <feature name='cmov'/>
2279++ <feature name='cr8legacy'/>
2280++ <feature name='cx16'/>
2281++ <feature name='cx8'/>
2282++ <feature name='de'/>
2283++ <feature name='f16c'/>
2284++ <feature name='fma'/>
2285++ <feature name='fpu'/>
2286++ <feature name='fsgsbase'/>
2287++ <feature name='fxsr'/>
2288++ <feature name='fxsr_opt'/>
2289++ <feature name='ibpb'/>
2290++ <feature name='lahf_lm'/>
2291++ <feature name='lm'/>
2292++ <feature name='mca'/>
2293++ <feature name='mce'/>
2294++ <feature name='misalignsse'/>
2295++ <feature name='mmx'/>
2296++ <feature name='mmxext'/>
2297++ <feature name='monitor'/>
2298++ <feature name='movbe'/>
2299++ <feature name='msr'/>
2300++ <feature name='mtrr'/>
2301++ <feature name='npt'/>
2302++ <feature name='nrip-save'/>
2303++ <feature name='nx'/>
2304++ <feature name='osvw'/>
2305++ <feature name='pae'/>
2306++ <feature name='pat'/>
2307++ <feature name='pclmuldq'/>
2308++ <feature name='pdpe1gb'/>
2309++ <feature name='perfctr_core'/>
2310++ <feature name='pge'/>
2311++ <feature name='pni'/>
2312++ <feature name='popcnt'/>
2313++ <feature name='pse'/>
2314++ <feature name='pse36'/>
2315++ <feature name='rdpid'/>
2316++ <feature name='rdrand'/>
2317++ <feature name='rdseed'/>
2318++ <feature name='rdtscp'/>
2319++ <feature name='sep'/>
2320++ <feature name='sha-ni'/>
2321++ <feature name='smap'/>
2322++ <feature name='smep'/>
2323++ <feature name='sse'/>
2324++ <feature name='sse2'/>
2325++ <feature name='sse4.1'/>
2326++ <feature name='sse4.2'/>
2327++ <feature name='sse4a'/>
2328++ <feature name='ssse3'/>
2329++ <feature name='svm'/>
2330++ <feature name='syscall'/>
2331++ <feature name='tsc'/>
2332++ <feature name='umip'/>
2333++ <feature name='vme'/>
2334++ <feature name='wbnoinvd'/>
2335++ <feature name='xgetbv1'/>
2336++ <feature name='xsave'/>
2337++ <feature name='xsavec'/>
2338++ <feature name='xsaveerptr'/>
2339++ <feature name='xsaveopt'/>
2340++ </model>
2341++</cpus>
2342+--- a/tests/cputest.c
2343++++ b/tests/cputest.c
2344+@@ -1251,7 +1251,7 @@ mymain(void)
2345+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Pentium-P6100", JSON_NONE);
2346+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Phenom-B95", JSON_HOST);
2347+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Ryzen-7-1800X-Eight-Core", JSON_HOST);
2348+- DO_TEST_CPUID(VIR_ARCH_X86_64, "Ryzen-9-3900X-12-Core", JSON_MODELS);
2349++ DO_TEST_CPUID(VIR_ARCH_X86_64, "Ryzen-9-3900X-12-Core", JSON_MODELS_REQUIRED);
2350+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-5110", JSON_NONE);
2351+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E3-1225-v5", JSON_MODELS);
2352+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E3-1245-v5", JSON_MODELS);
2353+--- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
2354++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
2355+@@ -1,12 +1,9 @@
2356+ <cpu mode='custom' match='exact'>
2357+- <model fallback='forbid'>EPYC-IBPB</model>
2358++ <model fallback='forbid'>EPYC-Rome</model>
2359+ <vendor>AMD</vendor>
2360+ <feature policy='require' name='ht'/>
2361+ <feature policy='require' name='osxsave'/>
2362+ <feature policy='require' name='cmt'/>
2363+- <feature policy='require' name='clwb'/>
2364+- <feature policy='require' name='umip'/>
2365+- <feature policy='require' name='rdpid'/>
2366+ <feature policy='require' name='xsaves'/>
2367+ <feature policy='require' name='mbm_total'/>
2368+ <feature policy='require' name='mbm_local'/>
2369+@@ -17,18 +14,11 @@
2370+ <feature policy='require' name='wdt'/>
2371+ <feature policy='require' name='tce'/>
2372+ <feature policy='require' name='topoext'/>
2373+- <feature policy='require' name='perfctr_core'/>
2374+ <feature policy='require' name='perfctr_nb'/>
2375+ <feature policy='require' name='invtsc'/>
2376+- <feature policy='require' name='clzero'/>
2377+- <feature policy='require' name='xsaveerptr'/>
2378+- <feature policy='require' name='wbnoinvd'/>
2379+- <feature policy='require' name='amd-stibp'/>
2380+ <feature policy='require' name='amd-ssbd'/>
2381+- <feature policy='require' name='npt'/>
2382+ <feature policy='require' name='lbrv'/>
2383+ <feature policy='require' name='svm-lock'/>
2384+- <feature policy='require' name='nrip-save'/>
2385+ <feature policy='require' name='tsc-scale'/>
2386+ <feature policy='require' name='vmcb-clean'/>
2387+ <feature policy='require' name='flushbyasid'/>
2388+--- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
2389++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
2390+@@ -1,13 +1,10 @@
2391+ <cpu>
2392+ <arch>x86_64</arch>
2393+- <model>EPYC-IBPB</model>
2394++ <model>EPYC-Rome</model>
2395+ <vendor>AMD</vendor>
2396+ <feature name='ht'/>
2397+ <feature name='osxsave'/>
2398+ <feature name='cmt'/>
2399+- <feature name='clwb'/>
2400+- <feature name='umip'/>
2401+- <feature name='rdpid'/>
2402+ <feature name='xsaves'/>
2403+ <feature name='mbm_total'/>
2404+ <feature name='mbm_local'/>
2405+@@ -18,18 +15,11 @@
2406+ <feature name='wdt'/>
2407+ <feature name='tce'/>
2408+ <feature name='topoext'/>
2409+- <feature name='perfctr_core'/>
2410+ <feature name='perfctr_nb'/>
2411+ <feature name='invtsc'/>
2412+- <feature name='clzero'/>
2413+- <feature name='xsaveerptr'/>
2414+- <feature name='wbnoinvd'/>
2415+- <feature name='amd-stibp'/>
2416+ <feature name='amd-ssbd'/>
2417+- <feature name='npt'/>
2418+ <feature name='lbrv'/>
2419+ <feature name='svm-lock'/>
2420+- <feature name='nrip-save'/>
2421+ <feature name='tsc-scale'/>
2422+ <feature name='vmcb-clean'/>
2423+ <feature name='flushbyasid'/>
2424+--- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
2425++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
2426+@@ -1,28 +1,18 @@
2427+ <cpu mode='custom' match='exact'>
2428+- <model fallback='forbid'>EPYC-IBPB</model>
2429++ <model fallback='forbid'>EPYC-Rome</model>
2430+ <vendor>AMD</vendor>
2431+ <feature policy='require' name='x2apic'/>
2432+ <feature policy='require' name='tsc-deadline'/>
2433+ <feature policy='require' name='hypervisor'/>
2434+ <feature policy='require' name='tsc_adjust'/>
2435+- <feature policy='require' name='clwb'/>
2436+- <feature policy='require' name='umip'/>
2437+- <feature policy='require' name='rdpid'/>
2438+ <feature policy='require' name='spec-ctrl'/>
2439+ <feature policy='require' name='stibp'/>
2440+ <feature policy='require' name='arch-capabilities'/>
2441+ <feature policy='require' name='ssbd'/>
2442+ <feature policy='require' name='xsaves'/>
2443+ <feature policy='require' name='cmp_legacy'/>
2444+- <feature policy='require' name='perfctr_core'/>
2445+- <feature policy='require' name='clzero'/>
2446+- <feature policy='require' name='xsaveerptr'/>
2447+- <feature policy='require' name='wbnoinvd'/>
2448+- <feature policy='require' name='amd-stibp'/>
2449+ <feature policy='require' name='amd-ssbd'/>
2450+ <feature policy='require' name='virt-ssbd'/>
2451+- <feature policy='require' name='npt'/>
2452+- <feature policy='require' name='nrip-save'/>
2453+ <feature policy='require' name='rdctl-no'/>
2454+ <feature policy='require' name='skip-l1dfl-vmentry'/>
2455+ <feature policy='require' name='mds-no'/>
2456+--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
2457++++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
2458+@@ -1,13 +1,10 @@
2459+ <cpu>
2460+ <arch>x86_64</arch>
2461+- <model>EPYC-IBPB</model>
2462++ <model>EPYC-Rome</model>
2463+ <vendor>AMD</vendor>
2464+ <feature name='ht'/>
2465+ <feature name='osxsave'/>
2466+ <feature name='cmt'/>
2467+- <feature name='clwb'/>
2468+- <feature name='umip'/>
2469+- <feature name='rdpid'/>
2470+ <feature name='xsaves'/>
2471+ <feature name='mbm_total'/>
2472+ <feature name='mbm_local'/>
2473+@@ -18,18 +15,11 @@
2474+ <feature name='wdt'/>
2475+ <feature name='tce'/>
2476+ <feature name='topoext'/>
2477+- <feature name='perfctr_core'/>
2478+ <feature name='perfctr_nb'/>
2479+ <feature name='invtsc'/>
2480+- <feature name='clzero'/>
2481+- <feature name='xsaveerptr'/>
2482+- <feature name='wbnoinvd'/>
2483+- <feature name='amd-stibp'/>
2484+ <feature name='amd-ssbd'/>
2485+- <feature name='npt'/>
2486+ <feature name='lbrv'/>
2487+ <feature name='svm-lock'/>
2488+- <feature name='nrip-save'/>
2489+ <feature name='tsc-scale'/>
2490+ <feature name='vmcb-clean'/>
2491+ <feature name='flushbyasid'/>
2492+--- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
2493++++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
2494+@@ -95,6 +95,7 @@
2495+ <model usable='yes'>Haswell-noTSX</model>
2496+ <model usable='yes'>Haswell-IBRS</model>
2497+ <model usable='yes'>Haswell</model>
2498++ <model usable='no'>EPYC-Rome</model>
2499+ <model usable='no'>EPYC-IBPB</model>
2500+ <model usable='no'>EPYC</model>
2501+ <model usable='no'>Dhyana</model>
2502+--- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
2503++++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
2504+@@ -100,6 +100,7 @@
2505+ <model usable='no'>Haswell-noTSX</model>
2506+ <model usable='no'>Haswell-IBRS</model>
2507+ <model usable='no'>Haswell</model>
2508++ <model usable='no'>EPYC-Rome</model>
2509+ <model usable='no'>EPYC-IBPB</model>
2510+ <model usable='no'>EPYC</model>
2511+ <model usable='no'>Dhyana</model>
2512+--- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
2513++++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
2514+@@ -94,6 +94,7 @@
2515+ <model usable='yes'>Haswell-noTSX</model>
2516+ <model usable='yes'>Haswell-IBRS</model>
2517+ <model usable='yes'>Haswell</model>
2518++ <model usable='no'>EPYC-Rome</model>
2519+ <model usable='no'>EPYC-IBPB</model>
2520+ <model usable='no'>EPYC</model>
2521+ <model usable='no'>Dhyana</model>
2522+--- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
2523++++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
2524+@@ -36,30 +36,20 @@
2525+ </enum>
2526+ </mode>
2527+ <mode name='host-model' supported='yes'>
2528+- <model fallback='forbid'>EPYC-IBPB</model>
2529++ <model fallback='forbid'>EPYC-Rome</model>
2530+ <vendor>AMD</vendor>
2531+ <feature policy='require' name='x2apic'/>
2532+ <feature policy='require' name='tsc-deadline'/>
2533+ <feature policy='require' name='hypervisor'/>
2534+ <feature policy='require' name='tsc_adjust'/>
2535+- <feature policy='require' name='clwb'/>
2536+- <feature policy='require' name='umip'/>
2537+- <feature policy='require' name='rdpid'/>
2538+ <feature policy='require' name='stibp'/>
2539+ <feature policy='require' name='arch-capabilities'/>
2540+ <feature policy='require' name='ssbd'/>
2541+ <feature policy='require' name='xsaves'/>
2542+ <feature policy='require' name='cmp_legacy'/>
2543+- <feature policy='require' name='perfctr_core'/>
2544+ <feature policy='require' name='invtsc'/>
2545+- <feature policy='require' name='clzero'/>
2546+- <feature policy='require' name='xsaveerptr'/>
2547+- <feature policy='require' name='wbnoinvd'/>
2548+- <feature policy='require' name='amd-stibp'/>
2549+ <feature policy='require' name='amd-ssbd'/>
2550+ <feature policy='require' name='virt-ssbd'/>
2551+- <feature policy='require' name='npt'/>
2552+- <feature policy='require' name='nrip-save'/>
2553+ <feature policy='require' name='rdctl-no'/>
2554+ <feature policy='require' name='skip-l1dfl-vmentry'/>
2555+ <feature policy='require' name='mds-no'/>
2556+@@ -107,6 +97,7 @@
2557+ <model usable='no'>Haswell-noTSX</model>
2558+ <model usable='no'>Haswell-IBRS</model>
2559+ <model usable='no'>Haswell</model>
2560++ <model usable='yes'>EPYC-Rome</model>
2561+ <model usable='yes'>EPYC-IBPB</model>
2562+ <model usable='yes'>EPYC</model>
2563+ <model usable='yes'>Dhyana</model>
2564+--- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
2565++++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml
2566+@@ -100,6 +100,7 @@
2567+ <model usable='no'>Haswell-noTSX</model>
2568+ <model usable='no'>Haswell-IBRS</model>
2569+ <model usable='no'>Haswell</model>
2570++ <model usable='no'>EPYC-Rome</model>
2571+ <model usable='no'>EPYC-IBPB</model>
2572+ <model usable='no'>EPYC</model>
2573+ <model usable='no'>Dhyana</model>
2574+--- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
2575++++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
2576+@@ -35,30 +35,20 @@
2577+ </enum>
2578+ </mode>
2579+ <mode name='host-model' supported='yes'>
2580+- <model fallback='forbid'>EPYC-IBPB</model>
2581++ <model fallback='forbid'>EPYC-Rome</model>
2582+ <vendor>AMD</vendor>
2583+ <feature policy='require' name='x2apic'/>
2584+ <feature policy='require' name='tsc-deadline'/>
2585+ <feature policy='require' name='hypervisor'/>
2586+ <feature policy='require' name='tsc_adjust'/>
2587+- <feature policy='require' name='clwb'/>
2588+- <feature policy='require' name='umip'/>
2589+- <feature policy='require' name='rdpid'/>
2590+ <feature policy='require' name='stibp'/>
2591+ <feature policy='require' name='arch-capabilities'/>
2592+ <feature policy='require' name='ssbd'/>
2593+ <feature policy='require' name='xsaves'/>
2594+ <feature policy='require' name='cmp_legacy'/>
2595+- <feature policy='require' name='perfctr_core'/>
2596+ <feature policy='require' name='invtsc'/>
2597+- <feature policy='require' name='clzero'/>
2598+- <feature policy='require' name='xsaveerptr'/>
2599+- <feature policy='require' name='wbnoinvd'/>
2600+- <feature policy='require' name='amd-stibp'/>
2601+ <feature policy='require' name='amd-ssbd'/>
2602+ <feature policy='require' name='virt-ssbd'/>
2603+- <feature policy='require' name='npt'/>
2604+- <feature policy='require' name='nrip-save'/>
2605+ <feature policy='require' name='rdctl-no'/>
2606+ <feature policy='require' name='skip-l1dfl-vmentry'/>
2607+ <feature policy='require' name='mds-no'/>
2608+@@ -106,6 +96,7 @@
2609+ <model usable='no'>Haswell-noTSX</model>
2610+ <model usable='no'>Haswell-IBRS</model>
2611+ <model usable='no'>Haswell</model>
2612++ <model usable='yes'>EPYC-Rome</model>
2613+ <model usable='yes'>EPYC-IBPB</model>
2614+ <model usable='yes'>EPYC</model>
2615+ <model usable='yes'>Dhyana</model>
2616+--- a/src/Makefile.in
2617++++ b/src/Makefile.in
2618+@@ -4453,6 +4453,7 @@ cpumap_DATA = \
2619+ cpu_map/x86_Dhyana.xml \
2620+ cpu_map/x86_EPYC.xml \
2621+ cpu_map/x86_EPYC-IBPB.xml \
2622++ cpu_map/x86_EPYC-Rome.xml \
2623+ cpu_map/x86_Haswell.xml \
2624+ cpu_map/x86_Haswell-IBRS.xml \
2625+ cpu_map/x86_Haswell-noTSX.xml \
2626+--- a/src/cpu_map/Makefile.inc.am
2627++++ b/src/cpu_map/Makefile.inc.am
2628+@@ -37,6 +37,7 @@ cpumap_DATA = \
2629+ cpu_map/x86_Dhyana.xml \
2630+ cpu_map/x86_EPYC.xml \
2631+ cpu_map/x86_EPYC-IBPB.xml \
2632++ cpu_map/x86_EPYC-Rome.xml \
2633+ cpu_map/x86_Haswell.xml \
2634+ cpu_map/x86_Haswell-IBRS.xml \
2635+ cpu_map/x86_Haswell-noTSX.xml \
2636diff --git a/debian/patches/ubuntu/lp-1887490-cpu_map-Remove-monitor-feature-from-EPYC-Rome.patch b/debian/patches/ubuntu/lp-1887490-cpu_map-Remove-monitor-feature-from-EPYC-Rome.patch
2637new file mode 100644
2638index 0000000..f47fe59
2639--- /dev/null
2640+++ b/debian/patches/ubuntu/lp-1887490-cpu_map-Remove-monitor-feature-from-EPYC-Rome.patch
2641@@ -0,0 +1,121 @@
2642+From 3bf6f9fe22dfbd3c1dcc614b31f2f4fe8b71a2f2 Mon Sep 17 00:00:00 2001
2643+From: Jiri Denemark <jdenemar@redhat.com>
2644+Date: Wed, 7 Oct 2020 23:15:23 +0200
2645+Subject: [PATCH] cpu_map: Remove monitor feature from EPYC-Rome
2646+
2647+The feature is filtered by KVM and never automatically enabled. So even
2648+though QEMU definition of EPYC-Rome contains this feature, the guest
2649+won't see it. Also domain capabilities will show it as disabled for KVM
2650+domains. Thus the feature should not really be included in our
2651+definition of EPYC-Rome.
2652+
2653+Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2654+Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2655+
2656+Origin: backport, https://gitlab.com/libvirt/libvirt/-/commit/3bf6f9fe
2657+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1887490
2658+Last-Update: 2020-10-08
2659+X-Backport-Notes:
2660+ - qemu 5.2 test to patch didn't exist back then, skipped
2661+
2662+---
2663+ src/cpu_map/x86_EPYC-Rome.xml | 1 -
2664+ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 1 +
2665+ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml | 1 +
2666+ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml | 1 -
2667+ tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 1 +
2668+ tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 1 +
2669+ tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml | 1 -
2670+ tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 -
2671+ tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 -
2672+ tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 -
2673+ tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 -
2674+ 11 files changed, 4 insertions(+), 7 deletions(-)
2675+
2676+--- a/src/cpu_map/x86_EPYC-Rome.xml
2677++++ b/src/cpu_map/x86_EPYC-Rome.xml
2678+@@ -37,7 +37,6 @@
2679+ <feature name='misalignsse'/>
2680+ <feature name='mmx'/>
2681+ <feature name='mmxext'/>
2682+- <feature name='monitor'/>
2683+ <feature name='movbe'/>
2684+ <feature name='msr'/>
2685+ <feature name='mtrr'/>
2686+--- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
2687++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml
2688+@@ -2,6 +2,7 @@
2689+ <model fallback='forbid'>EPYC-Rome</model>
2690+ <vendor>AMD</vendor>
2691+ <feature policy='require' name='ht'/>
2692++ <feature policy='require' name='monitor'/>
2693+ <feature policy='require' name='osxsave'/>
2694+ <feature policy='require' name='cmt'/>
2695+ <feature policy='require' name='xsaves'/>
2696+--- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
2697++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml
2698+@@ -3,6 +3,7 @@
2699+ <model>EPYC-Rome</model>
2700+ <vendor>AMD</vendor>
2701+ <feature name='ht'/>
2702++ <feature name='monitor'/>
2703+ <feature name='osxsave'/>
2704+ <feature name='cmt'/>
2705+ <feature name='xsaves'/>
2706+--- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
2707++++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-json.xml
2708+@@ -17,5 +17,4 @@
2709+ <feature policy='require' name='skip-l1dfl-vmentry'/>
2710+ <feature policy='require' name='mds-no'/>
2711+ <feature policy='require' name='pschange-mc-no'/>
2712+- <feature policy='disable' name='monitor'/>
2713+ </cpu>
2714+--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
2715++++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
2716+@@ -2,6 +2,7 @@
2717+ <model fallback='forbid'>EPYC-Rome</model>
2718+ <vendor>AMD</vendor>
2719+ <feature policy='require' name='ht'/>
2720++ <feature policy='require' name='monitor'/>
2721+ <feature policy='require' name='osxsave'/>
2722+ <feature policy='require' name='cmt'/>
2723+ <feature policy='require' name='xsaves'/>
2724+--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
2725++++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml
2726+@@ -3,6 +3,7 @@
2727+ <model>EPYC-Rome</model>
2728+ <vendor>AMD</vendor>
2729+ <feature name='ht'/>
2730++ <feature name='monitor'/>
2731+ <feature name='osxsave'/>
2732+ <feature name='cmt'/>
2733+ <feature name='xsaves'/>
2734+--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
2735++++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
2736+@@ -16,6 +16,5 @@
2737+ <feature policy='require' name='skip-l1dfl-vmentry'/>
2738+ <feature policy='require' name='mds-no'/>
2739+ <feature policy='require' name='pschange-mc-no'/>
2740+- <feature policy='disable' name='monitor'/>
2741+ <feature policy='disable' name='amd-stibp'/>
2742+ </cpu>
2743+--- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
2744++++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml
2745+@@ -54,7 +54,6 @@
2746+ <feature policy='require' name='skip-l1dfl-vmentry'/>
2747+ <feature policy='require' name='mds-no'/>
2748+ <feature policy='require' name='pschange-mc-no'/>
2749+- <feature policy='disable' name='monitor'/>
2750+ </mode>
2751+ <mode name='custom' supported='yes'>
2752+ <model usable='yes'>qemu64</model>
2753+--- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
2754++++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml
2755+@@ -53,7 +53,6 @@
2756+ <feature policy='require' name='skip-l1dfl-vmentry'/>
2757+ <feature policy='require' name='mds-no'/>
2758+ <feature policy='require' name='pschange-mc-no'/>
2759+- <feature policy='disable' name='monitor'/>
2760+ </mode>
2761+ <mode name='custom' supported='yes'>
2762+ <model usable='yes'>qemu64</model>
2763diff --git a/debian/patches/ubuntu/lp-1887490-cputest-Update-QEMU-data-for-Ryzen-9-3900X.patch b/debian/patches/ubuntu/lp-1887490-cputest-Update-QEMU-data-for-Ryzen-9-3900X.patch
2764new file mode 100644
2765index 0000000..a48d88a
2766--- /dev/null
2767+++ b/debian/patches/ubuntu/lp-1887490-cputest-Update-QEMU-data-for-Ryzen-9-3900X.patch
2768@@ -0,0 +1,368 @@
2769+From 736b8637f691242fd688cf726d22f79d0eb300d3 Mon Sep 17 00:00:00 2001
2770+From: Jiri Denemark <jdenemar@redhat.com>
2771+Date: Wed, 7 Oct 2020 17:35:15 +0200
2772+Subject: [PATCH] cputest: Update QEMU data for Ryzen 9 3900X
2773+
2774+The CPU should be identified as EPYC-Rome, but the QEMU binary used to
2775+gather the original test data did not support this model. Let's update
2776+the supported models to QEMU 5.1.0.
2777+
2778+Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
2779+Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2780+
2781+Origin: upstream, https://gitlab.com/libvirt/libvirt/-/commit/736b8637f
2782+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1887490
2783+Last-Update: 2020-10-08
2784+
2785+---
2786+ tests/cputest.c | 2 +-
2787+ ...6_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 12 +-
2788+ ...86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml | 12 +-
2789+ .../x86_64-cpuid-Ryzen-9-3900X-12-Core.json | 203 ++++++++++++++++++
2790+ 4 files changed, 207 insertions(+), 22 deletions(-)
2791+
2792+diff --git a/tests/cputest.c b/tests/cputest.c
2793+index b3b143cbf1..bf5ce84aa7 100644
2794+--- a/tests/cputest.c
2795++++ b/tests/cputest.c
2796+@@ -1254,7 +1254,7 @@ mymain(void)
2797+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Pentium-P6100", JSON_NONE);
2798+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Phenom-B95", JSON_HOST);
2799+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Ryzen-7-1800X-Eight-Core", JSON_HOST);
2800+- DO_TEST_CPUID(VIR_ARCH_X86_64, "Ryzen-9-3900X-12-Core", JSON_MODELS_REQUIRED);
2801++ DO_TEST_CPUID(VIR_ARCH_X86_64, "Ryzen-9-3900X-12-Core", JSON_MODELS);
2802+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-5110", JSON_NONE);
2803+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E3-1225-v5", JSON_MODELS);
2804+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E3-1245-v5", JSON_MODELS);
2805+diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
2806+index 1320f65a58..cb2caab6f5 100644
2807+--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
2808++++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml
2809+@@ -1,12 +1,9 @@
2810+ <cpu mode='custom' match='exact'>
2811+- <model fallback='forbid'>EPYC-IBPB</model>
2812++ <model fallback='forbid'>EPYC-Rome</model>
2813+ <vendor>AMD</vendor>
2814+ <feature policy='require' name='ht'/>
2815+ <feature policy='require' name='osxsave'/>
2816+ <feature policy='require' name='cmt'/>
2817+- <feature policy='require' name='clwb'/>
2818+- <feature policy='require' name='umip'/>
2819+- <feature policy='require' name='rdpid'/>
2820+ <feature policy='require' name='xsaves'/>
2821+ <feature policy='require' name='mbm_total'/>
2822+ <feature policy='require' name='mbm_local'/>
2823+@@ -17,18 +14,11 @@
2824+ <feature policy='require' name='wdt'/>
2825+ <feature policy='require' name='tce'/>
2826+ <feature policy='require' name='topoext'/>
2827+- <feature policy='require' name='perfctr_core'/>
2828+ <feature policy='require' name='perfctr_nb'/>
2829+ <feature policy='require' name='invtsc'/>
2830+- <feature policy='require' name='clzero'/>
2831+- <feature policy='require' name='xsaveerptr'/>
2832+- <feature policy='require' name='wbnoinvd'/>
2833+- <feature policy='require' name='amd-stibp'/>
2834+ <feature policy='require' name='amd-ssbd'/>
2835+- <feature policy='require' name='npt'/>
2836+ <feature policy='require' name='lbrv'/>
2837+ <feature policy='require' name='svm-lock'/>
2838+- <feature policy='require' name='nrip-save'/>
2839+ <feature policy='require' name='tsc-scale'/>
2840+ <feature policy='require' name='vmcb-clean'/>
2841+ <feature policy='require' name='flushbyasid'/>
2842+diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
2843+index fba378e030..c6aa67b6d5 100644
2844+--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
2845++++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-json.xml
2846+@@ -1,29 +1,21 @@
2847+ <cpu mode='custom' match='exact'>
2848+- <model fallback='forbid'>EPYC-IBPB</model>
2849++ <model fallback='forbid'>EPYC-Rome</model>
2850+ <vendor>AMD</vendor>
2851+ <feature policy='require' name='x2apic'/>
2852+ <feature policy='require' name='tsc-deadline'/>
2853+ <feature policy='require' name='hypervisor'/>
2854+ <feature policy='require' name='tsc_adjust'/>
2855+- <feature policy='require' name='clwb'/>
2856+- <feature policy='require' name='umip'/>
2857+- <feature policy='require' name='rdpid'/>
2858+ <feature policy='require' name='stibp'/>
2859+ <feature policy='require' name='arch-capabilities'/>
2860+ <feature policy='require' name='ssbd'/>
2861+ <feature policy='require' name='xsaves'/>
2862+ <feature policy='require' name='cmp_legacy'/>
2863+- <feature policy='require' name='perfctr_core'/>
2864+- <feature policy='require' name='clzero'/>
2865+- <feature policy='require' name='xsaveerptr'/>
2866+- <feature policy='require' name='wbnoinvd'/>
2867+ <feature policy='require' name='amd-ssbd'/>
2868+ <feature policy='require' name='virt-ssbd'/>
2869+- <feature policy='require' name='npt'/>
2870+- <feature policy='require' name='nrip-save'/>
2871+ <feature policy='require' name='rdctl-no'/>
2872+ <feature policy='require' name='skip-l1dfl-vmentry'/>
2873+ <feature policy='require' name='mds-no'/>
2874+ <feature policy='require' name='pschange-mc-no'/>
2875+ <feature policy='disable' name='monitor'/>
2876++ <feature policy='disable' name='amd-stibp'/>
2877+ </cpu>
2878+diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.json b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.json
2879+index fbdf1a794a..07c0ba0b05 100644
2880+--- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.json
2881++++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core.json
2882+@@ -698,6 +698,28 @@
2883+ "static": false,
2884+ "migration-safe": true
2885+ },
2886++ {
2887++ "name": "Skylake-Server-v4",
2888++ "typename": "Skylake-Server-v4-x86_64-cpu",
2889++ "unavailable-features": [
2890++ "pcid",
2891++ "erms",
2892++ "invpcid",
2893++ "avx512f",
2894++ "avx512dq",
2895++ "avx512cd",
2896++ "avx512bw",
2897++ "avx512vl",
2898++ "pku",
2899++ "spec-ctrl",
2900++ "avx512f",
2901++ "avx512f",
2902++ "avx512f",
2903++ "pku"
2904++ ],
2905++ "static": false,
2906++ "migration-safe": true
2907++ },
2908+ {
2909+ "name": "Skylake-Server-v3",
2910+ "typename": "Skylake-Server-v3-x86_64-cpu",
2911+@@ -1173,6 +1195,74 @@
2912+ "static": false,
2913+ "migration-safe": true
2914+ },
2915++ {
2916++ "name": "Icelake-Server-v4",
2917++ "typename": "Icelake-Server-v4-x86_64-cpu",
2918++ "unavailable-features": [
2919++ "pcid",
2920++ "erms",
2921++ "invpcid",
2922++ "avx512f",
2923++ "avx512dq",
2924++ "avx512ifma",
2925++ "avx512cd",
2926++ "avx512bw",
2927++ "avx512vl",
2928++ "avx512vbmi",
2929++ "pku",
2930++ "avx512vbmi2",
2931++ "gfni",
2932++ "vaes",
2933++ "vpclmulqdq",
2934++ "avx512vnni",
2935++ "avx512bitalg",
2936++ "avx512-vpopcntdq",
2937++ "la57",
2938++ "fsrm",
2939++ "spec-ctrl",
2940++ "avx512f",
2941++ "avx512f",
2942++ "avx512f",
2943++ "pku",
2944++ "ibrs-all",
2945++ "taa-no"
2946++ ],
2947++ "static": false,
2948++ "migration-safe": true
2949++ },
2950++ {
2951++ "name": "Icelake-Server-v3",
2952++ "typename": "Icelake-Server-v3-x86_64-cpu",
2953++ "unavailable-features": [
2954++ "pcid",
2955++ "erms",
2956++ "invpcid",
2957++ "avx512f",
2958++ "avx512dq",
2959++ "avx512cd",
2960++ "avx512bw",
2961++ "avx512vl",
2962++ "avx512vbmi",
2963++ "pku",
2964++ "avx512vbmi2",
2965++ "gfni",
2966++ "vaes",
2967++ "vpclmulqdq",
2968++ "avx512vnni",
2969++ "avx512bitalg",
2970++ "avx512-vpopcntdq",
2971++ "la57",
2972++ "spec-ctrl",
2973++ "avx512f",
2974++ "avx512f",
2975++ "avx512f",
2976++ "pku",
2977++ "ibrs-all",
2978++ "taa-no"
2979++ ],
2980++ "static": false,
2981++ "migration-safe": true
2982++ },
2983+ {
2984+ "name": "Icelake-Server-v2",
2985+ "typename": "Icelake-Server-v2-x86_64-cpu",
2986+@@ -1501,6 +1591,13 @@
2987+ "static": false,
2988+ "migration-safe": true
2989+ },
2990++ {
2991++ "name": "EPYC-v3",
2992++ "typename": "EPYC-v3-x86_64-cpu",
2993++ "unavailable-features": [],
2994++ "static": false,
2995++ "migration-safe": true
2996++ },
2997+ {
2998+ "name": "EPYC-v2",
2999+ "typename": "EPYC-v2-x86_64-cpu",
3000+@@ -1515,6 +1612,21 @@
3001+ "static": false,
3002+ "migration-safe": true
3003+ },
3004++ {
3005++ "name": "EPYC-Rome-v1",
3006++ "typename": "EPYC-Rome-v1-x86_64-cpu",
3007++ "unavailable-features": [],
3008++ "static": false,
3009++ "migration-safe": true
3010++ },
3011++ {
3012++ "name": "EPYC-Rome",
3013++ "typename": "EPYC-Rome-x86_64-cpu",
3014++ "unavailable-features": [],
3015++ "alias-of": "EPYC-Rome-v1",
3016++ "static": false,
3017++ "migration-safe": true
3018++ },
3019+ {
3020+ "name": "EPYC-IBPB",
3021+ "typename": "EPYC-IBPB-x86_64-cpu",
3022+@@ -1546,6 +1658,16 @@
3023+ "static": false,
3024+ "migration-safe": true
3025+ },
3026++ {
3027++ "name": "Denverton-v2",
3028++ "typename": "Denverton-v2-x86_64-cpu",
3029++ "unavailable-features": [
3030++ "erms",
3031++ "spec-ctrl"
3032++ ],
3033++ "static": false,
3034++ "migration-safe": true
3035++ },
3036+ {
3037+ "name": "Denverton-v1",
3038+ "typename": "Denverton-v1-x86_64-cpu",
3039+@@ -1573,6 +1695,63 @@
3040+ "static": false,
3041+ "migration-safe": true
3042+ },
3043++ {
3044++ "name": "Cooperlake-v1",
3045++ "typename": "Cooperlake-v1-x86_64-cpu",
3046++ "unavailable-features": [
3047++ "pcid",
3048++ "hle",
3049++ "erms",
3050++ "invpcid",
3051++ "rtm",
3052++ "avx512f",
3053++ "avx512dq",
3054++ "avx512cd",
3055++ "avx512bw",
3056++ "avx512vl",
3057++ "pku",
3058++ "avx512vnni",
3059++ "spec-ctrl",
3060++ "avx512-bf16",
3061++ "avx512f",
3062++ "avx512f",
3063++ "avx512f",
3064++ "pku",
3065++ "ibrs-all",
3066++ "taa-no"
3067++ ],
3068++ "static": false,
3069++ "migration-safe": true
3070++ },
3071++ {
3072++ "name": "Cooperlake",
3073++ "typename": "Cooperlake-x86_64-cpu",
3074++ "unavailable-features": [
3075++ "pcid",
3076++ "hle",
3077++ "erms",
3078++ "invpcid",
3079++ "rtm",
3080++ "avx512f",
3081++ "avx512dq",
3082++ "avx512cd",
3083++ "avx512bw",
3084++ "avx512vl",
3085++ "pku",
3086++ "avx512vnni",
3087++ "spec-ctrl",
3088++ "avx512-bf16",
3089++ "avx512f",
3090++ "avx512f",
3091++ "avx512f",
3092++ "pku",
3093++ "ibrs-all",
3094++ "taa-no"
3095++ ],
3096++ "alias-of": "Cooperlake-v1",
3097++ "static": false,
3098++ "migration-safe": true
3099++ },
3100+ {
3101+ "name": "Conroe-v1",
3102+ "typename": "Conroe-v1-x86_64-cpu",
3103+@@ -1588,6 +1767,30 @@
3104+ "static": false,
3105+ "migration-safe": true
3106+ },
3107++ {
3108++ "name": "Cascadelake-Server-v4",
3109++ "typename": "Cascadelake-Server-v4-x86_64-cpu",
3110++ "unavailable-features": [
3111++ "pcid",
3112++ "erms",
3113++ "invpcid",
3114++ "avx512f",
3115++ "avx512dq",
3116++ "avx512cd",
3117++ "avx512bw",
3118++ "avx512vl",
3119++ "pku",
3120++ "avx512vnni",
3121++ "spec-ctrl",
3122++ "avx512f",
3123++ "avx512f",
3124++ "avx512f",
3125++ "pku",
3126++ "ibrs-all"
3127++ ],
3128++ "static": false,
3129++ "migration-safe": true
3130++ },
3131+ {
3132+ "name": "Cascadelake-Server-v3",
3133+ "typename": "Cascadelake-Server-v3-x86_64-cpu",
3134+--
3135+2.28.0
3136+

Subscribers

People subscribed via source and target branches