linux/arch/arm64/tools/gen-cpucaps.awk
<<
>>
Prefs
   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_CPUCAPS_H"
  19        print "#define __ASM_CPUCAPS_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_%-30s\t%d\n", $0, cap_num++)
  28        next
  29}
  30
  31END {
  32        printf("#define ARM64_NCAPS\t\t\t\t%d\n", cap_num)
  33        print ""
  34        print "#endif /* __ASM_CPUCAPS_H */"
  35}
  36
  37# Any lines not handled by previous rules are unexpected
  38{
  39        fatal("unhandled statement")
  40}
  41