[PATCH v2 0/9] Add CPU-type to topology
From: Pawan Gupta
Date: Thu Jun 27 2024 - 16:45:07 EST
v2:
- Move CPU-type to the end of the CPU topology structure (Andrew).
- Use c->cpuid_level instead of cpuid_eax(0) (Andrew).
- Move CPU-type enum out of ifdef CONFIG_NUMA (kernel test robot).
- Rename cpu_type to hw_cpu_type (Borislav).
- Explain replacing get_this_hybrid_cpu_type() with topology_hw_cpu_type()
in the commit message (Dave).
- Fix the alignment in cpu_vuln_whitelist (Andrew).
- Add the obj compare note in the commit message (Dave/Tony).
- s/X86_CPU_TYPE_INTEL_ATOM/ATOM/ in cpu_vuln_whitelist (Dave).
v1: https://lore.kernel.org/r/20240617-add-cpu-type-v1-0-b88998c01e76@xxxxxxxxxxxxxxx
Hi,
This series adds support for CPU-type (CPUID.1A.EAX[31-24] on Intel) to
differentiate between hybrid variants P+E, P-only, E-only that share the
same Family/Model/Stepping. One of the use case for CPU-type is the
affected CPU table for CPU vulnerabilities, which can now use the CPU-type
to filter the unaffected variants.
* Patch 1 adds hardware cpu-type to CPU topology structure and introduces
topology_hw_cpu_type().
* Patch 2-4 replaces usages of get_this_hybrid_cpu_type() with
topology_hw_cpu_type().
* Patch 5-7 Updates CPU-matching infrastructure to use CPU-type.
* Patch 8 cleans up the affected CPU list.
* Patch 9 uses the CPU-type to exclude P-only parts from the RFDS affected
list.
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@xxxxxxxxxxxxxxx>
---
Pawan Gupta (9):
x86/cpu/topology: Add CPU type to struct cpuinfo_topology
cpufreq: intel_pstate: Use topology_cpu_type()
perf/x86/intel: Use topology_hw_cpu_type()
x86/cpu: Remove get_this_hybrid_cpu_type()
x86/cpu: Name CPU matching macro more generically (and shorten)
x86/cpu: Add cpu_type to struct x86_cpu_id
x86/cpu: Update x86_match_cpu() to also use cpu-type
x86/bugs: Declutter vulnerable CPU list
x86/rfds: Exclude P-only parts from the RFDS affected list
.../admin-guide/hw-vuln/reg-file-data-sampling.rst | 8 --
arch/x86/events/intel/core.c | 2 +-
arch/x86/include/asm/cpu.h | 6 -
arch/x86/include/asm/cpu_device_id.h | 117 +++++++----------
arch/x86/include/asm/processor.h | 3 +
arch/x86/include/asm/topology.h | 9 ++
arch/x86/kernel/cpu/common.c | 138 +++++++++++----------
arch/x86/kernel/cpu/debugfs.c | 1 +
arch/x86/kernel/cpu/intel.c | 16 ---
arch/x86/kernel/cpu/match.c | 22 ++++
arch/x86/kernel/cpu/topology_common.c | 9 ++
drivers/cpufreq/intel_pstate.c | 14 +--
include/linux/mod_devicetable.h | 2 +
13 files changed, 168 insertions(+), 179 deletions(-)
---
base-commit: f2661062f16b2de5d7b6a5c42a9a5c96326b8454
change-id: 20240617-add-cpu-type-4d5e47efc117
Best regards,
--
Thanks,
Pawan