File Index
Files and directories
Sign in
FILE

gen-cpucaps.awk

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/tools/gen-cpucaps.awk AWK
 1#!/bin/awk -f
 2# SPDX-License-Identifier: GPL-2.0
 3# gen-cpucaps.awk: arm64 cpucaps header generator
 4#
 5# Usage: awk -f gen-cpucaps.awk cpucaps.txt
 6
 7# Log an error and terminate
 8function fatal(msg) {
 9	print "Error at line " NR ": " msg > "/dev/stderr"
10	exit 1
11}
12
13# skip blank lines and comment lines
14/^$/ { next }
15/^#/ { next }
16
17BEGIN {
18	print "#ifndef __ASM_CPUCAP_DEFS_H"
19	print "#define __ASM_CPUCAP_DEFS_H"
20	print ""
21	print "/* Generated file - do not edit */"
22	cap_num = 0
23	print ""
24}
25
26/^[vA-Z0-9_]+$/ {
27	printf("#define ARM64_%-40s\t%d\n", $0, cap_num++)
28	next
29}
30
31END {
32	printf("#define ARM64_NCAPS\t\t\t\t\t%d\n", cap_num)
33	print ""
34	print "#endif /* __ASM_CPUCAP_DEFS_H */"
35}
36
37# Any lines not handled by previous rules are unexpected
38{
39	fatal("unhandled statement")
40}
~/ Read-only file preview.