render / rpms / libvirt

Forked from rpms/libvirt 5 months ago
Clone
Pablo Greco 40546a
From 0c781b84fe81ca2d4865e92d6c22dafcea62261c Mon Sep 17 00:00:00 2001
Pablo Greco 40546a
Message-Id: <0c781b84fe81ca2d4865e92d6c22dafcea62261c@dist-git>
Pablo Greco 40546a
From: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Date: Fri, 21 Jun 2019 09:26:10 +0200
Pablo Greco 40546a
Subject: [PATCH] cpu_map: Introduce IA32_ARCH_CAPABILITIES MSR features
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
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 c8ec678fd9d97189667c0121f48a220dd26856b7)
Pablo Greco 40546a
Pablo Greco 40546a
https://bugzilla.redhat.com/show_bug.cgi?id=1697627
Pablo Greco 40546a
Pablo Greco 40546a
Conflicts:
Pablo Greco 40546a
	src/cpu_map/x86_features.xml
Pablo Greco 40546a
            - cpu_map XML is not split downstream
Pablo Greco 40546a
Pablo Greco 40546a
	tests/domaincapsschemadata/qemu_3.1.0.x86_64.xml
Pablo Greco 40546a
	tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml
Pablo Greco 40546a
            - missing
Pablo Greco 40546a
Pablo Greco 40546a
	tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
Pablo Greco 40546a
            - commit 4586b11bed9bc59ea749e28f522bf5e0b462c4c7 not
Pablo Greco 40546a
              backported
Pablo Greco 40546a
Pablo Greco 40546a
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Pablo Greco 40546a
Message-Id: <acddba8b7464f063de46f04fc421319cc78ad86c.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                           | 20 +++++++++++++++++++
Pablo Greco 40546a
 .../x86_64-cpuid-Core-i7-7600U-enabled.xml    |  1 +
Pablo Greco 40546a
 .../x86_64-cpuid-Core-i7-7600U-json.xml       |  1 +
Pablo Greco 40546a
 ...86_64-cpuid-Xeon-Platinum-8268-enabled.xml |  1 +
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-Platinum-8268-guest.xml |  4 ++++
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-Platinum-8268-host.xml  |  4 ++++
Pablo Greco 40546a
 .../x86_64-cpuid-Xeon-Platinum-8268-json.xml  |  3 +++
Pablo Greco 40546a
 .../qemu_4.1.0.x86_64.xml                     |  1 +
Pablo Greco 40546a
 8 files changed, 35 insertions(+)
Pablo Greco 40546a
Pablo Greco 40546a
diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
Pablo Greco 40546a
index 9b289556e8..acd9dad7dc 100644
Pablo Greco 40546a
--- a/src/cpu/cpu_map.xml
Pablo Greco 40546a
+++ b/src/cpu/cpu_map.xml
Pablo Greco 40546a
@@ -482,6 +482,26 @@
Pablo Greco 40546a
       <cpuid eax_in='0x80000008' ebx='0x02000000'/>
Pablo Greco 40546a
     </feature>
Pablo Greco 40546a
 
Pablo Greco 40546a
+    
Pablo Greco 40546a
+    <feature name='rdctl-no'>
Pablo Greco 40546a
+      <msr index='0x10a' edx='0x00000000' eax='0x00000001'/>
Pablo Greco 40546a
+    </feature>
Pablo Greco 40546a
+    <feature name='ibrs-all'>
Pablo Greco 40546a
+      <msr index='0x10a' edx='0x00000000' eax='0x00000002'/>
Pablo Greco 40546a
+    </feature>
Pablo Greco 40546a
+    <feature name='rsba'>
Pablo Greco 40546a
+      <msr index='0x10a' edx='0x00000000' eax='0x00000004'/>
Pablo Greco 40546a
+    </feature>
Pablo Greco 40546a
+    <feature name='skip-l1dfl-vmentry'>
Pablo Greco 40546a
+      <msr index='0x10a' edx='0x00000000' eax='0x00000008'/>
Pablo Greco 40546a
+    </feature>
Pablo Greco 40546a
+    <feature name='ssb-no'>
Pablo Greco 40546a
+      <msr index='0x10a' edx='0x00000000' eax='0x00000010'/>
Pablo Greco 40546a
+    </feature>
Pablo Greco 40546a
+    <feature name='mds-no'>
Pablo Greco 40546a
+      <msr index='0x10a' edx='0x00000000' eax='0x00000020'/>
Pablo Greco 40546a
+    </feature>
Pablo Greco 40546a
+
Pablo Greco 40546a
     
Pablo Greco 40546a
     <model name='486'>
Pablo Greco 40546a
       <feature name='fpu'/>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-enabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-enabled.xml
