]> git.baikalelectronics.ru Git - kernel.git/commit
x86/cpu: Add consistent CPU match macros
authorThomas Gleixner <tglx@linutronix.de>
Fri, 20 Mar 2020 13:13:47 +0000 (14:13 +0100)
committerBorislav Petkov <bp@suse.de>
Tue, 24 Mar 2020 20:17:50 +0000 (21:17 +0100)
commit849c532f3202f7386cfa6c5f26e00134e94fb592
tree926a925b7ecc2ca38c08e93a0816243bc3e4b694
parent9af5e5e410de3c0f985666192708222871ecab09
x86/cpu: Add consistent CPU match macros

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
arch/x86/include/asm/cpu_device_id.h
arch/x86/include/asm/intel-family.h
arch/x86/kernel/cpu/match.c