[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1593703107-8852-1-git-send-email-mihai.carabas@oracle.com>
Date: Thu, 2 Jul 2020 18:18:20 +0300
From: Mihai Carabas <mihai.carabas@...cle.com>
To: linux-kernel@...r.kernel.org
Cc: tglx@...utronix.de, mingo@...hat.com, bp@...en8.de, x86@...nel.org,
boris.ostrovsky@...cle.com, konrad.wilk@...cle.com,
Mihai Carabas <mihai.carabas@...cle.com>
Subject: [PATCH RFC 0/7] CPU feature evaluation after microcode late loading
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.1902@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
Powered by blists - more mailing lists