Message ID | 20240913173242.3271406-1-jmattson@google.com (mailing list archive) |
---|---|
Headers | show |
Series | Distinguish between variants of IBPB | expand |
On Fri, Sep 13, 2024 at 10:32 AM Jim Mattson <jmattson@google.com> 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@amd.com> and > Assuming this goes through the KVM tree: > > Reviewed-by: Thomas Gleixner <tglx@linutronix.de> The only substantive change was to patch 3/3. Sean: Are you willing to take this through KVM/x86?
On Fri, Sep 27, 2024, Jim Mattson wrote: > On Fri, Sep 13, 2024 at 10:32 AM Jim Mattson <jmattson@google.com> 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@amd.com> > > and > > > Assuming this goes through the KVM tree: > > > > Reviewed-by: Thomas Gleixner <tglx@linutronix.de> > > The only substantive change was to patch 3/3. > > Sean: Are you willing to take this through KVM/x86? Yep, and I can fixup the reviews when applying.