From fe47728e25c3e12ea5b22a07902bf19a4b3afb43 Mon Sep 17 00:00:00 2001
Message-Id: <fe47728e25c3e12ea5b22a07902bf19a4b3afb43@dist-git>
From: Jiri Denemark <jdenemar@redhat.com>
Date: Wed, 29 Aug 2018 14:28:39 +0200
Subject: [PATCH] cpu_map: Add features for Icelake CPUs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
QEMU commits:
e37a5c7fa4 (v2.12.0)
i386: Add Intel Processor Trace feature support
c2f193b538 (v2.7.0)
target-i386: Add support for UMIP and RDPID CPUID bits
aff9e6e46a (v2.12.0)
x86/cpu: Enable new SSE/AVX/AVX512 cpu features
f77543772d (v2.9.0)
x86: add AVX512_VPOPCNTDQ features
5131dc433d (v3.1.0)
i386: Add CPUID bit for PCONFIG
59a80a19ca (v3.1.0)
i386: Add CPUID bit for WBNOINVD
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
(cherry picked from commit 9813081119b6727c8b6067a783465addef06525e)
https://bugzilla.redhat.com/show_bug.cgi?id=1526625
https://bugzilla.redhat.com/show_bug.cgi?id=1527657
Conflicts:
src/cpu_map/x86_features.xml
- cpu_map.xml is still monolithic in RHEL-8
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
---
src/cpu/cpu_map.xml | 33 +++++++++++++++++++
.../x86_64-cpuid-Core-i5-6600-guest.xml | 1 +
.../x86_64-cpuid-Core-i5-6600-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-arat-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-arat-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-host.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-5600U-ibrs-host.xml | 1 +
.../x86_64-cpuid-Core-i7-7700-guest.xml | 1 +
.../x86_64-cpuid-Core-i7-7700-host.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-guest.xml | 1 +
.../x86_64-cpuid-Xeon-E3-1245-v5-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2623-v4-guest.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2623-v4-host.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2650-v4-guest.xml | 1 +
.../x86_64-cpuid-Xeon-E5-2650-v4-host.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-5115-guest.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-5115-host.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-6148-guest.xml | 1 +
.../x86_64-cpuid-Xeon-Gold-6148-host.xml | 1 +
21 files changed, 53 insertions(+)
diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
index 96daa0f9af..4d19a7c811 100644
--- a/src/cpu/cpu_map.xml
+++ b/src/cpu/cpu_map.xml
@@ -257,6 +257,9 @@
<feature name='clwb'>
<cpuid eax_in='0x07' ecx_in='0x00' ebx='0x01000000'/>
</feature>
+ <feature name='intel-pt'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x02000000'/>
+ </feature>
<feature name='avx512pf'>
<cpuid eax_in='0x07' ecx_in='0x00' ebx='0x04000000'/>
</feature>
@@ -279,12 +282,36 @@
<feature name='avx512vbmi'>
<cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000002'/>
</feature>
+ <feature name='umip'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000004'/>
+ </feature>
<feature name='pku'>
<cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000008'/>
</feature>
<feature name='ospke'>
<cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000010'/>
</feature>
+ <feature name='avx512vbmi2'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000040'/>
+ </feature>
+ <feature name='gfni'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000100'/>
+ </feature>
+ <feature name='vaes'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000200'/>
+ </feature>
+ <feature name='vpclmulqdq'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000400'/>
+ </feature>
+ <feature name='avx512vnni'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000800'/>
+ </feature>
+ <feature name='avx512bitalg'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00001000'/>
+ </feature>
+ <feature name='avx512-vpopcntdq'>
+ <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00004000'/>
+ </feature>
<feature name='la57'>
<cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00010000'/>
</feature>
@@ -295,6 +322,9 @@
<feature name='avx512-4fmaps'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000008'/>
</feature>
+ <feature name='pconfig'>
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/>
+ </feature>
<feature name='spec-ctrl'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/>
</feature>
@@ -430,6 +460,9 @@
</feature>
<!-- More AMD-specific features -->
+ <feature name='wbnoinvd'>
+ <cpuid eax_in='0x80000008' ebx='0x00000200'/>
+ </feature>
<feature name='ibpb'>
<cpuid eax_in='0x80000008' ebx='0x00001000'/>
</feature>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml
index c3561d5971..5777a0bfba 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-guest.xml
@@ -19,6 +19,7 @@
<feature policy='require' name='osxsave'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
index c799394eaf..faaa07f19b 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-host.xml
@@ -20,6 +20,7 @@
<feature name='osxsave'/>
<feature name='tsc_adjust'/>
<feature name='clflushopt'/>
+ <feature name='intel-pt'/>
<feature name='xsaves'/>
<feature name='pdpe1gb'/>
<feature name='invtsc'/>
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
index 877895cf15..e825e2a0fb 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-guest.xml
@@ -22,6 +22,7 @@
<feature policy='require' name='rdrand'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/>
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
index 9b24941e0e..ea622c87c7 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-host.xml
@@ -23,6 +23,7 @@
<feature name='rdrand'/>
<feature name='arat'/>
<feature name='tsc_adjust'/>
+ <feature name='intel-pt'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/>
<feature name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml
index 877895cf15..e825e2a0fb 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-guest.xml
@@ -22,6 +22,7 @@
<feature policy='require' name='rdrand'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
index 9b24941e0e..ea622c87c7 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-host.xml
@@ -23,6 +23,7 @@
<feature name='rdrand'/>
<feature name='arat'/>
<feature name='tsc_adjust'/>
+ <feature name='intel-pt'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/>
<feature name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
index a70cb6d46a..4fa4770208 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-guest.xml
@@ -22,6 +22,7 @@
<feature policy='require' name='rdrand'/>
<feature policy='require' name='arat'/>
<feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
index b8e3399103..25690c099c 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-host.xml
@@ -23,6 +23,7 @@
<feature name='rdrand'/>
<feature name='arat'/>
<feature name='tsc_adjust'/>
+ <feature name='intel-pt'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/>
<feature name='abm'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml
index c3561d5971..5777a0bfba 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml
@@ -19,6 +19,7 @@
<feature policy='require' name='osxsave'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
index c799394eaf..faaa07f19b 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml
@@ -20,6 +20,7 @@
<feature name='osxsave'/>
<feature name='tsc_adjust'/>
<feature name='clflushopt'/>
+ <feature name='intel-pt'/>
<feature name='xsaves'/>
<feature name='pdpe1gb'/>
<feature name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml
index c3561d5971..5777a0bfba 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml
@@ -19,6 +19,7 @@
<feature policy='require' name='osxsave'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
index c799394eaf..faaa07f19b 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml
@@ -20,6 +20,7 @@
<feature name='osxsave'/>
<feature name='tsc_adjust'/>
<feature name='clflushopt'/>
+ <feature name='intel-pt'/>
<feature name='xsaves'/>
<feature name='pdpe1gb'/>
<feature name='invtsc'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
index 60609f5c70..7b93df3f1b 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-guest.xml
@@ -20,6 +20,7 @@
<feature policy='require' name='osxsave'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmt'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='mbm_total'/>
<feature policy='require' name='mbm_local'/>
<feature policy='require' name='pdpe1gb'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
index 357cafd10a..5078420c7a 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-host.xml
@@ -25,6 +25,7 @@
<feature name='arat'/>
<feature name='tsc_adjust'/>
<feature name='cmt'/>
+ <feature name='intel-pt'/>
<feature name='xsaveopt'/>
<feature name='mbm_total'/>
<feature name='mbm_local'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-guest.xml
index 2fac54355c..cd7e25b52a 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-guest.xml
@@ -20,6 +20,7 @@
<feature policy='require' name='osxsave'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmt'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='mbm_total'/>
<feature policy='require' name='mbm_local'/>
<feature policy='require' name='pdpe1gb'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
index f482864a98..5dd8d749de 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-host.xml
@@ -25,6 +25,7 @@
<feature name='arat'/>
<feature name='tsc_adjust'/>
<feature name='cmt'/>
+ <feature name='intel-pt'/>
<feature name='xsaveopt'/>
<feature name='mbm_total'/>
<feature name='mbm_local'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
index 5f51dea631..480127f341 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-guest.xml
@@ -21,6 +21,7 @@
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmt'/>
<feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='pku'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='mbm_total'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
index a11b31369d..680b10acef 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-host.xml
@@ -22,6 +22,7 @@
<feature name='tsc_adjust'/>
<feature name='cmt'/>
<feature name='clflushopt'/>
+ <feature name='intel-pt'/>
<feature name='pku'/>
<feature name='xsaves'/>
<feature name='mbm_total'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-guest.xml
index f72bcea68b..f31ca1ffc5 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-guest.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-guest.xml
@@ -21,6 +21,7 @@
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='cmt'/>
<feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='intel-pt'/>
<feature policy='require' name='pku'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='mbm_total'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
index 1a68e35c19..b18ceddc60 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-host.xml
@@ -22,6 +22,7 @@
<feature name='tsc_adjust'/>
<feature name='cmt'/>
<feature name='clflushopt'/>
+ <feature name='intel-pt'/>
<feature name='pku'/>
<feature name='xsaves'/>
<feature name='mbm_total'/>
--
2.19.1