This RFC patch set aims to provide the ability to re-evaluate all CPU
features and take proper bug mitigation in place after a microcode
late loading.

This was debated last year and this patch set implements a subset of
point #2 from Thomas Gleixner's idea:
https://lore.kernel.org/lkml/alpine.deb.2.21.1909062237580.1...@nanos.tec.linutronix.de/

Point #1 was sent as an RFC some time ago
(https://lkml.org/lkml/2020/4/27/214), but after a discussion with CPU
vendors (Intel), the metadata file is not easily buildable at this
moment so we could not advance with it more. Without #1, I know it is
unlikely to embrace the feature re-evaluation.

Patches from 1 to 4 bring in changes for functions/variables in order to be
able to use them at runtime.

Patch 5 re-evaluates CPU features, patch 6 is re-probing bugs and patch 7
deals with speculation blacklist CPUs/microcode versions.

Thank you,
Mihai Carabas

Mihai Carabas (7):
  x86: cpu: bugs.c: remove init attribute from functions and variables
  x86: cpu: modify boot_command_line to saved_command_line
  x86: kernel: cpu: bugs.c: modify static_cpu_has to boot_cpu_has
  x86: cpu: bugs.c: update cpu_smt_disable to be callable at runtime
  x86: microcode: late loading feature and bug evaluation
  x86: cpu: bugs.c: reprobe bugs at runtime
  x86: cpu: update blacklist spec features for late loading

 arch/x86/include/asm/microcode.h       |   3 +
 arch/x86/include/asm/microcode_intel.h |   1 +
 arch/x86/kernel/cpu/bugs.c             | 142 +++++++++++++++++++--------------
 arch/x86/kernel/cpu/common.c           |  32 +++++++-
 arch/x86/kernel/cpu/cpu.h              |   4 +-
 arch/x86/kernel/cpu/intel.c            |  28 +++++++
 arch/x86/kernel/cpu/microcode/core.c   |  28 +++++++
 arch/x86/kernel/cpu/microcode/intel.c  |   5 +-
 arch/x86/kernel/cpu/tsx.c              |   8 +-
 arch/x86/kernel/process.c              |   8 +-
 arch/x86/kvm/vmx/vmx.c                 |   2 +-
 kernel/cpu.c                           |  18 ++++-
 12 files changed, 201 insertions(+), 78 deletions(-)

-- 
1.8.3.1

Reply via email to