Pablo Greco 40546a
index b1cdaa802a..58bc84577c 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-enabled.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-enabled.xml
Pablo Greco 40546a
@@ -5,4 +5,5 @@
Pablo Greco 40546a
   <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x009c4fbb' ecx='0x00000004' edx='0x84000000'/>
Pablo Greco 40546a
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
   <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/>
Pablo Greco 40546a
+  <msr index='0x10a' edx='0x00000000' eax='0x00000008'/>
Pablo Greco 40546a
 </cpudata>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml
Pablo Greco 40546a
index 48089c6003..690081493b 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-json.xml
Pablo Greco 40546a
@@ -10,4 +10,5 @@
Pablo Greco 40546a
   <feature policy='require' name='ssbd'/>
Pablo Greco 40546a
   <feature policy='require' name='xsaves'/>
Pablo Greco 40546a
   <feature policy='require' name='pdpe1gb'/>
Pablo Greco 40546a
+  <feature policy='require' name='skip-l1dfl-vmentry'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml
Pablo Greco 40546a
index 434ac1956a..313009b156 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-enabled.xml
Pablo Greco 40546a
@@ -5,4 +5,5 @@
Pablo Greco 40546a
   <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0xd19f4fbb' ecx='0x0000080c' edx='0x84000000'/>
Pablo Greco 40546a
   <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
Pablo Greco 40546a
   <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/>
Pablo Greco 40546a
+  <msr index='0x10a' edx='0x00000000' eax='0x0000000b'/>
Pablo Greco 40546a
 </cpudata>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml
Pablo Greco 40546a
index c7e8a1fccf..988fb1dbdc 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml
Pablo Greco 40546a
@@ -30,4 +30,8 @@
Pablo Greco 40546a
   <feature policy='require' name='mbm_total'/>
Pablo Greco 40546a
   <feature policy='require' name='mbm_local'/>
Pablo Greco 40546a
   <feature policy='require' name='invtsc'/>
Pablo Greco 40546a
+  <feature policy='require' name='rdctl-no'/>
Pablo Greco 40546a
+  <feature policy='require' name='ibrs-all'/>
Pablo Greco 40546a
+  <feature policy='require' name='skip-l1dfl-vmentry'/>
Pablo Greco 40546a
+  <feature policy='require' name='mds-no'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
Pablo Greco 40546a
index d7482751b4..fdeafc4870 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
Pablo Greco 40546a
@@ -31,4 +31,8 @@
Pablo Greco 40546a
   <feature name='mbm_total'/>
Pablo Greco 40546a
   <feature name='mbm_local'/>
Pablo Greco 40546a
   <feature name='invtsc'/>
Pablo Greco 40546a
+  <feature name='rdctl-no'/>
Pablo Greco 40546a
+  <feature name='ibrs-all'/>
Pablo Greco 40546a
+  <feature name='skip-l1dfl-vmentry'/>
Pablo Greco 40546a
+  <feature name='mds-no'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml
Pablo Greco 40546a
index b7d12dced7..78863c61d1 100644
Pablo Greco 40546a
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml
Pablo Greco 40546a
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-json.xml
Pablo Greco 40546a
@@ -7,4 +7,7 @@
Pablo Greco 40546a
   <feature policy='require' name='umip'/>
Pablo Greco 40546a
   <feature policy='require' name='pku'/>
Pablo Greco 40546a
   <feature policy='require' name='xsaves'/>
Pablo Greco 40546a
+  <feature policy='require' name='rdctl-no'/>
Pablo Greco 40546a
+  <feature policy='require' name='ibrs-all'/>
Pablo Greco 40546a
+  <feature policy='require' name='skip-l1dfl-vmentry'/>
Pablo Greco 40546a
 </cpu>
Pablo Greco 40546a
diff --git a/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml b/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
Pablo Greco 40546a
index 47aed6a43a..63ae7957c4 100644
Pablo Greco 40546a
--- a/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
Pablo Greco 40546a
+++ b/tests/domaincapsschemadata/qemu_4.1.0.x86_64.xml
Pablo Greco 40546a
@@ -34,6 +34,7 @@
Pablo Greco 40546a
       <feature policy='require' name='arch-capabilities'/>
Pablo Greco 40546a
       <feature policy='require' name='xsaves'/>
Pablo Greco 40546a
       <feature policy='require' name='pdpe1gb'/>
Pablo Greco 40546a
+      <feature policy='require' name='skip-l1dfl-vmentry'/>
Pablo Greco 40546a
     </mode>
Pablo Greco 40546a
     <mode name='custom' supported='yes'>
Pablo Greco 40546a
       <model usable='yes'>qemu64</model>
Pablo Greco 40546a
-- 
Pablo Greco 40546a
2.22.0
Pablo Greco 40546a