render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
Pablo Greco 40546a
From 2afffd01a71c3b2efeeaefed4829a87d46956c8b Mon Sep 17 00:00:00 2001
Pablo Greco 40546a
Message-Id: <2afffd01a71c3b2efeeaefed4829a87d46956c8b@dist-git>
Pablo Greco 40546a
From: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Date: Fri, 21 Jun 2019 09:24:52 +0200
Pablo Greco 40546a
Subject: [PATCH] cputest: Add data for Intel(R) Xeon(R) CPU E5-2650
Pablo Greco 40546a
MIME-Version: 1.0
Pablo Greco 40546a
Content-Type: text/plain; charset=UTF-8
Pablo Greco 40546a
Content-Transfer-Encoding: 8bit
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
(cherry picked from commit 483679d48f6b5fb731bdedca3b5d3b33c011d6a3)
Pablo Greco 40546a
Pablo Greco 40546a
https://bugzilla.redhat.com/show_bug.cgi?id=1686895
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Message-Id: <944ffeee03d77b02d000ea6c70d98307d850eaad.1561068591.git.jdenemar@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
---
Pablo Greco 40546a
 tests/cputest.c                               |   1 +
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-E5-2650-disabled.xml    |   5 +
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-E5-2650-enabled.xml     |   8 +
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-E5-2650-guest.xml       |  29 +
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-E5-2650-host.xml        |  30 +
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-E5-2650-json.xml        |  14 +
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-E5-2650.json            | 931 ++++++++++++++++++
Pablo Greco 40546a
 .../cputestdata/x86_64-cpuid-Xeon-E5-2650.xml |  34 +
Pablo Greco 40546a
 8 files changed, 1052 insertions(+)
Pablo Greco 40546a
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-disabled.xml
Pablo Greco 40546a
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-enabled.xml
Pablo Greco 40546a
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml
Pablo Greco 40546a
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
Pablo Greco 40546a
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml
Pablo Greco 40546a
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json
Pablo Greco 40546a
 create mode 100644 tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.xml
Pablo Greco 40546a
Pablo Greco 40546a
diff --git a/tests/cputest.c b/tests/cputest.c
Pablo Greco 40546a
index e2c7860f3f..bcbfe2d08a 100644
Pablo Greco 40546a
--- a/tests/cputest.c
Pablo Greco 40546a
+++ b/tests/cputest.c
Pablo Greco 40546a
@@ -1197,6 +1197,7 @@ mymain(void)
Pablo Greco 40546a
     DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2623-v4", JSON_MODELS);
Pablo Greco 40546a
     DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2630-v3", JSON_HOST);
Pablo Greco 40546a
     DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2630-v4", JSON_MODELS);
Pablo Greco 40546a
+    DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2650", JSON_MODELS);
Pablo Greco 40546a
     DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2650-v3", JSON_HOST);
Pablo Greco 40546a
     DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2650-v4", JSON_MODELS);
