|
|
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 |
|