[libvirt] [PATCH 08/10] cpu: Add Skylake-Client x86 CPU model

Jiri Denemark jdenemar at redhat.com
Wed Jun 8 12:41:36 UTC 2016


The CPU model was implemented in QEMU by commit TBD (it's on x86-next
branch waiting for a pull request).

The change to i7-5600U is wrong since it's a 5th generation CPU, i.e.,
Broadwell rather than Skylake, but that's just the result of our CPU
detection code (which will be fixed by a later patch).

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---
 src/cpu/cpu_map.xml                                | 67 ++++++++++++++++++++++
 tests/cputestdata/x86-cpuid-Core-i5-6600-guest.xml | 11 +---
 tests/cputestdata/x86-cpuid-Core-i5-6600-host.xml  | 11 +---
 tests/cputestdata/x86-cpuid-Core-i5-6600-json.xml  | 11 +---
 .../cputestdata/x86-cpuid-Core-i7-5600U-guest.xml  | 11 ++--
 tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml | 11 ++--
 tests/cputestdata/x86-cpuid-Xeon-E3-1245-guest.xml | 11 +---
 tests/cputestdata/x86-cpuid-Xeon-E3-1245-host.xml  | 11 +---
 tests/cputestdata/x86-cpuid-Xeon-E3-1245-json.xml  | 11 +---
 9 files changed, 81 insertions(+), 74 deletions(-)

diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
index a623f37..0918f75 100644
--- a/src/cpu/cpu_map.xml
+++ b/src/cpu/cpu_map.xml
@@ -1161,6 +1161,73 @@
       <feature name='xsave'/>
     </model>
 
+    <model name='Skylake-Client'>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='arat'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='f16c'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='mpx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='vme'/>
+      <feature name='x2apic'/>
+      <feature name='xgetbv1'/>
+      <feature name='xsave'/>
+      <feature name='xsavec'/>
+      <feature name='xsaveopt'/>
+    </model>
+
     <!-- AMD CPUs -->
     <model name='athlon'>
       <vendor name='AMD'/>
diff --git a/tests/cputestdata/x86-cpuid-Core-i5-6600-guest.xml b/tests/cputestdata/x86-cpuid-Core-i5-6600-guest.xml
index 363601a..0ab5a7a 100644
--- a/tests/cputestdata/x86-cpuid-Core-i5-6600-guest.xml
+++ b/tests/cputestdata/x86-cpuid-Core-i5-6600-guest.xml
@@ -1,8 +1,7 @@
 <cpu mode='custom' match='exact'>
   <arch>x86_64</arch>
-  <model fallback='forbid'>Broadwell</model>
+  <model fallback='forbid'>Skylake-Client</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,17 +18,9 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
-  <feature policy='require' name='xsaveopt'/>
-  <feature policy='require' name='xsavec'/>
-  <feature policy='require' name='xgetbv1'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86-cpuid-Core-i5-6600-host.xml b/tests/cputestdata/x86-cpuid-Core-i5-6600-host.xml
index fb231ae..c799394 100644
--- a/tests/cputestdata/x86-cpuid-Core-i5-6600-host.xml
+++ b/tests/cputestdata/x86-cpuid-Core-i5-6600-host.xml
@@ -1,8 +1,7 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Broadwell</model>
+  <model>Skylake-Client</model>
   <vendor>Intel</vendor>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -19,17 +18,9 @@
   <feature name='xtpr'/>
   <feature name='pdcm'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
-  <feature name='mpx'/>
   <feature name='clflushopt'/>
-  <feature name='xsaveopt'/>
-  <feature name='xsavec'/>
-  <feature name='xgetbv1'/>
   <feature name='xsaves'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86-cpuid-Core-i5-6600-json.xml b/tests/cputestdata/x86-cpuid-Core-i5-6600-json.xml
index 94de218..171b482 100644
--- a/tests/cputestdata/x86-cpuid-Core-i5-6600-json.xml
+++ b/tests/cputestdata/x86-cpuid-Core-i5-6600-json.xml
@@ -1,19 +1,10 @@
 <cpu mode='custom' match='exact'>
   <arch>x86_64</arch>
-  <model fallback='forbid'>Broadwell</model>
-  <feature policy='require' name='vme'/>
+  <model fallback='forbid'>Skylake-Client</model>
   <feature policy='require' name='ss'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
-  <feature policy='require' name='xsaveopt'/>
-  <feature policy='require' name='xsavec'/>
-  <feature policy='require' name='xgetbv1'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
diff --git a/tests/cputestdata/x86-cpuid-Core-i7-5600U-guest.xml b/tests/cputestdata/x86-cpuid-Core-i7-5600U-guest.xml
index cd7b4bb..78bc0a6 100644
--- a/tests/cputestdata/x86-cpuid-Core-i7-5600U-guest.xml
+++ b/tests/cputestdata/x86-cpuid-Core-i7-5600U-guest.xml
@@ -1,8 +1,7 @@
 <cpu mode='custom' match='exact'>
   <arch>x86_64</arch>
