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 8 function 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 17 BEGIN { 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 31 END { 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 }
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.