[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220131230111.2004669-1-tony.luck@intel.com>
Date: Mon, 31 Jan 2022 15:01:06 -0800
From: Tony Luck <tony.luck@...el.com>
To: Borislav Petkov <bp@...en8.de>
Cc: x86@...nel.org, linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Smita Koralahalli Channabasappa
<smita.koralahallichannabasappa@....com>,
Wei Huang <wei.huang2@....com>,
Tom Lendacky <thomas.lendacky@....com>,
patches@...ts.linux.dev, Tony Luck <tony.luck@...el.com>
Subject: [PATCH v3 0/5] PPIN (Protected Processor Inventory Number) updates
The series starts out with two changes that I expect are uncontroversial.
Later parts get progressively more "RFC" - but seem to have survived
discussions on LKML.
1) Simple cleanup to merge Intel and AMD duplicated code to test for
presence of PPIN and check whether it is enabled.
2) Long overdue update from Intel to enumerate the PPIN and PPIN_CTL
MSRs. See the December 2021 Software Developers Manual
3) Code to scan machine check banks re-reads the PPIN every time banks
are scanned (whether for a machine check, a CMCI, or just a periodic
poll). Since PPIN never changes, this seems like unnecessary overhead.
Read the MSR once (per CPU) and save to memory.
4) Refactor as prep for last part.
5) Add "ppin" to /sys/devices/system/cpu/cpu*/topology/ppin
Use case: ppin is already useful when reporting machine check
errors. Patches for new "in field scan" tests will appear soon.
If a CPU fails such a test it will be useful to provide the ppin
along with the test failure data.
Changes since V2:
----------------
1) Part 1 of V2 (adding ICELAKE_D) merged upstream, so dropped here
2) Rebased to v5.17-rc2 (to build on top of that merged patch)
3) Fixed bisection breakage reported by Boris where .msr_ppin
structure fields were initialized two patches before the
field was added.
4) Add Ack's from GregKH to parts 4 & 5
Tony Luck (5):
x86/cpu: Merge Intel and AMD ppin_init() functions
x86/cpu: X86_FEATURE_INTEL_PPIN finally has a CPUID bit
x86/cpu: Read/save PPIN MSR during initialization
topology/sysfs: Add format parameter to macro defining "show"
functions for proc
topology/sysfs: Add PPIN in sysfs under cpu topology
.../ABI/stable/sysfs-devices-system-cpu | 4 +
.../ABI/testing/sysfs-devices-system-cpu | 6 ++
arch/x86/include/asm/processor.h | 2 +
arch/x86/include/asm/topology.h | 1 +
arch/x86/kernel/cpu/amd.c | 30 -------
arch/x86/kernel/cpu/common.c | 79 +++++++++++++++++++
arch/x86/kernel/cpu/mce/core.c | 7 +-
arch/x86/kernel/cpu/mce/intel.c | 42 ----------
arch/x86/kernel/cpu/scattered.c | 1 +
drivers/base/topology.c | 20 +++--
include/linux/topology.h | 3 +
11 files changed, 109 insertions(+), 86 deletions(-)
base-commit: 26291c54e111ff6ba87a164d85d4a4e134b7315c
--
2.31.1
Powered by blists - more mailing lists