mirror of
https://github.com/torvalds/linux.git
synced 2024-12-19 01:23:20 +00:00
41 lines
737 B
Awk
41 lines
737 B
Awk
|
#!/bin/awk -f
|
||
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
# gen-cpucaps.awk: arm64 cpucaps header generator
|
||
|
#
|
||
|
# Usage: awk -f gen-cpucaps.awk cpucaps.txt
|
||
|
|
||
|
# Log an error and terminate
|
||
|
function fatal(msg) {
|
||
|
print "Error at line " NR ": " msg > "/dev/stderr"
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
# skip blank lines and comment lines
|
||
|
/^$/ { next }
|
||
|
/^#/ { next }
|
||
|
|
||
|
BEGIN {
|
||
|
print "#ifndef __ASM_CPUCAPS_H"
|
||
|
print "#define __ASM_CPUCAPS_H"
|
||
|
print ""
|
||
|
print "/* Generated file - do not edit */"
|
||
|
cap_num = 0
|
||
|
print ""
|
||
|
}
|
||
|
|
||
|
/^[vA-Z0-9_]+$/ {
|
||
|
printf("#define ARM64_%-30s\t%d\n", $0, cap_num++)
|
||
|
next
|
||
|
}
|
||
|
|
||
|
END {
|
||
|
printf("#define ARM64_NCAPS\t\t\t\t%d\n", cap_num)
|
||
|
print ""
|
||
|
print "#endif"
|
||
|
}
|
||
|
|
||
|
# Any lines not handled by previous rules are unexpected
|
||
|
{
|
||
|
fatal("unhandled statement")
|
||
|
}
|