diff options
Diffstat (limited to 'usr/src/uts/intel')
-rw-r--r-- | usr/src/uts/intel/sys/x86_archext.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/usr/src/uts/intel/sys/x86_archext.h b/usr/src/uts/intel/sys/x86_archext.h index d0efa8c384..0c20330297 100644 --- a/usr/src/uts/intel/sys/x86_archext.h +++ b/usr/src/uts/intel/sys/x86_archext.h @@ -209,6 +209,7 @@ extern "C" { #define CPUID_AMD_EBX_IBRS_ALL 0x000010000 /* AMD: Enhanced IBRS */ #define CPUID_AMD_EBX_STIBP_ALL 0x000020000 /* AMD: STIBP ALL */ #define CPUID_AMD_EBX_PREFER_IBRS 0x000040000 /* AMD: Don't retpoline */ +#define CPUID_AMD_EBX_PPIN 0x000800000 /* AMD: PPIN Support */ #define CPUID_AMD_EBX_SSBD 0x001000000 /* AMD: SSBD */ #define CPUID_AMD_EBX_VIRT_SSBD 0x002000000 /* AMD: VIRT SSBD */ #define CPUID_AMD_EBX_SSB_NO 0x004000000 /* AMD: SSB Fixed */ @@ -455,13 +456,21 @@ extern "C" { #define MSR_PRP4_LBSTK_TO_15 0x6cf /* - * General Xeon based MSRs + * PPIN definitions for Intel and AMD. Unfortunately, Intel and AMD use + * different MSRS for this and different MSRS to control whether or not it + * should be readable. */ -#define MSR_PPIN_CTL 0x04e -#define MSR_PPIN 0x04f +#define MSR_PPIN_CTL_INTC 0x04e +#define MSR_PPIN_INTC 0x04f #define MSR_PLATFORM_INFO 0x0ce - #define MSR_PLATFORM_INFO_PPIN (1 << 23) + +#define MSR_PPIN_CTL_AMD 0xC00102F0 +#define MSR_PPIN_AMD 0xC00102F1 + +/* + * These values are currently the same between Intel and AMD. + */ #define MSR_PPIN_CTL_MASK 0x03 #define MSR_PPIN_CTL_LOCKED 0x01 #define MSR_PPIN_CTL_ENABLED 0x02 @@ -732,6 +741,7 @@ extern "C" { #define X86FSET_PKG_THERMAL 96 #define X86FSET_TSX_CTRL 97 #define X86FSET_TAA_NO 98 +#define X86FSET_PPIN 99 /* * Intel Deep C-State invariant TSC in leaf 0x80000007. @@ -1109,7 +1119,7 @@ extern "C" { #if defined(_KERNEL) || defined(_KMEMUSER) -#define NUM_X86_FEATURES 99 +#define NUM_X86_FEATURES 100 extern uchar_t x86_featureset[]; extern void free_x86_featureset(void *featureset); |