[v2][PATCH 0/5] x86/cpu: Remove duplicate microcode version matching infrastructure

From: Dave Hansen
Date: Fri Dec 13 2024 - 13:51:37 EST


Changes from v1:
* Fix missing conversion site in i10nm (Boris)
* Shorten X86_STEPPING_MIN/MAX and helper names (Boris)
* Fix up changelog typo/thinko reversing struct names (Tony)
* Move skx_cpuids[] to a non-stepping helper
Changes from RFC:
* Convert stepping match helpers to always take a range and never
take a raw stepping bitmap. - Ingo

--

x86 has generic CPU matching infrastructure. This lets you build
tables of CPUs with some property. It's mostly used for enumerating
model-specific features, but it is quite a bit more flexible than
that. In includes a facility to match steppings and microcode
versions. This generic infrastructure is built around 'struct
x86_cpu_id'.

There is a less generic, parallel CPU matching facility built around
'struct x86_cpu_desc'. It is used only for matching specific microcode
revisions. All of the 'struct x86_cpu_desc' users can be converted to
'struct x86_cpu_id'.

Do that conversion then remove the 'struct x86_cpu_desc'
infrastructure.

Feedback is getting pretty cosmetic at this point so barring any big
comments on this, I'll probably apply it early next week.

--

arch/x86/events/intel/core.c | 62 ++++++++-----------
arch/x86/include/asm/cpu_device_id.h | 51 ++--------------
arch/x86/kernel/apic/apic.c | 18 ++---
arch/x86/kernel/cpu/amd.c | 9 +-
arch/x86/kernel/cpu/common.c | 78 ++++++++++++-------------
arch/x86/kernel/cpu/match.c | 28 +-------
drivers/edac/i10nm_base.c | 21 +++---
drivers/edac/skx_base.c | 2
include/linux/mod_devicetable.h | 2
9 files changed, 105 insertions(+), 166 deletions(-)