Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
35 lines
744 B
Awk
35 lines
744 B
Awk
#!/bin/awk -f
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Copyright (c) 2025, Oracle and/or its affiliates.
|
|
#
|
|
# Usage: awk -f gen-cpu-feature-names-x86.awk cpufeatures.h > cpu-feature-names.c
|
|
#
|
|
|
|
BEGIN {
|
|
print "/* cpu feature name array generated from cpufeatures.h */"
|
|
print "/* Do not change this code. */"
|
|
print
|
|
print "static const char *cpu_feature_names[(NCAPINTS+NBUGINTS)*32] = {"
|
|
|
|
value_expr = "\\([0-9*+ ]+\\)"
|
|
}
|
|
|
|
/^#define X86_FEATURE_/ {
|
|
if (match($0, value_expr)) {
|
|
value = substr($0, RSTART + 1, RLENGTH - 2)
|
|
print "\t[" value "] = \"" $2 "\","
|
|
}
|
|
}
|
|
|
|
/^#define X86_BUG_/ {
|
|
if (match($0, value_expr)) {
|
|
value = substr($0, RSTART + 1, RLENGTH - 2)
|
|
print "\t[NCAPINTS*32+(" value ")] = \"" $2 "\","
|
|
}
|
|
}
|
|
|
|
END {
|
|
print "};"
|
|
}
|