PATCH [3/3]: Convert kernel/cpu/mkcapflags.pl to kernel/cpu/mkcapflags.sh

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Rob Landley <rob@xxxxxxxxxxx>
Convert kernel/cpu/mkcapflags.pl to kernel/cpu/mkcapflags.sh.
This script generates kernel/cpu/capflags.c from include/asm/cpufeature.h.
Changes from last time: changed shebang to #!/bin/sh and tested under bashand dash.
Signed-off-by: Rob Landley <rob@xxxxxxxxxxx>---
 arch/x86/kernel/cpu/Makefile      |    4 +-- arch/x86/kernel/cpu/mkcapflags.pl |   32 ---------------------------- arch/x86/kernel/cpu/mkcapflags.sh |   28 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 34 deletions(-)
diff -ruN linux-2.6.28/arch/x86/kernel/cpu/Makefile linux-2.6.28-new/arch/x86/kernel/cpu/Makefile--- linux-2.6.28/arch/x86/kernel/cpu/Makefile	2008-12-24 17:26:37.000000000 -0600+++ linux-2.6.28-new/arch/x86/kernel/cpu/Makefile	2009-01-02 01:10:00.000000000 -0600@@ -23,10 +23,10 @@ obj-$(CONFIG_X86_LOCAL_APIC) += perfctr-watchdog.o  quiet_cmd_mkcapflags = MKCAP   $@-      cmd_mkcapflags = $(PERL) $(srctree)/$(src)/mkcapflags.pl $< $@+      cmd_mkcapflags = $(CONFIG_SHELL) $(srctree)/$(src)/mkcapflags.sh $< $@  cpufeature = $(src)/../../include/asm/cpufeature.h  targets += capflags.c-$(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.pl FORCE+$(obj)/capflags.c: $(cpufeature) $(src)/mkcapflags.sh FORCE 	$(call if_changed,mkcapflags)diff -ruN linux-2.6.28/arch/x86/kernel/cpu/mkcapflags.pl linux-2.6.28-new/arch/x86/kernel/cpu/mkcapflags.pl--- linux-2.6.28/arch/x86/kernel/cpu/mkcapflags.pl	2008-12-24 17:26:37.000000000 -0600+++ linux-2.6.28-new/arch/x86/kernel/cpu/mkcapflags.pl	1969-12-31 18:00:00.000000000 -0600@@ -1,32 +0,0 @@-#!/usr/bin/perl-#-# Generate the x86_cap_flags[] array from include/asm-x86/cpufeature.h-#--($in, $out) = @ARGV;--open(IN, "< $in\0")   or die "$0: cannot open: $in: $!\n";-open(OUT, "> $out\0") or die "$0: cannot create: $out: $!\n";--print OUT "#include <asm/cpufeature.h>\n\n";-print OUT "const char * const x86_cap_flags[NCAPINTS*32] = {\n";--while (defined($line = <IN>)) {-	if ($line =~ /^\s*\#\s*define\s+(X86_FEATURE_(\S+))\s+(.*)$/) {-		$macro = $1;-		$feature = $2;-		$tail = $3;-		if ($tail =~ /\/\*\s*\"([^"]*)\".*\*\//) {-			$feature = $1;-		}--		if ($feature ne '') {-			printf OUT "\t%-32s = \"%s\",\n",-				"[$macro]", "\L$feature";-		}-	}-}-print OUT "};\n";--close(IN);-close(OUT);diff -ruN linux-2.6.28/arch/x86/kernel/cpu/mkcapflags.sh linux-2.6.28-new/arch/x86/kernel/cpu/mkcapflags.sh--- linux-2.6.28/arch/x86/kernel/cpu/mkcapflags.sh	1969-12-31 18:00:00.000000000 -0600+++ linux-2.6.28-new/arch/x86/kernel/cpu/mkcapflags.sh	2009-01-02 01:10:00.000000000 -0600@@ -0,0 +1,28 @@+#!/bin/sh+#+# Generate the x86_cap_flags[] array from include/asm/cpufeature.h+#++IN=$1+OUT=$2++(+	echo "#include <asm/cpufeature.h>"+	echo ""+	echo "const char * const x86_cap_flags[NCAPINTS*32] = {"++	# Iterate through any input lines starting with #define X86_FEATURE_+	sed -n -e 's/\t/ /g' -e 's/^ *# *define *X86_FEATURE_//p' $IN |+	while read i+	do+		# Name is everything up to the first whitespace+		NAME="$(echo "$i" | sed 's/ .*//')"++		# If the /* comment */ starts with a quote string, grab that.+		VALUE="$(echo "$i" | sed -n 's@.*/\* *\("[^"]*"\).*\*/@\1@p')"+		[ -z "$VALUE" ] && VALUE="\"$(echo "$NAME" | tr A-Z a-z)\""++		[ "$VALUE" != '""' ] && echo "	[X86_FEATURE_$NAME] = $VALUE,"+	done+	echo "};"+) > $OUTÿôèº{.nÇ+?·?®?­?+%?Ëÿ±éݶ¥?wÿº{.nÇ+?·¥?{±ýé?y×^wø§¶?¡Ü¨}©?²Æ zÚ&j:+v?¨þø¯ù®w¥þ?à2?Þ?¨è­Ú&¢)ß¡«a¶Úÿÿûàz¿äz¹Þ?ú+?ù???Ý¢jÿ?wèþf


[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux