Pablo Greco 40546a
From d31a3ba6c9396f8ede2966d49030e9b4011be636 Mon Sep 17 00:00:00 2001
Pablo Greco 40546a
Message-Id: <d31a3ba6c9396f8ede2966d49030e9b4011be636@dist-git>
Pablo Greco 40546a
From: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Date: Fri, 21 Jun 2019 09:25:12 +0200
Pablo Greco 40546a
Subject: [PATCH] cpu_map: Add more signatures for Westmere CPU model
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
This fixes several CPUs which were incorrectly detected as a different
Pablo Greco 40546a
CPU model.
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 e89f87721406f6ad6e811ff613a22dc804d69355)
Pablo Greco 40546a
Pablo Greco 40546a
https://bugzilla.redhat.com/show_bug.cgi?id=1686895
Pablo Greco 40546a
Pablo Greco 40546a
Conflicts:
Pablo Greco 40546a
	src/cpu_map/x86_Westmere.xml
Pablo Greco 40546a
            - cpu_map split not backported
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Message-Id: <facb5fd10ffe274e581e16db8362d0b8ee71424b.1561068591.git.jdenemar@redhat.com>
Pablo Greco 40546a
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Pablo Greco 40546a
---
Pablo Greco 40546a
 src/cpu/cpu_map.xml                                    |  2 ++
Pablo Greco 40546a
 tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml    |  9 +++++----
Pablo Greco 40546a
 tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml | 10 ++++++----
Pablo Greco 40546a
 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml  |  8 ++++----
Pablo Greco 40546a
 tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml   |  8 +++++---
Pablo Greco 40546a
 tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml   |  9 +++++----
Pablo Greco 40546a
 6 files changed, 27 insertions(+), 19 deletions(-)
Pablo Greco 40546a
Pablo Greco 40546a
diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
Pablo Greco 40546a
index 4f9c247f3e..fed0f51934 100644
Pablo Greco 40546a
--- a/src/cpu/cpu_map.xml
Pablo Greco 40546a
+++ b/src/cpu/cpu_map.xml
Pablo Greco 40546a
@@ -976,6 +976,8 @@
Pablo Greco 40546a
 
Pablo Greco 40546a
     <model name='Westmere'>
Pablo Greco 40546a
       <signature family='6' model='44'/> 
Pablo Greco 40546a
+      <signature family='6' model='47'/> 
Pablo Greco 40546a
+      <signature family='6' model='37'/> 
Pablo Greco 40546a
       <vendor name='Intel'/>
Pablo Greco 40546a
       <feature name='aes'/>
Pablo Greco 40546a
       <feature name='apic'/>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml
Pablo Greco 40546a
index f5980f53e5..cb21e48a9f 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-650-json.xml
Pablo Greco 40546a
@@ -1,12 +1,13 @@
Pablo Greco 40546a
 <cpu mode='custom' match='exact'>
Pablo Greco 40546a
-  <model fallback='forbid'>SandyBridge</model>
Pablo Greco 40546a
+  <model fallback='forbid'>Westmere</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='pclmuldq'/>
Pablo Greco 40546a
+  <feature policy='require' name='x2apic'/>
Pablo Greco 40546a
+  <feature policy='require' name='tsc-deadline'/>
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='disable' name='xsave'/>
Pablo Greco 40546a
-  <feature policy='disable' name='avx'/>
Pablo Greco 40546a
-  <feature policy='disable' name='xsaveopt'/>
Pablo Greco 40546a
+  <feature policy='require' name='rdtscp'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml b/tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml
Pablo Greco 40546a
index db5e0ae6af..20e2fa363a 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Pentium-P6100-guest.xml
Pablo Greco 40546a
@@ -1,6 +1,7 @@
Pablo Greco 40546a
 <cpu mode='custom' match='exact'>
Pablo Greco 40546a
-  <model fallback='forbid'>core2duo</model>
Pablo Greco 40546a
+  <model fallback='forbid'>Westmere</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
@@ -8,16 +9,17 @@
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='est'/>
Pablo Greco 40546a
   <feature policy='require' name='tm2'/>
