|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/gen-cpuid: Distinguish default vs max in feature annotations
commit 1accd92514f286c44e76f198f1bba90ad2e9e83b
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Tue Feb 25 15:33:31 2020 +0000
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Wed Jun 17 13:54:12 2020 +0100
x86/gen-cpuid: Distinguish default vs max in feature annotations
The toolstack logic can now correctly distinguish a clean boot from a
migrate/restore.
Allow lowercase a/s/h to be used to annotate a non-default feature.
Due to the emulator work prepared earlier in 4.14, this now allows VMs to
explicity opt in to the TSXLDTRK, MOVDIR{I,64B} and SERIALIZE instructions
via
their xl.cfg file, rather than getting them as a matter of default.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
Release-acked-by: Paul Durrant <paul@xxxxxxx>
---
xen/tools/gen-cpuid.py | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index 037954cfb8..ffd9529fdf 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -130,17 +130,13 @@ def crunch_numbers(state):
MTRR, PGE, MCA, CMOV, PAT, PSE36, MMX, FXSR)
state.common_1d = common_1d
- state.pv_def = state.raw['A']
- state.hvm_shadow_def = state.pv_def | state.raw['S']
- state.hvm_hap_def = state.hvm_shadow_def | state.raw['H']
-
- # TODO: Ignore def/max split until the toolstack migration logic is fixed
- state.pv_max = state.pv_def
- state.hvm_shadow_max = state.hvm_shadow_def
- state.hvm_hap_max = state.hvm_hap_def
- # state.pv_max = state.raw['A'] |
state.raw['a']
- # state.hvm_shadow_max = state.pv_max | state.raw['S'] |
state.raw['s']
- # state.hvm_hap_max = state.hvm_shadow_max | state.raw['H'] |
state.raw['h']
+ state.pv_def = state.raw['A']
+ state.hvm_shadow_def = state.pv_def | state.raw['S']
+ state.hvm_hap_def = state.hvm_shadow_def | state.raw['H']
+
+ state.pv_max = state.raw['A'] |
state.raw['a']
+ state.hvm_shadow_max = state.pv_max | state.raw['S'] |
state.raw['s']
+ state.hvm_hap_max = state.hvm_shadow_max | state.raw['H'] |
state.raw['h']
#
# Feature dependency information.
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |