v4:
- Series doesn't apply to upstream cleanly anymore, rebased to v6.12-rc1,
resolved the merge conflict in files:
arch/x86/include/asm/cpu_device_id.h
arch/x86/kernel/cpu/common.c
- Remove redundant "hw_" in intel_hw_native_model_id().
v3: https://lore.kernel.org/r/20240815-add-cpu-type-v3-0-234162352057@linux.intel.com
- Add a patch to prepend "0x" to hex values in cpu_debug_show() (Borislav).
- Add support to to also get Intel Native Model ID (Dapeng).
- Keep similar models together in the affected processor list (Josh).
- Add a comparison of .init.data in commit message for cpu_vuln_blacklist
before and after decluttering patch for affected processor list (Josh).
- Drop the debugfs file reference in the commit message (Borislav).
- s/cpu_type/hw_cpu_type/ (Borislav).
- Add a union for hw_cpu_type for easy retrieval of intel_core_type and
intel_native_model_id.
- Updated commit messages, collected tags.
- Rebased to v6.11-rc3.
Note, I will be off work till Tuesday, will reply to any comments then.
v2: https://lore.kernel.org/r/20240627-add-cpu-type-v2-0-f927bde83ad0@linux.intel.com
- 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@linux.intel.com
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 fixes a minor formatting issue in cpu_debug_show().
* Patch 2 adds hardware cpu-type to CPU topology structure and introduces
topology_hw_cpu_type().
* Patch 3-5 replaces usages of get_this_hybrid_cpu_type() with
topology_hw_cpu_type().
* Patch 6-8 Updates CPU-matching infrastructure to use CPU-type.
* Patch 9 cleans up the affected CPU list.
* Patch 10 uses the CPU-type to exclude P-only parts from the RFDS affected
list.
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
---
Pawan Gupta (10):
x86/cpu: Prepend 0x to the hex values in cpu_debug_show()
x86/cpu/topology: Add CPU type to struct cpuinfo_topology
cpufreq: intel_pstate: Use topology_hw_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 | 3 +-
arch/x86/include/asm/cpu.h | 4 +-
arch/x86/include/asm/cpu_device_id.h | 113 ++++++----------
arch/x86/include/asm/processor.h | 11 ++
arch/x86/include/asm/topology.h | 8 ++
arch/x86/kernel/cpu/common.c | 148 +++++++++++----------
arch/x86/kernel/cpu/debugfs.c | 5 +-
arch/x86/kernel/cpu/intel.c | 15 +--
arch/x86/kernel/cpu/match.c | 22 +++
arch/x86/kernel/cpu/topology_common.c | 11 ++
drivers/cpufreq/intel_pstate.c | 14 +-
include/linux/mod_devicetable.h | 2 +
13 files changed, 186 insertions(+), 178 deletions(-)
---
base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc
change-id: 20240617-add-cpu-type-4d5e47efc117
Best regards,
--
Thanks,
Pawan