lkml.org 
[lkml]   [2024]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v1 0/3] x86/cpufeatures: Automatical ly generate required and disabled feature masks
On March 18, 2024 10:01:19 AM PDT, Xin Li <xin@zytor.com> wrote:
>On 1/31/2024 9:46 PM, Xin Li (Intel) wrote:
>> When a CPU feature is not configured, e.g., CONFIG_X86_FRED=n, in a
>> build config, its feature disable flag, e.g. DISABLE_FRED, needs to
>> be defined and added to a specific disabled CPU features mask in
>> <asm/disabled-features.h>, as the following commit:
>> https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?h=x86/fred&id=e554a8ca49d6d6d782f546ae4d7f036946e7dd87
>>
>> This patch set adds an awk script to automatically generate a header
>> with required and disabled CPU features masks based on build config.
>
>A gentle ping.
>
>This is an infrastructural improvement which has a lower priority,
>however it would be nice to get some feedback first.
>
>Thanks!
> Xin
>
>
>>
>>
>> H. Peter Anvin (Intel) (2):
>> x86/cpufeatures: Add {required,disabled} feature configs
>> x86/cpufeatures: Generate a feature mask header based on build config
>>
>> Xin Li (Intel) (1):
>> x86/cpufeatures: Remove {disabled,required}-features.h
>>
>> arch/x86/Kconfig | 4 +-
>> arch/x86/Kconfig.cpu | 16 +-
>> arch/x86/Kconfig.cpufeatures | 149 +++++++++++++++++
>> arch/x86/Makefile | 17 +-
>> arch/x86/boot/cpucheck.c | 3 +-
>> arch/x86/boot/cpuflags.c | 1 -
>> arch/x86/boot/mkcpustr.c | 3 +-
>> arch/x86/include/asm/Kbuild | 1 +
>> arch/x86/include/asm/asm-prototypes.h | 2 +-
>> arch/x86/include/asm/atomic64_32.h | 2 +-
>> arch/x86/include/asm/bitops.h | 4 +-
>> arch/x86/include/asm/cmpxchg_32.h | 4 +-
>> arch/x86/include/asm/cpufeature.h | 1 +
>> arch/x86/include/asm/cpufeatures.h | 8 -
>> arch/x86/include/asm/disabled-features.h | 154 ------------------
>> arch/x86/include/asm/required-features.h | 104 ------------
>> arch/x86/kernel/verify_cpu.S | 1 +
>> arch/x86/lib/Makefile | 2 +-
>> arch/x86/lib/cmpxchg8b_emu.S | 2 +-
>> arch/x86/tools/featuremasks.awk | 108 ++++++++++++
>> lib/atomic64_test.c | 2 +-
>> tools/arch/x86/include/asm/cpufeatures.h | 8 -
>> .../arch/x86/include/asm/disabled-features.h | 154 ------------------
>> .../arch/x86/include/asm/required-features.h | 104 ------------
>> tools/perf/check-headers.sh | 2 -
>> 25 files changed, 303 insertions(+), 553 deletions(-)
>> create mode 100644 arch/x86/Kconfig.cpufeatures
>> delete mode 100644 arch/x86/include/asm/disabled-features.h
>> delete mode 100644 arch/x86/include/asm/required-features.h
>> create mode 100755 arch/x86/tools/featuremasks.awk
>> delete mode 100644 tools/arch/x86/include/asm/disabled-features.h
>> delete mode 100644 tools/arch/x86/include/asm/required-features.h
>>
>>
>> base-commit: 078b7b997b47c7166c1240cf1d39db9f646a56be
>

A key pay of this is that it eliminates the need to manually assign features to cpufeature words. It was one thing when there were four of them, but with over 20 it is going to cause mistakes.

\
 
 \ /
  Last update: 2024-05-27 15:53    [W:0.068 / U:0.416 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site