[libvirt PATCH 1/4] cpu_map: Request test files update when adding x86 features

Jiri Denemark jdenemar at redhat.com
Wed Jun 17 14:18:51 UTC 2020


The CPUID data in *-{disabled,enabled}.xml convert feature names from
the corresponding *.json file into raw CPUID and MSR data and thus some
of them may need to be updated when new features are added into the CPU
map.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---
 src/cpu_map/x86_features.xml                               | 7 +++++++
 tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml   | 1 +
 .../x86_64-cpuid-Core-i7-5600U-arat-disabled.xml           | 1 +
 tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml  | 1 +
 .../x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml           | 2 +-
 tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml   | 1 +
 .../x86_64-cpuid-EPYC-7601-32-Core-disabled.xml            | 1 +
 .../x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml       | 1 +
 .../x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml       | 1 +
 .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml     | 1 +
 .../cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml  | 1 +
 .../cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml  | 2 +-
 .../cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml  | 2 +-
 tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml | 2 +-
 tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml | 2 +-
 .../x86_64-cpuid-Xeon-Platinum-8268-disabled.xml           | 3 ++-
 16 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml
index 8525ae0fa5..e91a7b5055 100644
--- a/src/cpu_map/x86_features.xml
+++ b/src/cpu_map/x86_features.xml
@@ -1,3 +1,10 @@
+<!--
+  After adding new features, update existing test files with
+
+    for json in tests/cputestdata/x86_64-cpuid-*.json; do
+      tests/cputestdata/cpu-cpuid.py diff $json
+    done
+-->
 <cpus>
   <!-- standard features, EDX -->
   <feature name='fpu'>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml
index 510cd97a5b..040c0df183 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml
@@ -1,5 +1,6 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
 </cpudata>
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
index 601554a815..edce01618a 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml
@@ -2,5 +2,6 @@
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/>
   <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml
index 4a0477f788..fa9571c29d 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml
@@ -1,5 +1,6 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml
index 5c9cfa9bd6..91ae45d24b 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml
@@ -1,6 +1,6 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/>
-  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0c000000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x0c000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml
index fcdcc97e0e..ce51903e53 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml
@@ -1,6 +1,7 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml
index 747d725acf..d9045c88d5 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml
@@ -4,4 +4,5 @@
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+  <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000000' edx='0x00000000'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml
index af43fca98d..429d84d031 100644
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml
@@ -4,4 +4,5 @@
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x08000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+  <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000000' edx='0x00000000'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml
index 747d725acf..d9045c88d5 100644
--- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml
@@ -4,4 +4,5 @@
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+  <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000000' edx='0x00000000'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml
index b085050618..7dbacf982d 100644
--- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml
@@ -5,4 +5,5 @@
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c23008' edx='0x00000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+  <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000000' edx='0x00000000'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml
index 4a0477f788..fa9571c29d 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml
@@ -1,5 +1,6 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml
index 85369d755c..40ee740aa8 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml
@@ -1,7 +1,7 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
-  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x08000000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000000' edx='0x08000000'/>
   <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml
index d904808cec..3ffb246167 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml
@@ -1,7 +1,7 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
-  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x00000000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
 </cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml
index a5b85a15c2..c65c3caecf 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml
@@ -1,7 +1,7 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
-  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000008' edx='0x08000000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000008' edx='0x08000000'/>
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml
index b5c70a9dc4..9b84b8fb47 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml
@@ -1,7 +1,7 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
-  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000008' edx='0x00000000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000008' edx='0x00000000'/>
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
   <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml
index 32522eb9af..7d719a8b52 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml
@@ -1,7 +1,8 @@
 <!-- Features disabled by QEMU -->
 <cpudata arch='x86'>
   <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/>
-  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000010' edx='0x28000000'/>
+  <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000010' edx='0x28000400'/>
   <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/>
   <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+  <msr index='0x10a' edx='0x00000000' eax='0x00000020'/>
 </cpudata>
-- 
2.27.0




More information about the libvir-list mailing list