Full support for Ginger Console
[linux-ginger.git] / arch / x86 / kernel / cpu / mkcapflags.pl
blobdfea390e16085225ffe82ffbdca3cf641d79ce90
1 #!/usr/bin/perl
3 # Generate the x86_cap_flags[] array from include/asm-x86/cpufeature.h
6 ($in, $out) = @ARGV;
8 open(IN, "< $in\0") or die "$0: cannot open: $in: $!\n";
9 open(OUT, "> $out\0") or die "$0: cannot create: $out: $!\n";
11 print OUT "#include <asm/cpufeature.h>\n\n";
12 print OUT "const char * const x86_cap_flags[NCAPINTS*32] = {\n";
14 while (defined($line = <IN>)) {
15 if ($line =~ /^\s*\#\s*define\s+(X86_FEATURE_(\S+))\s+(.*)$/) {
16 $macro = $1;
17 $feature = $2;
18 $tail = $3;
19 if ($tail =~ /\/\*\s*\"([^"]*)\".*\*\//) {
20 $feature = $1;
23 if ($feature ne '') {
24 printf OUT "\t%-32s = \"%s\",\n",
25 "[$macro]", "\L$feature";
29 print OUT "};\n";
31 close(IN);
32 close(OUT);