render / rpms / libvirt

Forked from rpms/libvirt 10 months ago
Clone
fbe740
From 2268a9862c16c87007bfbae117d345268f8420e4 Mon Sep 17 00:00:00 2001
fbe740
Message-Id: <2268a9862c16c87007bfbae117d345268f8420e4@dist-git>
fbe740
From: Jiri Denemark <jdenemar@redhat.com>
fbe740
Date: Tue, 26 May 2020 10:58:58 +0200
fbe740
Subject: [PATCH] cpu_map: Don't use new noTSX models for host-model CPUs
fbe740
MIME-Version: 1.0
fbe740
Content-Type: text/plain; charset=UTF-8
fbe740
Content-Transfer-Encoding: 8bit
fbe740
fbe740
Host-model CPU definitions (and domain capabilities) will use the
fbe740
original CPU models (without noTSX in their name) and explicitly disable
fbe740
hle and rtm features. This way domains with host-model CPUs will be
fbe740
migratable even to older versions of libvirt which do not support the
fbe740
noTSX model variants.
fbe740
fbe740
The new models will be advertised in host capabilities and they may
fbe740
be used explicitly with custom CPUs.
fbe740
fbe740
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
fbe740
Reviewed-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
fbe740
Tested-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
fbe740
(cherry picked from commit 17cdefe5f197030c70a0d250f3c5387b41663516)
fbe740
fbe740
https://bugzilla.redhat.com/show_bug.cgi?id=1840008
fbe740
fbe740
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
fbe740
Message-Id: <d27a0adb8f142f053fbd830947f03bad04eff264.1590483392.git.jdenemar@redhat.com>
fbe740
Reviewed-by: Ján Tomko <jtomko@redhat.com>
fbe740
---
fbe740
 src/cpu_map/x86_Cascadelake-Server-noTSX.xml           | 2 +-
fbe740
 src/cpu_map/x86_Icelake-Client-noTSX.xml               | 2 +-
fbe740
 src/cpu_map/x86_Icelake-Server-noTSX.xml               | 2 +-
fbe740
 src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml          | 2 +-
fbe740
 src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml          | 2 +-
fbe740
 tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml | 4 +++-
fbe740
 tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml  | 4 +++-
fbe740
 7 files changed, 11 insertions(+), 7 deletions(-)
fbe740
fbe740
diff --git a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
fbe740
index 5adea664e9..459174a30d 100644
fbe740
--- a/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
fbe740
+++ b/src/cpu_map/x86_Cascadelake-Server-noTSX.xml
fbe740
@@ -1,6 +1,6 @@
fbe740
 <cpus>
fbe740
   <model name='Cascadelake-Server-noTSX'>
fbe740
-    <decode host='on' guest='on'/>
fbe740
+    <decode host='on' guest='off'/>
fbe740
     <signature family='6' model='85'/> 
fbe740
     <vendor name='Intel'/>
fbe740
     <feature name='3dnowprefetch'/>
fbe740
diff --git a/src/cpu_map/x86_Icelake-Client-noTSX.xml b/src/cpu_map/x86_Icelake-Client-noTSX.xml
fbe740
index 540732af6f..65e648ae21 100644
fbe740
--- a/src/cpu_map/x86_Icelake-Client-noTSX.xml
fbe740
+++ b/src/cpu_map/x86_Icelake-Client-noTSX.xml
fbe740
@@ -1,6 +1,6 @@
fbe740
 <cpus>
fbe740
   <model name='Icelake-Client-noTSX'>
fbe740
-    <decode host='on' guest='on'/>
fbe740
+    <decode host='on' guest='off'/>
fbe740
     <signature family='6' model='126'/> 
fbe740
     <vendor name='Intel'/>
fbe740
     <feature name='3dnowprefetch'/>