Pablo Greco 40546a
-  <feature policy='require' name='cx16'/>
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='popcnt'/>
Pablo Greco 40546a
   <feature policy='require' name='arat'/>
Pablo Greco 40546a
   <feature policy='require' name='rdtscp'/>
Pablo Greco 40546a
-  <feature policy='require' name='lahf_lm'/>
Pablo Greco 40546a
   <feature policy='require' name='invtsc'/>
Pablo Greco 40546a
+  <feature policy='disable' name='sse4.1'/>
Pablo Greco 40546a
+  <feature policy='disable' name='sse4.2'/>
Pablo Greco 40546a
+  <feature policy='disable' name='aes'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml
Pablo Greco 40546a
index dbf8580a0e..659779687a 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-guest.xml
Pablo Greco 40546a
@@ -1,5 +1,5 @@
Pablo Greco 40546a
 <cpu mode='custom' match='exact'>
Pablo Greco 40546a
-  <model fallback='forbid'>SandyBridge</model>
Pablo Greco 40546a
+  <model fallback='forbid'>Westmere</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
@@ -8,6 +8,7 @@
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='pclmuldq'/>
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
@@ -19,10 +20,9 @@
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='x2apic'/>
Pablo Greco 40546a
   <feature policy='require' name='arat'/>
Pablo Greco 40546a
   <feature policy='require' name='pdpe1gb'/>
Pablo Greco 40546a
+  <feature policy='require' name='rdtscp'/>
Pablo Greco 40546a
   <feature policy='require' name='invtsc'/>
Pablo Greco 40546a
-  <feature policy='disable' name='tsc-deadline'/>
Pablo Greco 40546a
-  <feature policy='disable' name='xsave'/>
Pablo Greco 40546a
-  <feature policy='disable' name='avx'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml
Pablo Greco 40546a
index d94a330f37..e8b74c5c30 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4820-json.xml
Pablo Greco 40546a
@@ -1,12 +1,14 @@
Pablo Greco 40546a
 <cpu mode='custom' match='exact'>
Pablo Greco 40546a
-  <model fallback='forbid'>SandyBridge</model>
Pablo Greco 40546a
+  <model fallback='forbid'>Westmere</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='pclmuldq'/>
Pablo Greco 40546a
   <feature policy='require' name='pcid'/>
Pablo Greco 40546a
+  <feature policy='require' name='x2apic'/>
Pablo Greco 40546a
+  <feature policy='require' name='tsc-deadline'/>
Pablo Greco 40546a
   <feature policy='require' name='hypervisor'/>
Pablo Greco 40546a
   <feature policy='require' name='tsc_adjust'/>
Pablo Greco 40546a
   <feature policy='require' name='pdpe1gb'/>
Pablo Greco 40546a
-  <feature policy='disable' name='xsave'/>
Pablo Greco 40546a
-  <feature policy='disable' name='avx'/>
Pablo Greco 40546a
+  <feature policy='require' name='rdtscp'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml
Pablo Greco 40546a
index aae32bd7e2..da949ad25e 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E7-4830-json.xml
Pablo Greco 40546a
@@ -1,14 +1,15 @@
Pablo Greco 40546a
 <cpu mode='custom' match='exact'>
Pablo Greco 40546a
-  <model fallback='forbid'>SandyBridge</model>
Pablo Greco 40546a
+  <model fallback='forbid'>Westmere</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='pclmuldq'/>
Pablo Greco 40546a
   <feature policy='require' name='pcid'/>
Pablo Greco 40546a
+  <feature policy='require' name='x2apic'/>
Pablo Greco 40546a
+  <feature policy='require' name='tsc-deadline'/>
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='pdpe1gb'/>
Pablo Greco 40546a
-  <feature policy='disable' name='xsave'/>
Pablo Greco 40546a
-  <feature policy='disable' name='avx'/>
Pablo Greco 40546a
-  <feature policy='disable' name='xsaveopt'/>
Pablo Greco 40546a
+  <feature policy='require' name='rdtscp'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
-- 
Pablo Greco 40546a
2.22.0
Pablo Greco 40546a