c313de
From bd665085c2cd890f2249042f135b7a1735932d1b Mon Sep 17 00:00:00 2001
c313de
Message-Id: <bd665085c2cd890f2249042f135b7a1735932d1b@dist-git>
c313de
From: Jiri Denemark <jdenemar@redhat.com>
c313de
Date: Fri, 21 Jun 2019 09:24:48 +0200
c313de
Subject: [PATCH] cpu_map: Add support for arch-capabilities feature
c313de
MIME-Version: 1.0
c313de
Content-Type: text/plain; charset=UTF-8
c313de
Content-Transfer-Encoding: 8bit
c313de
c313de
The feature was added to QEMU in 3.1.0 and it is currently blocking
c313de
migration, which is expected to change in the future. Luckily 3.1.0 is
c313de
new enough to give us migratability hints on each feature via
c313de
query-cpu-model-expension, which means we don't need to use the
c313de
"migratable" attribute on the CPU map XML.
c313de
c313de
The kernel calls this feature arch_capabilities and RHEL/CentOS 7.* use
c313de
arch-facilities. Apparently some CPU test files were gathered with the
c313de
RHEL version of QEMU. Let's update the test files to avoid possible
c313de
confusion about the correct naming.
c313de
c313de
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
c313de
Reviewed-by: Ján Tomko <jtomko@redhat.com>
c313de
(cherry picked from commit 511df17aec36385320dbcc088ba85968537d1d42)
c313de
c313de
https://bugzilla.redhat.com/show_bug.cgi?id=1693433
c313de
c313de
Conflicts:
c313de
	src/cpu_map/x86_features.xml
c313de
            - cpu_map split was not backported
c313de
c313de
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
c313de
Message-Id: <fc8d72f3a2191ef85b537943aa1cc844f50b038d.1561068591.git.jdenemar@redhat.com>
c313de
Reviewed-by: Ján Tomko <jtomko@redhat.com>
c313de
---
c313de
 src/cpu/cpu_map.xml                                        | 3 +++
c313de
 tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.json | 2 +-
c313de
 tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.json        | 2 +-
c313de
 tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.json        | 2 +-
c313de
 tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.json         | 2 +-
c313de
 5 files changed, 7 insertions(+), 4 deletions(-)
c313de
c313de
diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
c313de
index ceee0ae489..a9f284fbbe 100644
c313de
--- a/src/cpu/cpu_map.xml
c313de
+++ b/src/cpu/cpu_map.xml
c313de
@@ -337,6 +337,9 @@
c313de
     <feature name='stibp'>
c313de
       <cpuid eax_in='0x07' ecx_in='0x00' edx='0x08000000'/>
c313de
     </feature>
c313de
+    <feature name='arch-capabilities'> 
c313de
+      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x20000000'/>
c313de
+    </feature>
c313de
     <feature name='ssbd'>
c313de
       <cpuid eax_in='0x07' ecx_in='0x00' edx='0x80000000'/>
c313de
     </feature>
c313de
diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.json b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.json
c313de
index 94a60fcc8f..1f53bb8bf3 100644
c313de
--- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.json
c313de
+++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb.json
c313de
@@ -232,7 +232,7 @@
c313de
         "avx512vbmi": false,
c313de
         "kvm-asyncpf": true,
c313de
         "spec-ctrl": false,
c313de
-        "arch-facilities": false,
c313de
+        "arch-capabilities": false,
c313de
         "model": 1,
c313de
         "node-id": -1
c313de
       }
c313de
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.json b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.json
c313de
index 10c5434263..6bdaf6e83a 100644
c313de
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.json
c313de
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2609-v3.json
c313de
@@ -232,7 +232,7 @@
c313de
         "avx512vbmi": false,
c313de
         "kvm-asyncpf": true,
c313de
         "spec-ctrl": true,
c313de
-        "arch-facilities": false,
c313de
+        "arch-capabilities": false,
c313de
         "model": 63,
c313de
         "node-id": -1
c313de
       }
c313de
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.json b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.json
c313de
index 0506dec0a7..2c6be20768 100644
c313de
--- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.json
c313de
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4.json
c313de
@@ -232,7 +232,7 @@
c313de
         "avx512vbmi": false,
c313de
         "kvm-asyncpf": true,
c313de
         "spec-ctrl": true,
c313de
-        "arch-facilities": false,
c313de
+        "arch-capabilities": false,
c313de
         "model": 79,
c313de
         "node-id": -1
c313de
       }
c313de
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.json b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.json
c313de
index 79f3580219..79b47a56fb 100644
c313de
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.json
c313de
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115.json
c313de
@@ -232,7 +232,7 @@
c313de
         "avx512vbmi": false,
c313de
         "kvm-asyncpf": true,
c313de
         "spec-ctrl": true,
c313de
-        "arch-facilities": false,
c313de
+        "arch-capabilities": false,
c313de
         "model": 85,
c313de
         "node-id": -1
c313de
       }
c313de
-- 
c313de
2.22.0
c313de