fbe740
diff --git a/src/cpu_map/x86_Icelake-Server-noTSX.xml b/src/cpu_map/x86_Icelake-Server-noTSX.xml
fbe740
index 5a53da23c7..2fd6906406 100644
fbe740
--- a/src/cpu_map/x86_Icelake-Server-noTSX.xml
fbe740
+++ b/src/cpu_map/x86_Icelake-Server-noTSX.xml
fbe740
@@ -1,6 +1,6 @@
fbe740
 <cpus>
fbe740
   <model name='Icelake-Server-noTSX'>
fbe740
-    <decode host='on' guest='on'/>
fbe740
+    <decode host='on' guest='off'/>
fbe740
     <signature family='6' model='134'/> 
fbe740
     <vendor name='Intel'/>
fbe740
     <feature name='3dnowprefetch'/>
fbe740
diff --git a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
fbe740
index 0c2f1e6ac4..ffba34502a 100644
fbe740
--- a/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
fbe740
+++ b/src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml
fbe740
@@ -1,6 +1,6 @@
fbe740
 <cpus>
fbe740
   <model name='Skylake-Client-noTSX-IBRS'>
fbe740
-    <decode host='on' guest='on'/>
fbe740
+    <decode host='on' guest='off'/>
fbe740
     <signature family='6' model='94'/> 
fbe740
     <signature family='6' model='78'/> 
fbe740
     
fbe740
diff --git a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
fbe740
index 91a206f575..c2b7de40e8 100644
fbe740
--- a/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
fbe740
+++ b/src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml
fbe740
@@ -1,6 +1,6 @@
fbe740
 <cpus>
fbe740
   <model name='Skylake-Server-noTSX-IBRS'>
fbe740
-    <decode host='on' guest='on'/>
fbe740
+    <decode host='on' guest='off'/>
fbe740
     <signature family='6' model='85'/> 
fbe740
     <vendor name='Intel'/>
fbe740
     <feature name='3dnowprefetch'/>
fbe740
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml
fbe740
index e03c4a06ba..92404e4d03 100644
fbe740
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml
fbe740
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml
fbe740
@@ -1,5 +1,5 @@
fbe740
 <cpu mode='custom' match='exact'>
fbe740
-  <model fallback='forbid'>Skylake-Client-noTSX-IBRS</model>
fbe740
+  <model fallback='forbid'>Skylake-Client-IBRS</model>
fbe740
   <vendor>Intel</vendor>
fbe740
   <feature policy='require' name='ds'/>
fbe740
   <feature policy='require' name='acpi'/>
fbe740
@@ -26,4 +26,6 @@
fbe740
   <feature policy='require' name='pdpe1gb'/>
fbe740
   <feature policy='require' name='invtsc'/>
fbe740
   <feature policy='require' name='skip-l1dfl-vmentry'/>
fbe740
+  <feature policy='disable' name='hle'/>
fbe740
+  <feature policy='disable' name='rtm'/>
fbe740
 </cpu>
fbe740
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
fbe740
index 3d8e6775bf..645c0934c2 100644
fbe740
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
fbe740
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
fbe740
@@ -1,5 +1,5 @@
fbe740
 <cpu mode='custom' match='exact'>
fbe740
-  <model fallback='forbid'>Skylake-Client-noTSX-IBRS</model>
fbe740
+  <model fallback='forbid'>Skylake-Client-IBRS</model>
fbe740
   <vendor>Intel</vendor>
fbe740
   <feature policy='require' name='ss'/>
fbe740
   <feature policy='require' name='vmx'/>
fbe740
@@ -14,4 +14,6 @@
fbe740
   <feature policy='require' name='xsaves'/>
fbe740
   <feature policy='require' name='pdpe1gb'/>
fbe740
   <feature policy='require' name='skip-l1dfl-vmentry'/>
fbe740
+  <feature policy='disable' name='hle'/>
fbe740
+  <feature policy='disable' name='rtm'/>
fbe740
 </cpu>
fbe740
-- 
fbe740
2.26.2
fbe740