Pablo Greco 40546a
     DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E7-4820", JSON_HOST);
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-disabled.xml
Pablo Greco 40546a
new file mode 100644
Pablo Greco 40546a
index 0000000000..d9538892eb
Pablo Greco 40546a
--- /dev/null
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-disabled.xml
Pablo Greco 40546a
@@ -0,0 +1,5 @@
Pablo Greco 40546a
+
Pablo Greco 40546a
+<cpudata arch='x86'>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
Pablo Greco 40546a
+</cpudata>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-enabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-enabled.xml
Pablo Greco 40546a
new file mode 100644
Pablo Greco 40546a
index 0000000000..fcc1e84686
Pablo Greco 40546a
--- /dev/null
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-enabled.xml
Pablo Greco 40546a
@@ -0,0 +1,8 @@
Pablo Greco 40546a
+
Pablo Greco 40546a
+<cpudata arch='x86'>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x97ba2203' edx='0x0f8bfbff'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000002' ecx='0x00000000' edx='0x8c000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000001' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000001' edx='0x2c100800'/>
Pablo Greco 40546a
+</cpudata>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml
Pablo Greco 40546a
new file mode 100644
Pablo Greco 40546a
index 0000000000..e507642df1
Pablo Greco 40546a
--- /dev/null
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-guest.xml
Pablo Greco 40546a
@@ -0,0 +1,29 @@
Pablo Greco 40546a
+<cpu mode='custom' match='exact'>
Pablo Greco 40546a
+  <model fallback='forbid'>SandyBridge-IBRS</model>
Pablo Greco 40546a
+  <vendor>Intel</vendor>
Pablo Greco 40546a
+  <feature policy='require' name='vme'/>
Pablo Greco 40546a
+  <feature policy='require' name='ds'/>
Pablo Greco 40546a
+  <feature policy='require' name='acpi'/>
Pablo Greco 40546a
+  <feature policy='require' name='ss'/>
Pablo Greco 40546a
+  <feature policy='require' name='ht'/>
Pablo Greco 40546a
+  <feature policy='require' name='tm'/>
Pablo Greco 40546a
+  <feature policy='require' name='pbe'/>
Pablo Greco 40546a
+  <feature policy='require' name='dtes64'/>
Pablo Greco 40546a
+  <feature policy='require' name='monitor'/>
Pablo Greco 40546a
+  <feature policy='require' name='ds_cpl'/>
Pablo Greco 40546a
+  <feature policy='require' name='vmx'/>
Pablo Greco 40546a
+  <feature policy='require' name='smx'/>
Pablo Greco 40546a
+  <feature policy='require' name='est'/>
Pablo Greco 40546a
+  <feature policy='require' name='tm2'/>
Pablo Greco 40546a
+  <feature policy='require' name='xtpr'/>
Pablo Greco 40546a
+  <feature policy='require' name='pdcm'/>
Pablo Greco 40546a
+  <feature policy='require' name='pcid'/>
Pablo Greco 40546a
+  <feature policy='require' name='dca'/>
Pablo Greco 40546a
+  <feature policy='require' name='osxsave'/>
Pablo Greco 40546a
+  <feature policy='require' name='arat'/>
Pablo Greco 40546a
+  <feature policy='require' name='stibp'/>
Pablo Greco 40546a
+  <feature policy='require' name='ssbd'/>
Pablo Greco 40546a
+  <feature policy='require' name='xsaveopt'/>
Pablo Greco 40546a
+  <feature policy='require' name='pdpe1gb'/>
Pablo Greco 40546a
+  <feature policy='require' name='invtsc'/>
Pablo Greco 40546a
+</cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
Pablo Greco 40546a
new file mode 100644
Pablo Greco 40546a
index 0000000000..80ca6c343f
Pablo Greco 40546a
--- /dev/null
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-host.xml
Pablo Greco 40546a
@@ -0,0 +1,30 @@
Pablo Greco 40546a
+<cpu>
Pablo Greco 40546a
+  <arch>x86_64</arch>
Pablo Greco 40546a
+  <model>SandyBridge-IBRS</model>
Pablo Greco 40546a
+  <vendor>Intel</vendor>
Pablo Greco 40546a
+  <feature name='vme'/>
Pablo Greco 40546a
+  <feature name='ds'/>
Pablo Greco 40546a
+  <feature name='acpi'/>
Pablo Greco 40546a
+  <feature name='ss'/>
Pablo Greco 40546a
+  <feature name='ht'/>
Pablo Greco 40546a
+  <feature name='tm'/>
Pablo Greco 40546a
+  <feature name='pbe'/>
Pablo Greco 40546a
+  <feature name='dtes64'/>
Pablo Greco 40546a
+  <feature name='monitor'/>
Pablo Greco 40546a
+  <feature name='ds_cpl'/>
Pablo Greco 40546a
+  <feature name='vmx'/>
Pablo Greco 40546a
+  <feature name='smx'/>
Pablo Greco 40546a
+  <feature name='est'/>
Pablo Greco 40546a
+  <feature name='tm2'/>
Pablo Greco 40546a
+  <feature name='xtpr'/>
Pablo Greco 40546a
+  <feature name='pdcm'/>
Pablo Greco 40546a
+  <feature name='pcid'/>
Pablo Greco 40546a
+  <feature name='dca'/>
Pablo Greco 40546a
+  <feature name='osxsave'/>
Pablo Greco 40546a
+  <feature name='arat'/>
Pablo Greco 40546a
+  <feature name='stibp'/>
Pablo Greco 40546a
+  <feature name='ssbd'/>
Pablo Greco 40546a
+  <feature name='xsaveopt'/>
Pablo Greco 40546a
+  <feature name='pdpe1gb'/>
Pablo Greco 40546a
+  <feature name='invtsc'/>
Pablo Greco 40546a
+</cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml
Pablo Greco 40546a
new file mode 100644
Pablo Greco 40546a
index 0000000000..bf587d3ffc
Pablo Greco 40546a
--- /dev/null
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-json.xml
Pablo Greco 40546a
@@ -0,0 +1,14 @@
Pablo Greco 40546a
+<cpu mode='custom' match='exact'>
Pablo Greco 40546a
+  <model fallback='forbid'>SandyBridge-IBRS</model>
Pablo Greco 40546a
+  <vendor>Intel</vendor>
Pablo Greco 40546a
+  <feature policy='require' name='vme'/>
Pablo Greco 40546a
+  <feature policy='require' name='ss'/>
Pablo Greco 40546a
+  <feature policy='require' name='pcid'/>
Pablo Greco 40546a
+  <feature policy='require' name='hypervisor'/>
Pablo Greco 40546a
+  <feature policy='require' name='arat'/>
Pablo Greco 40546a
+  <feature policy='require' name='tsc_adjust'/>
Pablo Greco 40546a
+  <feature policy='require' name='stibp'/>
Pablo Greco 40546a
+  <feature policy='require' name='ssbd'/>
Pablo Greco 40546a
+  <feature policy='require' name='xsaveopt'/>
Pablo Greco 40546a
+  <feature policy='require' name='pdpe1gb'/>
Pablo Greco 40546a
+</cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json
Pablo Greco 40546a
new file mode 100644
Pablo Greco 40546a
index 0000000000..a7a8542203
Pablo Greco 40546a
--- /dev/null
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.json
Pablo Greco 40546a
@@ -0,0 +1,931 @@
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "return": {
Pablo Greco 40546a
+    "model": {
Pablo Greco 40546a
+      "name": "base",
Pablo Greco 40546a
+      "props": {
Pablo Greco 40546a
+        "phys-bits": 0,
Pablo Greco 40546a
+        "core-id": -1,
Pablo Greco 40546a
+        "xlevel": 2147483656,
Pablo Greco 40546a
+        "cmov": true,
Pablo Greco 40546a
+        "ia64": false,
Pablo Greco 40546a
+        "aes": true,
Pablo Greco 40546a
+        "mmx": true,
Pablo Greco 40546a
+        "rdpid": false,
Pablo Greco 40546a
+        "arat": true,
Pablo Greco 40546a
+        "gfni": false,
Pablo Greco 40546a
+        "pause-filter": false,
Pablo Greco 40546a
+        "xsavec": false,
Pablo Greco 40546a
+        "intel-pt": false,
Pablo Greco 40546a
+        "osxsave": false,
Pablo Greco 40546a
+        "hv-frequencies": false,
Pablo Greco 40546a
+        "tsc-frequency": 0,
Pablo Greco 40546a
+        "xd": true,
Pablo Greco 40546a
+        "hv-vendor-id": "",
Pablo Greco 40546a
+        "kvm-asyncpf": true,
Pablo Greco 40546a
+        "kvm_asyncpf": true,
Pablo Greco 40546a
+        "perfctr_core": false,
Pablo Greco 40546a
+        "perfctr-core": false,
Pablo Greco 40546a
+        "mpx": false,
Pablo Greco 40546a
+        "pbe": false,
Pablo Greco 40546a
+        "decodeassists": false,
Pablo Greco 40546a
+        "avx512cd": false,
Pablo Greco 40546a
+        "sse4_1": true,
Pablo Greco 40546a
+        "sse4.1": true,
Pablo Greco 40546a
+        "sse4-1": true,
Pablo Greco 40546a
+        "family": 6,
Pablo Greco 40546a
+        "legacy-cache": true,
Pablo Greco 40546a
+        "vmware-cpuid-freq": true,
Pablo Greco 40546a
+        "avx512f": false,
Pablo Greco 40546a
+        "msr": true,
Pablo Greco 40546a
+        "mce": true,
Pablo Greco 40546a
+        "mca": true,
Pablo Greco 40546a
+        "hv-runtime": false,
Pablo Greco 40546a
+        "xcrypt": false,
Pablo Greco 40546a
+        "thread-id": -1,
Pablo Greco 40546a
+        "min-level": 13,
Pablo Greco 40546a
+        "xgetbv1": false,
Pablo Greco 40546a
+        "cid": false,
Pablo Greco 40546a
+        "hv-relaxed": false,
Pablo Greco 40546a
+        "hv-crash": false,
Pablo Greco 40546a
+        "ds": false,
Pablo Greco 40546a
+        "fxsr": true,
Pablo Greco 40546a
+        "xsaveopt": true,
Pablo Greco 40546a
+        "xtpr": false,
Pablo Greco 40546a
+        "avx512vl": false,
Pablo Greco 40546a
+        "avx512-vpopcntdq": false,
Pablo Greco 40546a
+        "phe": false,
Pablo Greco 40546a
+        "extapic": false,
Pablo Greco 40546a
+        "3dnowprefetch": false,
Pablo Greco 40546a
+        "avx512vbmi2": false,
Pablo Greco 40546a
+        "cr8legacy": false,
Pablo Greco 40546a
+        "stibp": true,
Pablo Greco 40546a
+        "cpuid-0xb": true,
Pablo Greco 40546a
+        "xcrypt-en": false,
Pablo Greco 40546a
+        "kvm_pv_eoi": true,
Pablo Greco 40546a
+        "apic-id": 4294967295,
Pablo Greco 40546a
+        "pn": false,
Pablo Greco 40546a
+        "dca": false,
Pablo Greco 40546a
+        "vendor": "GenuineIntel",
Pablo Greco 40546a
+        "pku": false,
Pablo Greco 40546a
+        "smx": false,
Pablo Greco 40546a
+        "cmp_legacy": false,
Pablo Greco 40546a
+        "cmp-legacy": false,
Pablo Greco 40546a
+        "node-id": -1,
Pablo Greco 40546a
+        "avx512-4fmaps": false,
Pablo Greco 40546a
+        "vmcb_clean": false,
Pablo Greco 40546a
+        "vmcb-clean": false,
Pablo Greco 40546a
+        "3dnowext": false,
Pablo Greco 40546a
+        "hle": false,
Pablo Greco 40546a
+        "npt": false,
Pablo Greco 40546a
+        "memory": "/machine/unattached/system[0]",
Pablo Greco 40546a
+        "clwb": false,
Pablo Greco 40546a
+        "lbrv": false,
Pablo Greco 40546a
+        "adx": false,
Pablo Greco 40546a
+        "ss": true,
Pablo Greco 40546a
+        "pni": true,
Pablo Greco 40546a
+        "svm_lock": false,
Pablo Greco 40546a
+        "svm-lock": false,
Pablo Greco 40546a
+        "pfthreshold": false,
Pablo Greco 40546a
+        "smep": false,
Pablo Greco 40546a
+        "smap": false,
Pablo Greco 40546a
+        "x2apic": true,
Pablo Greco 40546a
+        "avx512vbmi": false,
Pablo Greco 40546a
+        "avx512vnni": false,
Pablo Greco 40546a
+        "hv-stimer": false,
Pablo Greco 40546a
+        "i64": true,
Pablo Greco 40546a
+        "flushbyasid": false,
Pablo Greco 40546a
+        "f16c": false,
Pablo Greco 40546a
+        "ace2-en": false,
Pablo Greco 40546a
+        "pat": true,
Pablo Greco 40546a
+        "pae": true,
Pablo Greco 40546a
+        "sse": true,
Pablo Greco 40546a
+        "phe-en": false,
Pablo Greco 40546a
+        "kvm_nopiodelay": true,
Pablo Greco 40546a
+        "kvm-nopiodelay": true,
Pablo Greco 40546a
+        "tm": false,
Pablo Greco 40546a
+        "kvmclock-stable-bit": true,
Pablo Greco 40546a
+        "hypervisor": true,
Pablo Greco 40546a
+        "socket-id": -1,
Pablo Greco 40546a
+        "pcommit": false,
Pablo Greco 40546a
+        "syscall": true,
Pablo Greco 40546a
+        "level": 13,
Pablo Greco 40546a
+        "avx512dq": false,
Pablo Greco 40546a
+        "svm": false,
Pablo Greco 40546a
+        "full-cpuid-auto-level": true,
Pablo Greco 40546a
+        "hv-reset": false,
Pablo Greco 40546a
+        "invtsc": false,
Pablo Greco 40546a
+        "sse3": true,
Pablo Greco 40546a
+        "sse2": true,
Pablo Greco 40546a
+        "ssbd": true,
Pablo Greco 40546a
+        "est": false,
Pablo Greco 40546a
+        "avx512ifma": false,
Pablo Greco 40546a
+        "tm2": false,
Pablo Greco 40546a
+        "kvm-pv-eoi": true,
Pablo Greco 40546a
+        "cx8": true,
Pablo Greco 40546a
+        "kvm_mmu": false,
Pablo Greco 40546a
+        "kvm-mmu": false,
Pablo Greco 40546a
+        "sse4_2": true,
Pablo Greco 40546a
+        "sse4.2": true,
Pablo Greco 40546a
+        "sse4-2": true,
Pablo Greco 40546a
+        "pge": true,
Pablo Greco 40546a
+        "fill-mtrr-mask": true,
Pablo Greco 40546a
+        "avx512bitalg": false,
Pablo Greco 40546a
+        "nodeid_msr": false,
Pablo Greco 40546a
+        "pdcm": false,
Pablo Greco 40546a
+        "movbe": false,
Pablo Greco 40546a
+        "model": 45,
Pablo Greco 40546a
+        "nrip_save": false,
Pablo Greco 40546a
+        "nrip-save": false,
Pablo Greco 40546a
+        "kvm_pv_unhalt": true,
Pablo Greco 40546a
+        "ssse3": true,
Pablo Greco 40546a
+        "sse4a": false,
Pablo Greco 40546a
+        "invpcid": false,
Pablo Greco 40546a
+        "pdpe1gb": true,
Pablo Greco 40546a
+        "tsc-deadline": true,
Pablo Greco 40546a
+        "fma": false,
Pablo Greco 40546a
+        "cx16": true,
Pablo Greco 40546a
+        "de": true,
Pablo Greco 40546a
+        "enforce": false,
Pablo Greco 40546a
+        "stepping": 7,
Pablo Greco 40546a
+        "xsave": true,
Pablo Greco 40546a
+        "clflush": true,
Pablo Greco 40546a
+        "skinit": false,
Pablo Greco 40546a
+        "tsc": true,
Pablo Greco 40546a
+        "tce": false,
Pablo Greco 40546a
+        "fpu": true,
Pablo Greco 40546a
+        "ibs": false,
Pablo Greco 40546a
+        "ds_cpl": false,
Pablo Greco 40546a
+        "ds-cpl": false,
Pablo Greco 40546a
+        "host-phys-bits": true,
Pablo Greco 40546a
+        "fma4": false,
Pablo Greco 40546a
+        "la57": false,
Pablo Greco 40546a
+        "osvw": false,
Pablo Greco 40546a
+        "check": true,
Pablo Greco 40546a
+        "hv-spinlocks": -1,
Pablo Greco 40546a
+        "pmu": false,
Pablo Greco 40546a
+        "pmm": false,
Pablo Greco 40546a
+        "apic": true,
Pablo Greco 40546a
+        "spec-ctrl": true,
Pablo Greco 40546a
+        "min-xlevel2": 0,
Pablo Greco 40546a
+        "tsc-adjust": true,
Pablo Greco 40546a
+        "tsc_adjust": true,
Pablo Greco 40546a
+        "kvm-steal-time": true,
Pablo Greco 40546a
+        "kvm_steal_time": true,
Pablo Greco 40546a
+        "kvmclock": true,
Pablo Greco 40546a
+        "l3-cache": true,
Pablo Greco 40546a
+        "lwp": false,
Pablo Greco 40546a
+        "ibpb": false,
Pablo Greco 40546a
+        "xop": false,
Pablo Greco 40546a
+        "avx": true,
Pablo Greco 40546a
+        "ospke": false,
Pablo Greco 40546a
+        "ace2": false,
Pablo Greco 40546a
+        "avx512bw": false,
Pablo Greco 40546a
+        "acpi": false,
Pablo Greco 40546a
+        "hv-vapic": false,
Pablo Greco 40546a
+        "fsgsbase": false,
Pablo Greco 40546a
+        "ht": false,
Pablo Greco 40546a
+        "nx": true,
Pablo Greco 40546a
+        "pclmulqdq": true,
Pablo Greco 40546a
+        "mmxext": false,
Pablo Greco 40546a
+        "vaes": false,
Pablo Greco 40546a
+        "popcnt": true,
Pablo Greco 40546a
+        "xsaves": false,
Pablo Greco 40546a
+        "tcg-cpuid": true,
Pablo Greco 40546a
+        "lm": true,
Pablo Greco 40546a
+        "umip": false,
Pablo Greco 40546a
+        "pse": true,
Pablo Greco 40546a
+        "avx2": false,
Pablo Greco 40546a
+        "sep": true,
Pablo Greco 40546a
+        "pclmuldq": true,
Pablo Greco 40546a
+        "virt-ssbd": false,
Pablo Greco 40546a
+        "x-hv-max-vps": -1,
Pablo Greco 40546a
+        "nodeid-msr": false,
Pablo Greco 40546a
+        "kvm": true,
Pablo Greco 40546a
+        "misalignsse": false,
Pablo Greco 40546a
+        "min-xlevel": 2147483656,
Pablo Greco 40546a
+        "kvm-pv-unhalt": true,
Pablo Greco 40546a
+        "bmi2": false,
Pablo Greco 40546a
+        "bmi1": false,
Pablo Greco 40546a
+        "realized": false,
Pablo Greco 40546a
+        "tsc_scale": false,
Pablo Greco 40546a
+        "tsc-scale": false,
Pablo Greco 40546a
+        "topoext": false,
Pablo Greco 40546a
+        "hv-vpindex": false,
Pablo Greco 40546a
+        "xlevel2": 0,
Pablo Greco 40546a
+        "clflushopt": false,
Pablo Greco 40546a
+        "kvm-no-smi-migration": false,
Pablo Greco 40546a
+        "monitor": false,
Pablo Greco 40546a
+        "avx512er": false,
Pablo Greco 40546a
+        "pmm-en": false,
Pablo Greco 40546a
+        "pcid": true,
Pablo Greco 40546a
+        "3dnow": false,
Pablo Greco 40546a
+        "erms": false,
Pablo Greco 40546a
+        "lahf-lm": true,
Pablo Greco 40546a
+        "lahf_lm": true,
Pablo Greco 40546a
+        "vpclmulqdq": false,
Pablo Greco 40546a
+        "fxsr-opt": false,
Pablo Greco 40546a
+        "hv-synic": false,
Pablo Greco 40546a
+        "xstore": false,
Pablo Greco 40546a
+        "fxsr_opt": false,
Pablo Greco 40546a
+        "kvm-hint-dedicated": false,
Pablo Greco 40546a
+        "rtm": false,
Pablo Greco 40546a
+        "lmce": true,
Pablo Greco 40546a
+        "hv-time": false,
Pablo Greco 40546a
+        "perfctr-nb": false,
Pablo Greco 40546a
+        "perfctr_nb": false,
Pablo Greco 40546a
+        "ffxsr": false,
Pablo Greco 40546a
+        "rdrand": false,
Pablo Greco 40546a
+        "rdseed": false,
Pablo Greco 40546a
+        "avx512-4vnniw": false,
Pablo Greco 40546a
+        "vmx": false,
Pablo Greco 40546a
+        "vme": true,
Pablo Greco 40546a
+        "dtes64": false,
Pablo Greco 40546a
+        "mtrr": true,
Pablo Greco 40546a
+        "rdtscp": true,
Pablo Greco 40546a
+        "pse36": true,
Pablo Greco 40546a
+        "kvm-pv-tlb-flush": false,
Pablo Greco 40546a
+        "tbm": false,
Pablo Greco 40546a
+        "wdt": false,
Pablo Greco 40546a
+        "pause_filter": false,
Pablo Greco 40546a
+        "sha-ni": false,
Pablo Greco 40546a
+        "model-id": "       Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz",
Pablo Greco 40546a
+        "abm": false,
Pablo Greco 40546a
+        "avx512pf": false,
Pablo Greco 40546a
+        "xstore-en": false
Pablo Greco 40546a
+      }
Pablo Greco 40546a
+    }
Pablo Greco 40546a
+  },
Pablo Greco 40546a
+  "id": "model-expansion"
Pablo Greco 40546a
+}
Pablo Greco 40546a
+
Pablo Greco 40546a
+{
Pablo Greco 40546a
+  "return": [
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "max",
Pablo Greco 40546a
+      "typename": "max-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": false
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "host",
Pablo Greco 40546a
+      "typename": "host-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": false
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "base",
Pablo Greco 40546a
+      "typename": "base-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": true,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "qemu64",
Pablo Greco 40546a
+      "typename": "qemu64-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "qemu32",
Pablo Greco 40546a
+      "typename": "qemu32-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "phenom",
Pablo Greco 40546a
+      "typename": "phenom-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "mmxext",
Pablo Greco 40546a
+        "fxsr-opt",
Pablo Greco 40546a
+        "3dnowext",
Pablo Greco 40546a
+        "3dnow",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "sse4a",
Pablo Greco 40546a
+        "npt"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pentium3",
Pablo Greco 40546a
+      "typename": "pentium3-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pentium2",
Pablo Greco 40546a
+      "typename": "pentium2-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "pentium",
Pablo Greco 40546a
+      "typename": "pentium-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "n270",
Pablo Greco 40546a
+      "typename": "n270-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "movbe"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm64",
Pablo Greco 40546a
+      "typename": "kvm64-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "kvm32",
Pablo Greco 40546a
+      "typename": "kvm32-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "cpu64-rhel6",
Pablo Greco 40546a
+      "typename": "cpu64-rhel6-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "sse4a"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "coreduo",
Pablo Greco 40546a
+      "typename": "coreduo-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "core2duo",
Pablo Greco 40546a
+      "typename": "core2duo-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "athlon",
Pablo Greco 40546a
+      "typename": "athlon-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "mmxext",
Pablo Greco 40546a
+        "3dnowext",
Pablo Greco 40546a
+        "3dnow"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Westmere",
Pablo Greco 40546a
+      "typename": "Westmere-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Westmere-IBRS",
Pablo Greco 40546a
+      "typename": "Westmere-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Skylake-Server",
Pablo Greco 40546a
+      "typename": "Skylake-Server-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "hle",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rtm",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "avx512f",
Pablo Greco 40546a
+        "avx512dq",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "clflushopt",
Pablo Greco 40546a
+        "clwb",
Pablo Greco 40546a
+        "avx512cd",
Pablo Greco 40546a
+        "avx512bw",
Pablo Greco 40546a
+        "avx512vl",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "3dnowprefetch",
Pablo Greco 40546a
+        "xsavec",
Pablo Greco 40546a
+        "xgetbv1",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "avx512f",
Pablo Greco 40546a
+        "avx512f",
Pablo Greco 40546a
+        "avx512f"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Skylake-Server-IBRS",
Pablo Greco 40546a
+      "typename": "Skylake-Server-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "hle",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rtm",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "avx512f",
Pablo Greco 40546a
+        "avx512dq",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "clwb",
Pablo Greco 40546a
+        "avx512cd",
Pablo Greco 40546a
+        "avx512bw",
Pablo Greco 40546a
+        "avx512vl",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "3dnowprefetch",
Pablo Greco 40546a
+        "xsavec",
Pablo Greco 40546a
+        "xgetbv1",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "avx512f",
Pablo Greco 40546a
+        "avx512f",
Pablo Greco 40546a
+        "avx512f"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Skylake-Client",
Pablo Greco 40546a
+      "typename": "Skylake-Client-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "hle",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rtm",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "3dnowprefetch",
Pablo Greco 40546a
+        "xsavec",
Pablo Greco 40546a
+        "xgetbv1",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "mpx"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Skylake-Client-IBRS",
Pablo Greco 40546a
+      "typename": "Skylake-Client-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "hle",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rtm",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "3dnowprefetch",
Pablo Greco 40546a
+        "xsavec",
Pablo Greco 40546a
+        "xgetbv1",
Pablo Greco 40546a
+        "mpx",
Pablo Greco 40546a
+        "mpx"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "SandyBridge",
Pablo Greco 40546a
+      "typename": "SandyBridge-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "SandyBridge-IBRS",
Pablo Greco 40546a
+      "typename": "SandyBridge-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Penryn",
Pablo Greco 40546a
+      "typename": "Penryn-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Opteron_G5",
Pablo Greco 40546a
+      "typename": "Opteron_G5-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "sse4a",
Pablo Greco 40546a
+        "misalignsse",
Pablo Greco 40546a
+        "3dnowprefetch",
Pablo Greco 40546a
+        "xop",
Pablo Greco 40546a
+        "fma4",
Pablo Greco 40546a
+        "tbm"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Opteron_G4",
Pablo Greco 40546a
+      "typename": "Opteron_G4-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "sse4a",
Pablo Greco 40546a
+        "misalignsse",
Pablo Greco 40546a
+        "3dnowprefetch",
Pablo Greco 40546a
+        "xop",
Pablo Greco 40546a
+        "fma4"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Opteron_G3",
Pablo Greco 40546a
+      "typename": "Opteron_G3-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "sse4a",
Pablo Greco 40546a
+        "misalignsse"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Opteron_G2",
Pablo Greco 40546a
+      "typename": "Opteron_G2-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Opteron_G1",
Pablo Greco 40546a
+      "typename": "Opteron_G1-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Nehalem",
Pablo Greco 40546a
+      "typename": "Nehalem-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Nehalem-IBRS",
Pablo Greco 40546a
+      "typename": "Nehalem-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "IvyBridge",
Pablo Greco 40546a
+      "typename": "IvyBridge-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "erms"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "IvyBridge-IBRS",
Pablo Greco 40546a
+      "typename": "IvyBridge-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "erms"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Haswell",
Pablo Greco 40546a
+      "typename": "Haswell-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "hle",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rtm",
Pablo Greco 40546a
+        "abm"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Haswell-noTSX",
Pablo Greco 40546a
+      "typename": "Haswell-noTSX-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "abm"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Haswell-noTSX-IBRS",
Pablo Greco 40546a
+      "typename": "Haswell-noTSX-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "abm"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Haswell-IBRS",
Pablo Greco 40546a
+      "typename": "Haswell-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "hle",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rtm",
Pablo Greco 40546a
+        "abm"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "EPYC",
Pablo Greco 40546a
+      "typename": "EPYC-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "clflushopt",
Pablo Greco 40546a
+        "sha-ni",
Pablo Greco 40546a
+        "mmxext",
Pablo Greco 40546a
+        "fxsr-opt",
Pablo Greco 40546a
+        "cr8legacy",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "sse4a",
Pablo Greco 40546a
+        "misalignsse",
Pablo Greco 40546a
+        "3dnowprefetch",
Pablo Greco 40546a
+        "osvw",
Pablo Greco 40546a
+        "xsavec",
Pablo Greco 40546a
+        "xgetbv1"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "EPYC-IBPB",
Pablo Greco 40546a
+      "typename": "EPYC-IBPB-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "clflushopt",
Pablo Greco 40546a
+        "sha-ni",
Pablo Greco 40546a
+        "mmxext",
Pablo Greco 40546a
+        "fxsr-opt",
Pablo Greco 40546a
+        "cr8legacy",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "sse4a",
Pablo Greco 40546a
+        "misalignsse",
Pablo Greco 40546a
+        "3dnowprefetch",
Pablo Greco 40546a
+        "osvw",
Pablo Greco 40546a
+        "ibpb",
Pablo Greco 40546a
+        "xsavec",
Pablo Greco 40546a
+        "xgetbv1"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Conroe",
Pablo Greco 40546a
+      "typename": "Conroe-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Broadwell",
Pablo Greco 40546a
+      "typename": "Broadwell-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "hle",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rtm",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "3dnowprefetch"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Broadwell-noTSX",
Pablo Greco 40546a
+      "typename": "Broadwell-noTSX-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "3dnowprefetch"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Broadwell-noTSX-IBRS",
Pablo Greco 40546a
+      "typename": "Broadwell-noTSX-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "3dnowprefetch"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "Broadwell-IBRS",
Pablo Greco 40546a
+      "typename": "Broadwell-IBRS-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [
Pablo Greco 40546a
+        "fma",
Pablo Greco 40546a
+        "movbe",
Pablo Greco 40546a
+        "f16c",
Pablo Greco 40546a
+        "rdrand",
Pablo Greco 40546a
+        "fsgsbase",
Pablo Greco 40546a
+        "bmi1",
Pablo Greco 40546a
+        "hle",
Pablo Greco 40546a
+        "avx2",
Pablo Greco 40546a
+        "smep",
Pablo Greco 40546a
+        "bmi2",
Pablo Greco 40546a
+        "erms",
Pablo Greco 40546a
+        "invpcid",
Pablo Greco 40546a
+        "rtm",
Pablo Greco 40546a
+        "rdseed",
Pablo Greco 40546a
+        "adx",
Pablo Greco 40546a
+        "smap",
Pablo Greco 40546a
+        "abm",
Pablo Greco 40546a
+        "3dnowprefetch"
Pablo Greco 40546a
+      ],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    },
Pablo Greco 40546a
+    {
Pablo Greco 40546a
+      "name": "486",
Pablo Greco 40546a
+      "typename": "486-x86_64-cpu",
Pablo Greco 40546a
+      "unavailable-features": [],
Pablo Greco 40546a
+      "static": false,
Pablo Greco 40546a
+      "migration-safe": true
Pablo Greco 40546a
+    }
Pablo Greco 40546a
+  ],
Pablo Greco 40546a
+  "id": "definitions"
Pablo Greco 40546a
+}
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.xml
Pablo Greco 40546a
new file mode 100644
Pablo Greco 40546a
index 0000000000..b7ce0631ca
Pablo Greco 40546a
--- /dev/null
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650.xml
Pablo Greco 40546a
@@ -0,0 +1,34 @@
Pablo Greco 40546a
+
Pablo Greco 40546a
+<cpudata arch='x86'>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000000' ecx_in='0x00' eax='0x0000000d' ebx='0x756e6547' ecx='0x6c65746e' edx='0x49656e69'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x000206d7' ebx='0x05200800' ecx='0x1fbee3ff' edx='0xbfebfbff'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000002' ecx_in='0x00' eax='0x76035a01' ebx='0x00f0b2ff' ecx='0x00000000' edx='0x00ca0000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000003' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000004' ecx_in='0x00' eax='0x3c004121' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000004' ecx_in='0x01' eax='0x3c004122' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000004' ecx_in='0x02' eax='0x3c004143' ebx='0x01c0003f' ecx='0x000001ff' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000004' ecx_in='0x03' eax='0x3c07c163' ebx='0x04c0003f' ecx='0x00003fff' edx='0x00000006'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000005' ecx_in='0x00' eax='0x00000040' ebx='0x00000040' ecx='0x00000003' edx='0x00021120'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000077' ebx='0x00000002' ecx='0x00000009' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x9c000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x00000009' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x0000000a' ecx_in='0x00' eax='0x07300403' ebx='0x00000000' ecx='0x00000000' edx='0x00000603'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x0000000b' ecx_in='0x00' eax='0x00000001' ebx='0x00000002' ecx='0x00000100' edx='0x00000005'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x0000000b' ecx_in='0x01' eax='0x00000005' ebx='0x00000010' ecx='0x00000201' edx='0x00000005'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x0000000c' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x0000000d' ecx_in='0x00' eax='0x00000007' ebx='0x00000340' ecx='0x00000340' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000001' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x0000000d' ecx_in='0x02' eax='0x00000100' ebx='0x00000240' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x80000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000001' edx='0x2c100800'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x20202020' ebx='0x49202020' ecx='0x6c65746e' edx='0x20295228'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x6e6f6558' ebx='0x20295228' ecx='0x20555043' edx='0x322d3545'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x20303536' ebx='0x20402030' ecx='0x30302e32' edx='0x007a4847'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000005' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01006040' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x0000302e' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0x80860000' ecx_in='0x00' eax='0x00000007' ebx='0x00000340' ecx='0x00000340' edx='0x00000000'/>
Pablo Greco 40546a
+  <cpuid eax_in='0xc0000000' ecx_in='0x00' eax='0x00000007' ebx='0x00000340' ecx='0x00000340' edx='0x00000000'/>
Pablo Greco 40546a
+</cpudata>
Pablo Greco 40546a
-- 
Pablo Greco 40546a
2.22.0
Pablo Greco 40546a