|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/cpuid: More AMD features
commit ee973396f008ff0de2836b7ca100ce822740fa41
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Mon Mar 18 18:07:05 2024 +0000
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Thu Mar 21 11:38:03 2024 +0000
x86/cpuid: More AMD features
All of these are informational and require no further logic changes in Xen
to
support.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
---
tools/misc/xen-cpuid.c | 5 +++++
xen/include/public/arch-x86/cpufeatureset.h | 8 ++++++++
xen/tools/gen-cpuid.py | 4 ++++
3 files changed, 17 insertions(+)
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 51efbff579..8893547beb 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -91,6 +91,7 @@ static const char *const str_e1c[32] =
[24] = "perfctr-nb", /* [25] */
[26] = "dbx", [27] = "perftsc",
[28] = "pcx-l2i", [29] = "monitorx",
+ [30] = "addr-msk-ext",
};
static const char *const str_7b0[32] =
@@ -199,11 +200,15 @@ static const char *const str_7a1[32] =
static const char *const str_e21a[32] =
{
+ [ 0] = "no-nest-bp", [ 1] = "fs-gs-ns",
[ 2] = "lfence+",
[ 6] = "nscb",
[ 8] = "auto-ibrs",
+ [10] = "amd-fsrs", [11] = "amd-fsrc",
/* 16 */ [17] = "cpuid-user-dis",
+ [18] = "epsf", [19] = "fsrsc",
+ [20] = "amd-prefetchi",
/* 26 */ [27] = "sbpb",
[28] = "ibpb-brtype", [29] = "srso-no",
diff --git a/xen/include/public/arch-x86/cpufeatureset.h
b/xen/include/public/arch-x86/cpufeatureset.h
index eb9f552948..3de7c0383f 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -168,6 +168,7 @@ XEN_CPUFEATURE(TBM, 3*32+21) /*A trailing bit
manipulations */
XEN_CPUFEATURE(TOPOEXT, 3*32+22) /* topology extensions CPUID leafs */
XEN_CPUFEATURE(DBEXT, 3*32+26) /*A data breakpoint extension */
XEN_CPUFEATURE(MONITORX, 3*32+29) /* MONITOR extension
(MONITORX/MWAITX) */
+XEN_CPUFEATURE(ADDR_MSK_EXT, 3*32+30) /*A Address Mask Extentions */
/* Intel-defined CPU features, CPUID level 0x0000000D:1.eax, word 4 */
XEN_CPUFEATURE(XSAVEOPT, 4*32+ 0) /*A XSAVEOPT instruction */
@@ -290,10 +291,17 @@ XEN_CPUFEATURE(WRMSRNS, 10*32+19) /*S WRMSR
Non-Serialising */
XEN_CPUFEATURE(AVX_IFMA, 10*32+23) /*A AVX-IFMA Instructions */
/* AMD-defined CPU features, CPUID level 0x80000021.eax, word 11 */
+XEN_CPUFEATURE(NO_NEST_BP, 11*32+ 0) /*A No Nested Data Breakpoints */
+XEN_CPUFEATURE(FS_GS_NS, 11*32+ 1) /*S FS/GS base MSRs
non-serialising */
XEN_CPUFEATURE(LFENCE_DISPATCH, 11*32+ 2) /*A LFENCE always serializing */
XEN_CPUFEATURE(NSCB, 11*32+ 6) /*A Null Selector Clears Base
(and limit too) */
XEN_CPUFEATURE(AUTO_IBRS, 11*32+ 8) /*S Automatic IBRS */
+XEN_CPUFEATURE(AMD_FSRS, 11*32+10) /*A Fast Short REP STOSB */
+XEN_CPUFEATURE(AMD_FSRC, 11*32+11) /*A Fast Short REP CMPSB */
XEN_CPUFEATURE(CPUID_USER_DIS, 11*32+17) /* CPUID disable for CPL > 0
software */
+XEN_CPUFEATURE(EPSF, 11*32+18) /*A Enhanced Predictive Store
Forwarding */
+XEN_CPUFEATURE(FSRSC, 11*32+19) /*A Fast Short REP SCASB */
+XEN_CPUFEATURE(AMD_PREFETCHI, 11*32+20) /*A PREFETCHIT{0,1} Instructions
*/
XEN_CPUFEATURE(SBPB, 11*32+27) /*A Selective Branch Predictor
Barrier */
XEN_CPUFEATURE(IBPB_BRTYPE, 11*32+28) /*A IBPB flushes Branch Type
predictions too */
XEN_CPUFEATURE(SRSO_NO, 11*32+29) /*A Hardware not vulenrable to
Speculative Return Stack Overflow */
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index 25d329ce48..bf3f9ec01e 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -329,6 +329,10 @@ def crunch_numbers(state):
# In principle the TSXLDTRK insns could also be considered independent.
RTM: [TSXLDTRK],
+ # Enhanced Predictive Store-Forwarding is a informational note on top
+ # of PSF.
+ PSFD: [EPSF],
+
# The ARCH_CAPS CPUID bit enumerates the availability of the whole
register.
ARCH_CAPS: list(range(RDCL_NO, RDCL_NO + 64)),
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |