All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: x86-ml <x86@kernel.org>, lkml <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] x86/cpu for v6.3-rc1
Date: Tue, 21 Feb 2023 23:33:06 +0100	[thread overview]
Message-ID: <Y/VGorWUI7I6AhL7@zn.tnic> (raw)

Hi Linus,

please pull the currently accumulated x86/cpu pile for 6.3.

There are a bunch of easy peasy merge conflicts, an exemplary resolve of
which I'm adding at the end of this message.

Thx.

---

The following changes since commit b7bfaa761d760e72a969d116517eaa12e404c262:

  Linux 6.2-rc3 (2023-01-08 11:49:43 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/x86_cpu_for_v6.3_rc1

for you to fetch changes up to 7914695743d598b189d549f2f57af24aa5633705:

  x86/amd: Cache debug register values in percpu variables (2023-01-31 20:09:26 +0100)

----------------------------------------------------------------
- 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

----------------------------------------------------------------
Alexey Kardashevskiy (1):
      x86/amd: Cache debug register values in percpu variables

Ashok Raj (1):
      x86/cpu: Remove redundant extern x86_read_arch_cap_msr()

Breno Leitao (1):
      x86/bugs: Reset speculation control settings on init

H. Peter Anvin (Intel) (5):
      x86/cpufeature: Add the CPU feature bit for LKGS
      x86/opcode: Add the LKGS instruction to x86-opcode-map
      x86/gsseg: Make asm_load_gs_index() take an u16
      x86/gsseg: Move load_gs_index() to its own new header file
      x86/gsseg: Use the LKGS instruction if available for load_gs_index()

Ingo Molnar (1):
      x86/gsseg: Add the new <asm/gsseg.h> header to <asm/asm-prototypes.h>

Kim Phillips (8):
      x86/cpu, kvm: Add support for CPUID_80000021_EAX
      KVM: x86: Move open-coded CPUID leaf 0x80000021 EAX bit propagation code
      x86/cpu, kvm: Add the NO_NESTED_DATA_BP feature
      x86/cpu, kvm: Move X86_FEATURE_LFENCE_RDTSC to its native leaf
      x86/cpu, kvm: Add the Null Selector Clears Base feature
      x86/cpu, kvm: Add the SMM_CTL MSR not present feature
      x86/cpu: Support AMD Automatic IBRS
      KVM: x86: Propagate the AMD Automatic IBRS feature to the guest

 Documentation/admin-guide/hw-vuln/spectre.rst   |  6 +--
 Documentation/admin-guide/kernel-parameters.txt |  6 +--
 arch/x86/entry/entry_64.S                       |  2 +-
 arch/x86/include/asm/asm-prototypes.h           |  1 +
 arch/x86/include/asm/cpufeature.h               |  7 ++-
 arch/x86/include/asm/cpufeatures.h              | 12 ++++-
 arch/x86/include/asm/debugreg.h                 |  9 +++-
 arch/x86/include/asm/disabled-features.h        |  3 +-
 arch/x86/include/asm/gsseg.h                    | 66 +++++++++++++++++++++++++
 arch/x86/include/asm/mmu_context.h              |  1 +
 arch/x86/include/asm/msr-index.h                |  6 +++
 arch/x86/include/asm/required-features.h        |  3 +-
 arch/x86/include/asm/special_insns.h            | 21 --------
 arch/x86/kernel/cpu/amd.c                       | 49 ++++++++++++------
 arch/x86/kernel/cpu/bugs.c                      | 31 ++++++++----
 arch/x86/kernel/cpu/common.c                    | 27 +++++-----
 arch/x86/kernel/cpu/cpu.h                       |  2 -
 arch/x86/kernel/cpu/tsx.c                       |  1 +
 arch/x86/kernel/hw_breakpoint.c                 |  4 +-
 arch/x86/kernel/paravirt.c                      |  1 +
 arch/x86/kernel/signal_32.c                     |  1 +
 arch/x86/kernel/tls.c                           |  1 +
 arch/x86/kvm/cpuid.c                            | 41 ++++++++-------
 arch/x86/kvm/reverse_cpuid.h                    |  1 +
 arch/x86/kvm/svm/svm.c                          |  3 ++
 arch/x86/kvm/x86.c                              |  3 ++
 arch/x86/lib/x86-opcode-map.txt                 |  1 +
 arch/x86/xen/enlighten_pv.c                     |  1 +
 tools/arch/x86/include/asm/cpufeatures.h        |  1 +
 tools/arch/x86/lib/x86-opcode-map.txt           |  1 +
 30 files changed, 218 insertions(+), 94 deletions(-)
 create mode 100644 arch/x86/include/asm/gsseg.h

 ---

 merge conflicts resolve:

 ---

diff --cc arch/x86/include/asm/cpufeatures.h
index 49973061b5bd,06909dc7fa63..389ea336258f
--- a/arch/x86/include/asm/cpufeatures.h
+++ b/arch/x86/include/asm/cpufeatures.h
@@@ -314,7 -312,7 +314,8 @@@
  #define X86_FEATURE_AVX_VNNI		(12*32+ 4) /* AVX VNNI instructions */
  #define X86_FEATURE_AVX512_BF16		(12*32+ 5) /* AVX512 BFLOAT16 instructions */
  #define X86_FEATURE_CMPCCXADD           (12*32+ 7) /* "" CMPccXADD instructions */
 +#define X86_FEATURE_ARCH_PERFMON_EXT	(12*32+ 8) /* "" Intel Architectural PerfMon Extension */
+ #define X86_FEATURE_LKGS		(12*32+18) /* "" Load "kernel" (userspace) GS */
  #define X86_FEATURE_AMX_FP16		(12*32+21) /* "" AMX fp16 Support */
  #define X86_FEATURE_AVX_IFMA            (12*32+23) /* "" Support for VPMADD52[H,L]UQ */
  
diff --cc arch/x86/include/asm/special_insns.h
index f358a23f228d,cfd9499b617c..de48d1389936
--- a/arch/x86/include/asm/special_insns.h
+++ b/arch/x86/include/asm/special_insns.h
@@@ -184,19 -173,9 +173,9 @@@ static __always_inline void wbinvd(void
  	native_wbinvd();
  }
  
- 
- static inline void load_gs_index(unsigned int selector)
- {
- #ifdef CONFIG_X86_64
- 	native_load_gs_index(selector);
- #else
- 	loadsegment(gs, selector);
- #endif
- }
- 
  #endif /* CONFIG_PARAVIRT_XXL */
  
 -static inline void clflush(volatile void *__p)
 +static __always_inline void clflush(volatile void *__p)
  {
  	asm volatile("clflush %0" : "+m" (*(volatile char __force *)__p));
  }
diff --cc arch/x86/kernel/cpu/common.c
index 65ceabb2e114,62c73c57f16d..a394bbba7a4b
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@@ -1403,14 -1412,6 +1414,9 @@@ static void __init cpu_set_bug_bits(str
  			setup_force_cpu_bug(X86_BUG_RETBLEED);
  	}
  
- 	if (cpu_has(c, X86_FEATURE_IBRS_ENHANCED) &&
- 	    !cpu_matches(cpu_vuln_whitelist, NO_EIBRS_PBRSB) &&
- 	    !(ia32_cap & ARCH_CAP_PBRSB_NO))
- 		setup_force_cpu_bug(X86_BUG_EIBRS_PBRSB);
- 
 +	if (cpu_matches(cpu_vuln_blacklist, SMT_RSB))
 +		setup_force_cpu_bug(X86_BUG_SMT_RSB);
 +
  	if (cpu_matches(cpu_vuln_whitelist, NO_MELTDOWN))
  		return;
  

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

             reply	other threads:[~2023-02-21 22:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-21 22:33 Borislav Petkov [this message]
2023-02-21 23:40 ` [GIT PULL] x86/cpu for v6.3-rc1 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y/VGorWUI7I6AhL7@zn.tnic \
    --to=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.