-  <model fallback='forbid'>Broadwell</model>
+  <model fallback='forbid'>Skylake-Client</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,12 +18,10 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
+  <feature policy='disable' name='mpx'/>
+  <feature policy='disable' name='xsavec'/>
+  <feature policy='disable' name='xgetbv1'/>
 </cpu>
diff --git a/tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml b/tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml
index 8a6b828..1597971 100644
--- a/tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml
+++ b/tests/cputestdata/x86-cpuid-Core-i7-5600U-json.xml
@@ -1,15 +1,12 @@
 <cpu mode='custom' match='exact'>
   <arch>x86_64</arch>
-  <model fallback='forbid'>Broadwell</model>
-  <feature policy='require' name='vme'/>
+  <model fallback='forbid'>Skylake-Client</model>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='xsaveopt'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
+  <feature policy='disable' name='mpx'/>
+  <feature policy='disable' name='xsavec'/>
+  <feature policy='disable' name='xgetbv1'/>
 </cpu>
diff --git a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-guest.xml b/tests/cputestdata/x86-cpuid-Xeon-E3-1245-guest.xml
index 363601a..0ab5a7a 100644
--- a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-guest.xml
+++ b/tests/cputestdata/x86-cpuid-Xeon-E3-1245-guest.xml
@@ -1,8 +1,7 @@
 <cpu mode='custom' match='exact'>
   <arch>x86_64</arch>
-  <model fallback='forbid'>Broadwell</model>
+  <model fallback='forbid'>Skylake-Client</model>
   <vendor>Intel</vendor>
-  <feature policy='require' name='vme'/>
   <feature policy='require' name='ds'/>
   <feature policy='require' name='acpi'/>
   <feature policy='require' name='ss'/>
@@ -19,17 +18,9 @@
   <feature policy='require' name='xtpr'/>
   <feature policy='require' name='pdcm'/>
   <feature policy='require' name='osxsave'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
-  <feature policy='require' name='xsaveopt'/>
-  <feature policy='require' name='xsavec'/>
-  <feature policy='require' name='xgetbv1'/>
   <feature policy='require' name='xsaves'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
   <feature policy='require' name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-host.xml b/tests/cputestdata/x86-cpuid-Xeon-E3-1245-host.xml
index fb231ae..c799394 100644
--- a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-host.xml
+++ b/tests/cputestdata/x86-cpuid-Xeon-E3-1245-host.xml
@@ -1,8 +1,7 @@
 <cpu>
   <arch>x86_64</arch>
-  <model>Broadwell</model>
+  <model>Skylake-Client</model>
   <vendor>Intel</vendor>
-  <feature name='vme'/>
   <feature name='ds'/>
   <feature name='acpi'/>
   <feature name='ss'/>
@@ -19,17 +18,9 @@
   <feature name='xtpr'/>
   <feature name='pdcm'/>
   <feature name='osxsave'/>
-  <feature name='f16c'/>
-  <feature name='rdrand'/>
-  <feature name='arat'/>
   <feature name='tsc_adjust'/>
-  <feature name='mpx'/>
   <feature name='clflushopt'/>
-  <feature name='xsaveopt'/>
-  <feature name='xsavec'/>
-  <feature name='xgetbv1'/>
   <feature name='xsaves'/>
   <feature name='pdpe1gb'/>
-  <feature name='abm'/>
   <feature name='invtsc'/>
 </cpu>
diff --git a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-json.xml b/tests/cputestdata/x86-cpuid-Xeon-E3-1245-json.xml
index 3d12f40..7a8246e 100644
--- a/tests/cputestdata/x86-cpuid-Xeon-E3-1245-json.xml
+++ b/tests/cputestdata/x86-cpuid-Xeon-E3-1245-json.xml
@@ -1,19 +1,10 @@
 <cpu mode='custom' match='exact'>
   <arch>x86_64</arch>
-  <model fallback='forbid'>Broadwell</model>
-  <feature policy='require' name='vme'/>
+  <model fallback='forbid'>Skylake-Client</model>
   <feature policy='require' name='ss'/>
   <feature policy='require' name='vmx'/>
-  <feature policy='require' name='f16c'/>
-  <feature policy='require' name='rdrand'/>
   <feature policy='require' name='hypervisor'/>
-  <feature policy='require' name='arat'/>
   <feature policy='require' name='tsc_adjust'/>
-  <feature policy='require' name='mpx'/>
   <feature policy='require' name='clflushopt'/>
-  <feature policy='require' name='xsaveopt'/>
-  <feature policy='require' name='xsavec'/>
-  <feature policy='require' name='xgetbv1'/>
   <feature policy='require' name='pdpe1gb'/>
-  <feature policy='require' name='abm'/>
 </cpu>
-- 
2.8.4




More information about the libvir-list mailing list