• Linus Torvalds's avatar
    Merge tag 'x86_cpu_for_v6.3_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 87793476
    Linus Torvalds authored
    Pull x86 cpuid updates from Borislav Petkov:
    
     - Cache the AMD debug registers in per-CPU variables to avoid MSR
       writes where possible, when supporting a debug registers swap feature
       for SEV-ES guests
    
     - Add support for AMD's version of eIBRS called Automatic IBRS which is
       a set-and-forget control of indirect branch restriction speculation
       resources on privilege change
    
     - Add support for a new x86 instruction - LKGS - Load kernel GS which
       is part of the FRED infrastructure
    
     - Reset SPEC_CTRL upon init to accomodate use cases like kexec which
       rediscover
    
     - Other smaller fixes and cleanups
    
    * tag 'x86_cpu_for_v6.3_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/amd: Cache debug register values in percpu variables
      KVM: x86: Propagate the AMD Automatic IBRS feature to the guest
      x86/cpu: Support AMD Automatic IBRS
      x86/cpu, kvm: Add the SMM_CTL MSR not present feature
      x86/cpu, kvm: Add the Null Selector Clears Base feature
      x86/cpu, kvm: Move X86_FEATURE_LFENCE_RDTSC to its native leaf
      x86/cpu, kvm: Add the NO_NESTED_DATA_BP feature
      KVM: x86: Move open-coded CPUID leaf 0x80000021 EAX bit propagation code
      x86/cpu, kvm: Add support for CPUID_80000021_EAX
      x86/gsseg: Add the new <asm/gsseg.h> header to <asm/asm-prototypes.h>
      x86/gsseg: Use the LKGS instruction if available for load_gs_index()
      x86/gsseg: Move load_gs_index() to its own new header file
      x86/gsseg: Make asm_load_gs_index() take an u16
      x86/opcode: Add the LKGS instruction to x86-opcode-map
      x86/cpufeature: Add the CPU feature bit for LKGS
      x86/bugs: Reset speculation control settings on init
      x86/cpu: Remove redundant extern x86_read_arch_cap_msr()
    87793476
enlighten_pv.c 35.3 KB