]> git.baikalelectronics.ru Git - kernel.git/commit
x86/cpu: Add consistent CPU match macros
authorThomas Gleixner <tglx@linutronix.de>
Mon, 3 Oct 2022 13:10:05 +0000 (10:10 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Oct 2022 07:16:54 +0000 (09:16 +0200)
commit29ef41db6612a4a286e8744c04039bb688815938
tree2cc6d6717a22c3483f79b4f21a79dd7c708661e0
parent245f5458fa47701f122c140023bf87ec5edb53eb
x86/cpu: Add consistent CPU match macros

commit 849c532f3202f7386cfa6c5f26e00134e94fb592 upstream.

Finding all places which build x86_cpu_id match tables is tedious and the
logic is hidden in lots of differently named macro wrappers.

Most of these initializer macros use plain C89 initializers which rely on
the ordering of the struct members. So new members could only be added at
the end of the struct, but that's ugly as hell and C99 initializers are
really the right thing to use.

Provide a set of macros which:

  - Have a proper naming scheme, starting with X86_MATCH_

  - Use C99 initializers

The set of provided macros are all subsets of the base macro

    X86_MATCH_VENDOR_FAM_MODEL_FEATURE()

which allows to supply all possible selection criteria:

      vendor, family, model, feature

The other macros shorten this to avoid typing all arguments when they are
not needed and would require one of the _ANY constants. They have been
created due to the requirements of the existing usage sites.

Also add a few model constants for Centaur CPUs and QUARK.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lkml.kernel.org/r/20200320131508.826011988@linutronix.de
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/cpu_device_id.h
arch/x86/include/asm/intel-family.h
arch/x86/kernel/cpu/match.c