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

Dave Hansen posted 5 patches 1 year ago
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(-)
[v2][PATCH 0/5] x86/cpu: Remove duplicate microcode version matching infrastructure
Posted by Dave Hansen 1 year ago
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(-)