The PRED_CMD MSR also exists if the CPU supports SBPB. Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> --- lib/x86/processor.h | 1 + x86/msr.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/x86/processor.h b/lib/x86/processor.h index b656ebf6..9e3659d4 100644 --- a/lib/x86/processor.h +++ b/lib/x86/processor.h @@ -329,6 +329,7 @@ struct x86_cpu_feature { #define X86_FEATURE_SME_COHERENT X86_CPU_FEATURE(0x8000001F, 0, EAX, 10) #define X86_FEATURE_DEBUG_SWAP X86_CPU_FEATURE(0x8000001F, 0, EAX, 14) #define X86_FEATURE_SVSM X86_CPU_FEATURE(0x8000001F, 0, EAX, 28) +#define X86_FEATURE_SBPB X86_CPU_FEATURE(0x80000021, 0, EAX, 27) #define X86_FEATURE_AMD_PMU_V2 X86_CPU_FEATURE(0x80000022, 0, EAX, 0) /* diff --git a/x86/msr.c b/x86/msr.c index f582a584..ac12d127 100644 --- a/x86/msr.c +++ b/x86/msr.c @@ -296,7 +296,8 @@ static void test_cmd_msrs(void) test_rdmsr_fault(MSR_IA32_PRED_CMD, "PRED_CMD"); if (this_cpu_has(X86_FEATURE_SPEC_CTRL) || - this_cpu_has(X86_FEATURE_AMD_IBPB)) { + this_cpu_has(X86_FEATURE_AMD_IBPB) || + this_cpu_has(X86_FEATURE_SBPB)) { test_wrmsr(MSR_IA32_PRED_CMD, "PRED_CMD", 0); test_wrmsr(MSR_IA32_PRED_CMD, "PRED_CMD", PRED_CMD_IBPB); } else { -- 2.50.0.rc0.604.gd4ff7b7c86-goog