On Fri, Sep 13, 2024 at 10:32 AM Jim Mattson <jmattson@xxxxxxxxxx> wrote: > > Prior to Zen4, AMD's IBPB did not flush the RAS (or, in Intel > terminology, the RSB). Hence, the older version of AMD's IBPB was not > equivalent to Intel's IBPB. However, KVM has been treating them as > equivalent, synthesizing Intel's CPUID.(EAX=7,ECX=0):EDX[bit 26] on any > platform that supports the synthetic features X86_FEATURE_IBPB and > X86_FEATURE_IBRS. > > Equivalence also requires a previously ignored feature on the AMD side, > CPUID Fn8000_0008_EBX[IBPB_RET], which is enumerated on Zen4. > > v4: Added "guaranteed" to X86_FEATURE_IBPB comment [Pawan] > Changed logic for deducing AMD IBPB features from Intel IBPB features > in kvm_set_cpu_caps [Tom] > Intel CPUs that suffer from PBRSB can't claim AMD_IBPB_RET [myself] > > v3: Pass through IBPB_RET from hardware to userspace. [Tom] > Derive AMD_IBPB from X86_FEATURE_SPEC_CTRL rather than > X86_FEATURE_IBPB. [Tom] > Clarify semantics of X86_FEATURE_IBPB. > > v2: Use IBPB_RET to identify semantic equality. [Venkatesh] > > Jim Mattson (3): > x86/cpufeatures: Define X86_FEATURE_AMD_IBPB_RET > KVM: x86: Advertise AMD_IBPB_RET to userspace > KVM: x86: AMD's IBPB is not equivalent to Intel's IBPB Oops. I forgot to include the v3 responses: > For the series: > > Reviewed-by: Tom Lendacky <thomas.lendacky@xxxxxxx> and > Assuming this goes through the KVM tree: > > Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> The only substantive change was to patch 3/3. Sean: Are you willing to take this through KVM/x86?