|
|
a3bc25 |
From 73e87a037ccd6d9fd02c3fd0a082f014412c7555 Mon Sep 17 00:00:00 2001
|
|
|
a3bc25 |
Message-Id: <73e87a037ccd6d9fd02c3fd0a082f014412c7555@dist-git>
|
|
|
a3bc25 |
From: Jiri Denemark <jdenemar@redhat.com>
|
|
|
a3bc25 |
Date: Mon, 19 Jun 2017 13:18:52 +0200
|
|
|
a3bc25 |
Subject: [PATCH] cpu_x86: Properly disable unknown CPU features
|
|
|
a3bc25 |
|
|
|
a3bc25 |
CPU features unknown to a hypervisor will not be present in dataDisabled
|
|
|
a3bc25 |
even though the features won't naturally be enabled because.
|
|
|
a3bc25 |
Thus any features we asked for which are not in dataEnabled should be
|
|
|
a3bc25 |
considered disabled.
|
|
|
a3bc25 |
|
|
|
a3bc25 |
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
|
a3bc25 |
(cherry picked from commit 83e081b8ab32dd990b4e4ccc7bf8a1a416fc51c2)
|
|
|
a3bc25 |
|
|
|
a3bc25 |
https://bugzilla.redhat.com/show_bug.cgi?id=1470582
|
|
|
a3bc25 |
|
|
|
a3bc25 |
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
|
a3bc25 |
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
|
|
|
a3bc25 |
---
|
|
|
a3bc25 |
src/cpu/cpu_x86.c | 9 +-
|
|
|
a3bc25 |
tests/cputest.c | 1 +
|
|
|
a3bc25 |
.../x86_64-cpuid-Core-i7-5600U-arat-disabled.xml | 5 +
|
|
|
a3bc25 |
.../x86_64-cpuid-Core-i7-5600U-arat-enabled.xml | 8 +
|
|
|
a3bc25 |
.../x86_64-cpuid-Core-i7-5600U-arat-guest.xml | 29 +++
|
|
|
a3bc25 |
.../x86_64-cpuid-Core-i7-5600U-arat-host.xml | 30 +++
|
|
|
a3bc25 |
.../x86_64-cpuid-Core-i7-5600U-arat-json.xml | 14 ++
|
|
|
a3bc25 |
.../x86_64-cpuid-Core-i7-5600U-arat.json | 202 +++++++++++++++++++++
|
|
|
a3bc25 |
.../x86_64-cpuid-Core-i7-5600U-arat.xml | 41 +++++
|
|
|
a3bc25 |
9 files changed, 335 insertions(+), 4 deletions(-)
|
|
|
a3bc25 |
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml
|
|
|
a3bc25 |
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-enabled.xml
|
|
|
a3bc25 |
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml
|
|
|
a3bc25 |
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
|
|
|
a3bc25 |
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-json.xml
|
|
|
a3bc25 |
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.json
|
|
|
a3bc25 |
create mode 100644 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.xml
|
|
|
a3bc25 |
|
|
|
a3bc25 |
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
|
|
|
a3bc25 |
index 53359ff9b6..2864454211 100644
|
|
|
a3bc25 |
--- a/src/cpu/cpu_x86.c
|
|
|
a3bc25 |
+++ b/src/cpu/cpu_x86.c
|
|
|
a3bc25 |
@@ -2664,12 +2664,11 @@ virCPUx86UpdateLive(virCPUDefPtr cpu,
|
|
|
a3bc25 |
x86DataCopy(&disabled, &dataDisabled->data.x86) < 0)
|
|
|
a3bc25 |
goto cleanup;
|
|
|
a3bc25 |
|
|
|
a3bc25 |
- x86DataSubtract(&enabled, &model->data);
|
|
|
a3bc25 |
-
|
|
|
a3bc25 |
for (i = 0; i < map->nfeatures; i++) {
|
|
|
a3bc25 |
virCPUx86FeaturePtr feature = map->features[i];
|
|
|
a3bc25 |
|
|
|
a3bc25 |
- if (x86DataIsSubset(&enabled, &feature->data)) {
|
|
|
a3bc25 |
+ if (x86DataIsSubset(&enabled, &feature->data) &&
|
|
|
a3bc25 |
+ !x86DataIsSubset(&model->data, &feature->data)) {
|
|
|
a3bc25 |
VIR_DEBUG("Feature '%s' enabled by the hypervisor", feature->name);
|
|
|
a3bc25 |
if (cpu->check == VIR_CPU_CHECK_FULL)
|
|
|
a3bc25 |
virBufferAsprintf(&bufAdded, "%s,", feature->name);
|
|
|
a3bc25 |
@@ -2678,7 +2677,9 @@ virCPUx86UpdateLive(virCPUDefPtr cpu,
|
|
|
a3bc25 |
goto cleanup;
|
|
|
a3bc25 |
}
|
|
|
a3bc25 |
|
|
|
a3bc25 |
- if (x86DataIsSubset(&disabled, &feature->data)) {
|
|
|
a3bc25 |
+ if (x86DataIsSubset(&disabled, &feature->data) ||
|
|
|
a3bc25 |
+ (x86DataIsSubset(&model->data, &feature->data) &&
|
|
|
a3bc25 |
+ !x86DataIsSubset(&enabled, &feature->data))) {
|
|
|
a3bc25 |
VIR_DEBUG("Feature '%s' disabled by the hypervisor", feature->name);
|
|
|
a3bc25 |
if (cpu->check == VIR_CPU_CHECK_FULL)
|
|
|
a3bc25 |
virBufferAsprintf(&bufRemoved, "%s,", feature->name);
|
|
|
a3bc25 |
diff --git a/tests/cputest.c b/tests/cputest.c
|
|
|
a3bc25 |
index 97b34de9ed..5190a83467 100644
|
|
|
a3bc25 |
--- a/tests/cputest.c
|
|
|
a3bc25 |
+++ b/tests/cputest.c
|
|
|
a3bc25 |
@@ -991,6 +991,7 @@ mymain(void)
|
|
|
a3bc25 |
DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-4600U", true);
|
|
|
a3bc25 |
DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-4510U", true);
|
|
|
a3bc25 |
DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-5600U", true);
|
|
|
a3bc25 |
+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Core-i7-5600U-arat", true);
|
|
|
a3bc25 |
DO_TEST_CPUID(VIR_ARCH_X86_64, "Core2-E6850", true);
|
|
|
a3bc25 |
DO_TEST_CPUID(VIR_ARCH_X86_64, "Core2-Q9500", false);
|
|
|
a3bc25 |
DO_TEST_CPUID(VIR_ARCH_X86_64, "FX-8150", false);
|
|
|
a3bc25 |
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml
|
|
|
a3bc25 |
new file mode 100644
|
|
|
a3bc25 |
index 0000000000..4a0477f788
|
|
|
a3bc25 |
--- /dev/null
|
|
|
a3bc25 |
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml
|
|
|
a3bc25 |
@@ -0,0 +1,5 @@
|
|
|
a3bc25 |
+
|
|
|
a3bc25 |
+<cpudata arch='x86'>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
|
|
|
a3bc25 |
+</cpudata>
|
|
|
a3bc25 |
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-enabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-enabled.xml
|
|
|
a3bc25 |
new file mode 100644
|
|
|
a3bc25 |
index 0000000000..5cffacef59
|
|
|
a3bc25 |
--- /dev/null
|
|
|
a3bc25 |
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-enabled.xml
|
|
|
a3bc25 |
@@ -0,0 +1,8 @@
|
|
|
a3bc25 |
+
|
|
|
a3bc25 |
+<cpudata arch='x86'>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0xf7fa3223' edx='0x0f8bfbff'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x001c0fbb' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000001' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x40000001' ecx_in='0x00' eax='0x010000fa' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/>
|
|
|
a3bc25 |
+</cpudata>
|
|
|
a3bc25 |
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml
|
|
|
a3bc25 |
new file mode 100644
|
|
|
a3bc25 |
index 0000000000..877895cf15
|
|
|
a3bc25 |
--- /dev/null
|
|
|
a3bc25 |
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml
|
|
|
a3bc25 |
@@ -0,0 +1,29 @@
|
|
|
a3bc25 |
+<cpu mode='custom' match='exact'>
|
|
|
a3bc25 |
+ <model fallback='forbid'>Broadwell</model>
|
|
|
a3bc25 |
+ <vendor>Intel</vendor>
|
|
|
a3bc25 |
+ <feature policy='require' name='vme'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='ds'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='acpi'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='ss'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='ht'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='tm'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='pbe'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='dtes64'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='monitor'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='ds_cpl'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='vmx'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='smx'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='est'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='tm2'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='xtpr'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='pdcm'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='osxsave'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='f16c'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='rdrand'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='arat'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='tsc_adjust'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='xsaveopt'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='pdpe1gb'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='abm'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='invtsc'/>
|
|
|
a3bc25 |
+</cpu>
|
|
|
a3bc25 |
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
|
|
|
a3bc25 |
new file mode 100644
|
|
|
a3bc25 |
index 0000000000..9b24941e0e
|
|
|
a3bc25 |
--- /dev/null
|
|
|
a3bc25 |
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
|
|
|
a3bc25 |
@@ -0,0 +1,30 @@
|
|
|
a3bc25 |
+<cpu>
|
|
|
a3bc25 |
+ <arch>x86_64</arch>
|
|
|
a3bc25 |
+ <model>Broadwell</model>
|
|
|
a3bc25 |
+ <vendor>Intel</vendor>
|
|
|
a3bc25 |
+ <feature name='vme'/>
|
|
|
a3bc25 |
+ <feature name='ds'/>
|
|
|
a3bc25 |
+ <feature name='acpi'/>
|
|
|
a3bc25 |
+ <feature name='ss'/>
|
|
|
a3bc25 |
+ <feature name='ht'/>
|
|
|
a3bc25 |
+ <feature name='tm'/>
|
|
|
a3bc25 |
+ <feature name='pbe'/>
|
|
|
a3bc25 |
+ <feature name='dtes64'/>
|
|
|
a3bc25 |
+ <feature name='monitor'/>
|
|
|
a3bc25 |
+ <feature name='ds_cpl'/>
|
|
|
a3bc25 |
+ <feature name='vmx'/>
|
|
|
a3bc25 |
+ <feature name='smx'/>
|
|
|
a3bc25 |
+ <feature name='est'/>
|
|
|
a3bc25 |
+ <feature name='tm2'/>
|
|
|
a3bc25 |
+ <feature name='xtpr'/>
|
|
|
a3bc25 |
+ <feature name='pdcm'/>
|
|
|
a3bc25 |
+ <feature name='osxsave'/>
|
|
|
a3bc25 |
+ <feature name='f16c'/>
|
|
|
a3bc25 |
+ <feature name='rdrand'/>
|
|
|
a3bc25 |
+ <feature name='arat'/>
|
|
|
a3bc25 |
+ <feature name='tsc_adjust'/>
|
|
|
a3bc25 |
+ <feature name='xsaveopt'/>
|
|
|
a3bc25 |
+ <feature name='pdpe1gb'/>
|
|
|
a3bc25 |
+ <feature name='abm'/>
|
|
|
a3bc25 |
+ <feature name='invtsc'/>
|
|
|
a3bc25 |
+</cpu>
|
|
|
a3bc25 |
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-json.xml
|
|
|
a3bc25 |
new file mode 100644
|
|
|
a3bc25 |
index 0000000000..4f253fc08a
|
|
|
a3bc25 |
--- /dev/null
|
|
|
a3bc25 |
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-json.xml
|
|
|
a3bc25 |
@@ -0,0 +1,14 @@
|
|
|
a3bc25 |
+<cpu mode='custom' match='exact'>
|
|
|
a3bc25 |
+ <model fallback='forbid'>Broadwell</model>
|
|
|
a3bc25 |
+ <vendor>Intel</vendor>
|
|
|
a3bc25 |
+ <feature policy='require' name='vme'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='ss'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='vmx'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='f16c'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='rdrand'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='hypervisor'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='tsc_adjust'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='xsaveopt'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='pdpe1gb'/>
|
|
|
a3bc25 |
+ <feature policy='require' name='abm'/>
|
|
|
a3bc25 |
+</cpu>
|
|
|
a3bc25 |
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.json b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.json
|
|
|
a3bc25 |
new file mode 100644
|
|
|
a3bc25 |
index 0000000000..f2aa7f3185
|
|
|
a3bc25 |
--- /dev/null
|
|
|
a3bc25 |
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.json
|
|
|
a3bc25 |
@@ -0,0 +1,202 @@
|
|
|
a3bc25 |
+{
|
|
|
a3bc25 |
+ "return": {
|
|
|
a3bc25 |
+ "model": {
|
|
|
a3bc25 |
+ "name": "base",
|
|
|
a3bc25 |
+ "props": {
|
|
|
a3bc25 |
+ "pfthreshold": false,
|
|
|
a3bc25 |
+ "pku": false,
|
|
|
a3bc25 |
+ "rtm": true,
|
|
|
a3bc25 |
+ "tsc_adjust": true,
|
|
|
a3bc25 |
+ "tsc-deadline": true,
|
|
|
a3bc25 |
+ "xstore-en": false,
|
|
|
a3bc25 |
+ "tsc-scale": false,
|
|
|
a3bc25 |
+ "sse": true,
|
|
|
a3bc25 |
+ "smap": true,
|
|
|
a3bc25 |
+ "stepping": 4,
|
|
|
a3bc25 |
+ "tce": false,
|
|
|
a3bc25 |
+ "kvm_steal_time": true,
|
|
|
a3bc25 |
+ "smep": true,
|
|
|
a3bc25 |
+ "rdpid": false,
|
|
|
a3bc25 |
+ "xcrypt": false,
|
|
|
a3bc25 |
+ "sse4_2": true,
|
|
|
a3bc25 |
+ "monitor": false,
|
|
|
a3bc25 |
+ "sse4_1": true,
|
|
|
a3bc25 |
+ "kvm-mmu": false,
|
|
|
a3bc25 |
+ "flushbyasid": false,
|
|
|
a3bc25 |
+ "kvm-steal-time": true,
|
|
|
a3bc25 |
+ "lm": true,
|
|
|
a3bc25 |
+ "tsc": true,
|
|
|
a3bc25 |
+ "adx": true,
|
|
|
a3bc25 |
+ "fxsr": true,
|
|
|
a3bc25 |
+ "sha-ni": false,
|
|
|
a3bc25 |
+ "tm": false,
|
|
|
a3bc25 |
+ "pclmuldq": true,
|
|
|
a3bc25 |
+ "xgetbv1": false,
|
|
|
a3bc25 |
+ "xstore": false,
|
|
|
a3bc25 |
+ "vmcb_clean": false,
|
|
|
a3bc25 |
+ "vme": true,
|
|
|
a3bc25 |
+ "vendor": "GenuineIntel",
|
|
|
a3bc25 |
+ "ffxsr": false,
|
|
|
a3bc25 |
+ "de": true,
|
|
|
a3bc25 |
+ "avx512f": false,
|
|
|
a3bc25 |
+ "pse": true,
|
|
|
a3bc25 |
+ "ds-cpl": false,
|
|
|
a3bc25 |
+ "tbm": false,
|
|
|
a3bc25 |
+ "ia64": false,
|
|
|
a3bc25 |
+ "phe-en": false,
|
|
|
a3bc25 |
+ "f16c": true,
|
|
|
a3bc25 |
+ "ds": false,
|
|
|
a3bc25 |
+ "mpx": false,
|
|
|
a3bc25 |
+ "tsc-adjust": true,
|
|
|
a3bc25 |
+ "aes": true,
|
|
|
a3bc25 |
+ "avx2": true,
|
|
|
a3bc25 |
+ "pbe": false,
|
|
|
a3bc25 |
+ "cx16": true,
|
|
|
a3bc25 |
+ "ds_cpl": false,
|
|
|
a3bc25 |
+ "movbe": true,
|
|
|
a3bc25 |
+ "perfctr-nb": false,
|
|
|
a3bc25 |
+ "nrip_save": false,
|
|
|
a3bc25 |
+ "kvm_mmu": false,
|
|
|
a3bc25 |
+ "ospke": false,
|
|
|
a3bc25 |
+ "avx512ifma": false,
|
|
|
a3bc25 |
+ "vmx": true,
|
|
|
a3bc25 |
+ "sep": true,
|
|
|
a3bc25 |
+ "xsaveopt": true,
|
|
|
a3bc25 |
+ "sse4a": false,
|
|
|
a3bc25 |
+ "avx512dq": false,
|
|
|
a3bc25 |
+ "i64": true,
|
|
|
a3bc25 |
+ "avx512-4vnniw": false,
|
|
|
a3bc25 |
+ "xsave": true,
|
|
|
a3bc25 |
+ "erms": true,
|
|
|
a3bc25 |
+ "hle": true,
|
|
|
a3bc25 |
+ "nodeid_msr": false,
|
|
|
a3bc25 |
+ "est": false,
|
|
|
a3bc25 |
+ "svm_lock": false,
|
|
|
a3bc25 |
+ "xop": false,
|
|
|
a3bc25 |
+ "model-id": "Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz",
|
|
|
a3bc25 |
+ "abm": true,
|
|
|
a3bc25 |
+ "avx512er": false,
|
|
|
a3bc25 |
+ "sse4.1": true,
|
|
|
a3bc25 |
+ "sse4.2": true,
|
|
|
a3bc25 |
+ "pause-filter": false,
|
|
|
a3bc25 |
+ "lahf-lm": true,
|
|
|
a3bc25 |
+ "kvm-nopiodelay": true,
|
|
|
a3bc25 |
+ "cmp_legacy": false,
|
|
|
a3bc25 |
+ "acpi": false,
|
|
|
a3bc25 |
+ "fma4": false,
|
|
|
a3bc25 |
+ "popcnt": true,
|
|
|
a3bc25 |
+ "mmx": true,
|
|
|
a3bc25 |
+ "osxsave": false,
|
|
|
a3bc25 |
+ "pcommit": false,
|
|
|
a3bc25 |
+ "avx512pf": false,
|
|
|
a3bc25 |
+ "clwb": false,
|
|
|
a3bc25 |
+ "dca": false,
|
|
|
a3bc25 |
+ "pdcm": false,
|
|
|
a3bc25 |
+ "xcrypt-en": false,
|
|
|
a3bc25 |
+ "3dnow": false,
|
|
|
a3bc25 |
+ "invtsc": false,
|
|
|
a3bc25 |
+ "tm2": false,
|
|
|
a3bc25 |
+ "hypervisor": true,
|
|
|
a3bc25 |
+ "kvmclock-stable-bit": true,
|
|
|
a3bc25 |
+ "fxsr-opt": false,
|
|
|
a3bc25 |
+ "pcid": true,
|
|
|
a3bc25 |
+ "sse4-1": true,
|
|
|
a3bc25 |
+ "sse4-2": true,
|
|
|
a3bc25 |
+ "avx512-vpopcntdq": false,
|
|
|
a3bc25 |
+ "avx512-4fmaps": false,
|
|
|
a3bc25 |
+ "pause_filter": false,
|
|
|
a3bc25 |
+ "svm-lock": false,
|
|
|
a3bc25 |
+ "rdrand": true,
|
|
|
a3bc25 |
+ "nrip-save": false,
|
|
|
a3bc25 |
+ "avx512vl": false,
|
|
|
a3bc25 |
+ "x2apic": true,
|
|
|
a3bc25 |
+ "kvmclock": true,
|
|
|
a3bc25 |
+ "pge": true,
|
|
|
a3bc25 |
+ "family": 6,
|
|
|
a3bc25 |
+ "dtes64": false,
|
|
|
a3bc25 |
+ "xd": true,
|
|
|
a3bc25 |
+ "kvm_pv_eoi": true,
|
|
|
a3bc25 |
+ "ace2": false,
|
|
|
a3bc25 |
+ "kvm_pv_unhalt": true,
|
|
|
a3bc25 |
+ "xtpr": false,
|
|
|
a3bc25 |
+ "perfctr_nb": false,
|
|
|
a3bc25 |
+ "avx512bw": false,
|
|
|
a3bc25 |
+ "nx": true,
|
|
|
a3bc25 |
+ "lwp": false,
|
|
|
a3bc25 |
+ "msr": true,
|
|
|
a3bc25 |
+ "ace2-en": false,
|
|
|
a3bc25 |
+ "decodeassists": false,
|
|
|
a3bc25 |
+ "perfctr-core": false,
|
|
|
a3bc25 |
+ "pn": false,
|
|
|
a3bc25 |
+ "fma": true,
|
|
|
a3bc25 |
+ "nodeid-msr": false,
|
|
|
a3bc25 |
+ "kvm_asyncpf": true,
|
|
|
a3bc25 |
+ "clflush": true,
|
|
|
a3bc25 |
+ "cx8": true,
|
|
|
a3bc25 |
+ "mce": true,
|
|
|
a3bc25 |
+ "avx512cd": false,
|
|
|
a3bc25 |
+ "cr8legacy": false,
|
|
|
a3bc25 |
+ "mca": true,
|
|
|
a3bc25 |
+ "pni": true,
|
|
|
a3bc25 |
+ "rdseed": true,
|
|
|
a3bc25 |
+ "apic": true,
|
|
|
a3bc25 |
+ "fsgsbase": true,
|
|
|
a3bc25 |
+ "cmp-legacy": false,
|
|
|
a3bc25 |
+ "kvm-pv-unhalt": true,
|
|
|
a3bc25 |
+ "rdtscp": true,
|
|
|
a3bc25 |
+ "mmxext": false,
|
|
|
a3bc25 |
+ "cid": false,
|
|
|
a3bc25 |
+ "ssse3": true,
|
|
|
a3bc25 |
+ "extapic": false,
|
|
|
a3bc25 |
+ "pse36": true,
|
|
|
a3bc25 |
+ "mtrr": true,
|
|
|
a3bc25 |
+ "ibs": false,
|
|
|
a3bc25 |
+ "la57": false,
|
|
|
a3bc25 |
+ "avx": true,
|
|
|
a3bc25 |
+ "syscall": true,
|
|
|
a3bc25 |
+ "umip": false,
|
|
|
a3bc25 |
+ "invpcid": true,
|
|
|
a3bc25 |
+ "avx512vbmi": false,
|
|
|
a3bc25 |
+ "kvm-asyncpf": true,
|
|
|
a3bc25 |
+ "vmcb-clean": false,
|
|
|
a3bc25 |
+ "pmm": false,
|
|
|
a3bc25 |
+ "cmov": true,
|
|
|
a3bc25 |
+ "perfctr_core": false,
|
|
|
a3bc25 |
+ "misalignsse": false,
|
|
|
a3bc25 |
+ "clflushopt": false,
|
|
|
a3bc25 |
+ "pat": true,
|
|
|
a3bc25 |
+ "lbrv": false,
|
|
|
a3bc25 |
+ "3dnowprefetch": true,
|
|
|
a3bc25 |
+ "fpu": true,
|
|
|
a3bc25 |
+ "pae": true,
|
|
|
a3bc25 |
+ "wdt": false,
|
|
|
a3bc25 |
+ "tsc_scale": false,
|
|
|
a3bc25 |
+ "skinit": false,
|
|
|
a3bc25 |
+ "fxsr_opt": false,
|
|
|
a3bc25 |
+ "kvm_nopiodelay": true,
|
|
|
a3bc25 |
+ "pmm-en": false,
|
|
|
a3bc25 |
+ "phe": false,
|
|
|
a3bc25 |
+ "3dnowext": false,
|
|
|
a3bc25 |
+ "osvw": false,
|
|
|
a3bc25 |
+ "ht": false,
|
|
|
a3bc25 |
+ "pdpe1gb": true,
|
|
|
a3bc25 |
+ "kvm-pv-eoi": true,
|
|
|
a3bc25 |
+ "npt": false,
|
|
|
a3bc25 |
+ "xsavec": false,
|
|
|
a3bc25 |
+ "lahf_lm": true,
|
|
|
a3bc25 |
+ "pclmulqdq": true,
|
|
|
a3bc25 |
+ "svm": false,
|
|
|
a3bc25 |
+ "sse3": true,
|
|
|
a3bc25 |
+ "sse2": true,
|
|
|
a3bc25 |
+ "ss": true,
|
|
|
a3bc25 |
+ "topoext": false,
|
|
|
a3bc25 |
+ "smx": false,
|
|
|
a3bc25 |
+ "bmi1": true,
|
|
|
a3bc25 |
+ "bmi2": true,
|
|
|
a3bc25 |
+ "xsaves": false,
|
|
|
a3bc25 |
+ "model": 61
|
|
|
a3bc25 |
+ }
|
|
|
a3bc25 |
+ }
|
|
|
a3bc25 |
+ },
|
|
|
a3bc25 |
+ "id": "model-expansion"
|
|
|
a3bc25 |
+}
|
|
|
a3bc25 |
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.xml
|
|
|
a3bc25 |
new file mode 100644
|
|
|
a3bc25 |
index 0000000000..ecb4a6e15c
|
|
|
a3bc25 |
--- /dev/null
|
|
|
a3bc25 |
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat.xml
|
|
|
a3bc25 |
@@ -0,0 +1,41 @@
|
|
|
a3bc25 |
+
|
|
|
a3bc25 |
+<cpudata arch='x86'>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000000' ecx_in='0x00' eax='0x00000014' ebx='0x756e6547' ecx='0x6c65746e' edx='0x49656e69'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x000306d4' ebx='0x00100800' ecx='0x7ffafbff' edx='0xbfebfbff'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000002' ecx_in='0x00' eax='0x76036301' ebx='0x00f0b5ff' ecx='0x00000000' edx='0x00c30000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000003' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000004' ecx_in='0x00' eax='0x1c004121' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000004' ecx_in='0x01' eax='0x1c004122' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000004' ecx_in='0x02' eax='0x1c004143' ebx='0x01c0003f' ecx='0x000001ff' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000004' ecx_in='0x03' eax='0x1c03c163' ebx='0x03c0003f' ecx='0x00000fff' edx='0x00000006'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000005' ecx_in='0x00' eax='0x00000040' ebx='0x00000040' ecx='0x00000003' edx='0x11142120'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000077' ebx='0x00000002' ecx='0x00000009' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x021c2fbb' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000009' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000a' ecx_in='0x00' eax='0x07300403' ebx='0x00000000' ecx='0x00000000' edx='0x00000603'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000b' ecx_in='0x00' eax='0x00000001' ebx='0x00000002' ecx='0x00000100' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000b' ecx_in='0x01' eax='0x00000004' ebx='0x00000004' ecx='0x00000201' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000c' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000001' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000d' ecx_in='0x00' eax='0x00000007' ebx='0x00000340' ecx='0x00000340' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000001' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000d' ecx_in='0x02' eax='0x00000100' ebx='0x00000240' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000e' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x0000000f' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000010' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000011' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000012' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000013' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x00000014' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000001' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x80000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x65746e49' ebx='0x2952286c' ecx='0x726f4320' edx='0x4d542865'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x37692029' ebx='0x3036352d' ecx='0x43205530' edx='0x40205550'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x362e3220' ebx='0x7a484730' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000005' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01006040' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00003027' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0x80860000' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000001' edx='0x00000000'/>
|
|
|
a3bc25 |
+ <cpuid eax_in='0xc0000000' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000001' edx='0x00000000'/>
|
|
|
a3bc25 |
+</cpudata>
|
|
|
a3bc25 |
--
|
|
|
a3bc25 |
2.13.2
|
|
|
a3bc25 |
|