Combining my previous patchset for purely adding the feature and MSR definitions, with the first four patches that Karim sent out which were purely about enabling IBPB. This gives us a full retpoline-based mitigation for Spectre variant 2, and the IBRS option can come later.
I expect further discussion of the final patch to tweak precisely when we use IBPB in context switch. --- v2: Fix STIPB/STIBP typo Fix error in AMD CPUID bit definition (0x8000_0008 EBX[12]) Ashok Raj (1): x86/kvm: Add IBPB support David Woodhouse (4): x86/cpufeatures: Add Intel feature bits for Speculation Control x86/cpufeatures: Add AMD feature bits for Prediction Command x86/msr: Add definitions for new speculation control MSRs x86/pti: Do not enable PTI on fixed Intel processors Thomas Gleixner (2): x86/speculation: Add basic support for IBPB x86/speculation: Use Indirect Branch Prediction Barrier in context switch Tim Chen (1): x86/mm: Only flush indirect branches when switching into non dumpable process arch/x86/include/asm/cpufeature.h | 7 +++++-- arch/x86/include/asm/cpufeatures.h | 14 +++++++++++--- arch/x86/include/asm/disabled-features.h | 3 ++- arch/x86/include/asm/msr-index.h | 11 +++++++++++ arch/x86/include/asm/nospec-branch.h | 16 ++++++++++++++++ arch/x86/include/asm/required-features.h | 3 ++- arch/x86/kernel/cpu/bugs.c | 7 +++++++ arch/x86/kernel/cpu/common.c | 10 ++++++++-- arch/x86/kernel/cpu/scattered.c | 3 +-- arch/x86/kvm/svm.c | 14 ++++++++++++++ arch/x86/kvm/vmx.c | 11 +++++++++++ arch/x86/mm/tlb.c | 21 ++++++++++++++++++++- 12 files changed, 108 insertions(+), 12 deletions(-) -- 2.7.4