From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Landley Subject: PATCH [3/3]: Convert kernel/cpu/mkcapflags.pl to kernel/cpu/mkcapflags.sh Date: Sat, 3 Jan 2009 19:29:31 -0600 Message-ID: <200901031929.32074.rob@landley.net> References: <200901020207.30359.rob@landley.net> <200901031924.15869.rob@landley.net> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <200901031924.15869.rob@landley.net> Content-Disposition: inline Sender: linux-embedded-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Embedded Linux mailing list Cc: linux-kernel@vger.kernel.org, Andrew Morton , "H. Peter Anvin" , Sam Ravnborg RnJvbTogUm9iIExhbmRsZXkgPHJvYkBsYW5kbGV5Lm5ldD4KCkNvbnZlcnQga2VybmVsL2NwdS9t a2NhcGZsYWdzLnBsIHRvIGtlcm5lbC9jcHUvbWtjYXBmbGFncy5zaC4KClRoaXMgc2NyaXB0IGdl bmVyYXRlcyBrZXJuZWwvY3B1L2NhcGZsYWdzLmMgZnJvbSBpbmNsdWRlL2FzbS9jcHVmZWF0dXJl LmguCgpDaGFuZ2VzIGZyb20gbGFzdCB0aW1lOiBjaGFuZ2VkIHNoZWJhbmcgdG8gIyEvYmluL3No IGFuZCB0ZXN0ZWQgdW5kZXIgYmFzaAphbmQgZGFzaC4KClNpZ25lZC1vZmYtYnk6IFJvYiBMYW5k bGV5IDxyb2JAbGFuZGxleS5uZXQ+Ci0tLQoKIGFyY2gveDg2L2tlcm5lbC9jcHUvTWFrZWZpbGUg ICAgICB8ICAgIDQgKy0tCiBhcmNoL3g4Ni9rZXJuZWwvY3B1L21rY2FwZmxhZ3MucGwgfCAgIDMy IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGFyY2gveDg2L2tlcm5lbC9jcHUvbWtjYXBm bGFncy5zaCB8ICAgMjggKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQs IDMwIGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtcnVOIGxpbnV4LTIuNi4y OC9hcmNoL3g4Ni9rZXJuZWwvY3B1L01ha2VmaWxlIGxpbnV4LTIuNi4yOC1uZXcvYXJjaC94ODYv a2VybmVsL2NwdS9NYWtlZmlsZQotLS0gbGludXgtMi42LjI4L2FyY2gveDg2L2tlcm5lbC9jcHUv TWFrZWZpbGUJMjAwOC0xMi0yNCAxNzoyNjozNy4wMDAwMDAwMDAgLTA2MDAKKysrIGxpbnV4LTIu Ni4yOC1uZXcvYXJjaC94ODYva2VybmVsL2NwdS9NYWtlZmlsZQkyMDA5LTAxLTAyIDAxOjEwOjAw LjAwMDAwMDAwMCAtMDYwMApAQCAtMjMsMTAgKzIzLDEwIEBACiBvYmotJChDT05GSUdfWDg2X0xP Q0FMX0FQSUMpICs9IHBlcmZjdHItd2F0Y2hkb2cubwogCiBxdWlldF9jbWRfbWtjYXBmbGFncyA9 IE1LQ0FQICAgJEAKLSAgICAgIGNtZF9ta2NhcGZsYWdzID0gJChQRVJMKSAkKHNyY3RyZWUpLyQo c3JjKS9ta2NhcGZsYWdzLnBsICQ8ICRACisgICAgICBjbWRfbWtjYXBmbGFncyA9ICQoQ09ORklH X1NIRUxMKSAkKHNyY3RyZWUpLyQoc3JjKS9ta2NhcGZsYWdzLnNoICQ8ICRACiAKIGNwdWZlYXR1 cmUgPSAkKHNyYykvLi4vLi4vaW5jbHVkZS9hc20vY3B1ZmVhdHVyZS5oCiAKIHRhcmdldHMgKz0g Y2FwZmxhZ3MuYwotJChvYmopL2NhcGZsYWdzLmM6ICQoY3B1ZmVhdHVyZSkgJChzcmMpL21rY2Fw ZmxhZ3MucGwgRk9SQ0UKKyQob2JqKS9jYXBmbGFncy5jOiAkKGNwdWZlYXR1cmUpICQoc3JjKS9t a2NhcGZsYWdzLnNoIEZPUkNFCiAJJChjYWxsIGlmX2NoYW5nZWQsbWtjYXBmbGFncykKZGlmZiAt cnVOIGxpbnV4LTIuNi4yOC9hcmNoL3g4Ni9rZXJuZWwvY3B1L21rY2FwZmxhZ3MucGwgbGludXgt Mi42LjI4LW5ldy9hcmNoL3g4Ni9rZXJuZWwvY3B1L21rY2FwZmxhZ3MucGwKLS0tIGxpbnV4LTIu Ni4yOC9hcmNoL3g4Ni9rZXJuZWwvY3B1L21rY2FwZmxhZ3MucGwJMjAwOC0xMi0yNCAxNzoyNjoz Ny4wMDAwMDAwMDAgLTA2MDAKKysrIGxpbnV4LTIuNi4yOC1uZXcvYXJjaC94ODYva2VybmVsL2Nw dS9ta2NhcGZsYWdzLnBsCTE5NjktMTItMzEgMTg6MDA6MDAuMDAwMDAwMDAwIC0wNjAwCkBAIC0x LDMyICswLDAgQEAKLSMhL3Vzci9iaW4vcGVybAotIwotIyBHZW5lcmF0ZSB0aGUgeDg2X2NhcF9m bGFnc1tdIGFycmF5IGZyb20gaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAotIwotCi0oJGlu LCAkb3V0KSA9IEBBUkdWOwotCi1vcGVuKElOLCAiPCAkaW5cMCIpICAgb3IgZGllICIkMDogY2Fu bm90IG9wZW46ICRpbjogJCFcbiI7Ci1vcGVuKE9VVCwgIj4gJG91dFwwIikgb3IgZGllICIkMDog Y2Fubm90IGNyZWF0ZTogJG91dDogJCFcbiI7Ci0KLXByaW50IE9VVCAiI2luY2x1ZGUgPGFzbS9j cHVmZWF0dXJlLmg+XG5cbiI7Ci1wcmludCBPVVQgImNvbnN0IGNoYXIgKiBjb25zdCB4ODZfY2Fw X2ZsYWdzW05DQVBJTlRTKjMyXSA9IHtcbiI7Ci0KLXdoaWxlIChkZWZpbmVkKCRsaW5lID0gPElO PikpIHsKLQlpZiAoJGxpbmUgPX4gL15ccypcI1xzKmRlZmluZVxzKyhYODZfRkVBVFVSRV8oXFMr KSlccysoLiopJC8pIHsKLQkJJG1hY3JvID0gJDE7Ci0JCSRmZWF0dXJlID0gJDI7Ci0JCSR0YWls ID0gJDM7Ci0JCWlmICgkdGFpbCA9fiAvXC9cKlxzKlwiKFteIl0qKVwiLipcKlwvLykgewotCQkJ JGZlYXR1cmUgPSAkMTsKLQkJfQotCi0JCWlmICgkZmVhdHVyZSBuZSAnJykgewotCQkJcHJpbnRm IE9VVCAiXHQlLTMycyA9IFwiJXNcIixcbiIsCi0JCQkJIlskbWFjcm9dIiwgIlxMJGZlYXR1cmUi OwotCQl9Ci0JfQotfQotcHJpbnQgT1VUICJ9O1xuIjsKLQotY2xvc2UoSU4pOwotY2xvc2UoT1VU KTsKZGlmZiAtcnVOIGxpbnV4LTIuNi4yOC9hcmNoL3g4Ni9rZXJuZWwvY3B1L21rY2FwZmxhZ3Mu c2ggbGludXgtMi42LjI4LQpuZXcvYXJjaC94ODYva2VybmVsL2NwdS9ta2NhcGZsYWdzLnNoCi0t LSBsaW51eC0yLjYuMjgvYXJjaC94ODYva2VybmVsL2NwdS9ta2NhcGZsYWdzLnNoCTE5NjktMTIt MzEgMTg6MDA6MDAuMDAwMDAwMDAwIC0wNjAwCisrKyBsaW51eC0yLjYuMjgtbmV3L2FyY2gveDg2 L2tlcm5lbC9jcHUvbWtjYXBmbGFncy5zaAkyMDA5LTAxLTAyIDAxOjEwOjAwLjAwMDAwMDAwMCAt MDYwMApAQCAtMCwwICsxLDI4IEBACisjIS9iaW4vc2gKKyMKKyMgR2VuZXJhdGUgdGhlIHg4Nl9j YXBfZmxhZ3NbXSBhcnJheSBmcm9tIGluY2x1ZGUvYXNtL2NwdWZlYXR1cmUuaAorIworCitJTj0k MQorT1VUPSQyCisKKygKKwllY2hvICIjaW5jbHVkZSA8YXNtL2NwdWZlYXR1cmUuaD4iCisJZWNo byAiIgorCWVjaG8gImNvbnN0IGNoYXIgKiBjb25zdCB4ODZfY2FwX2ZsYWdzW05DQVBJTlRTKjMy XSA9IHsiCisKKwkjIEl0ZXJhdGUgdGhyb3VnaCBhbnkgaW5wdXQgbGluZXMgc3RhcnRpbmcgd2l0 aCAjZGVmaW5lIFg4Nl9GRUFUVVJFXworCXNlZCAtbiAtZSAncy9cdC8gL2cnIC1lICdzL14gKiMg KmRlZmluZSAqWDg2X0ZFQVRVUkVfLy9wJyAkSU4gfAorCXdoaWxlIHJlYWQgaQorCWRvCisJCSMg TmFtZSBpcyBldmVyeXRoaW5nIHVwIHRvIHRoZSBmaXJzdCB3aGl0ZXNwYWNlCisJCU5BTUU9IiQo ZWNobyAiJGkiIHwgc2VkICdzLyAuKi8vJykiCisKKwkJIyBJZiB0aGUgLyogY29tbWVudCAqLyBz dGFydHMgd2l0aCBhIHF1b3RlIHN0cmluZywgZ3JhYiB0aGF0LgorCQlWQUxVRT0iJChlY2hvICIk aSIgfCBzZWQgLW4gJ3NALiovXCogKlwoIlteIl0qIlwpLipcKi9AXDFAcCcpIgorCQlbIC16ICIk VkFMVUUiIF0gJiYgVkFMVUU9IlwiJChlY2hvICIkTkFNRSIgfCB0ciBBLVogYS16KVwiIgorCisJ CVsgIiRWQUxVRSIgIT0gJyIiJyBdICYmIGVjaG8gIglbWDg2X0ZFQVRVUkVfJE5BTUVdID0gJFZB TFVFLCIKKwlkb25lCisJZWNobyAifTsiCispID4gJE9VVAoACg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755502AbZADB3p (ORCPT ); Sat, 3 Jan 2009 20:29:45 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751567AbZADB3g (ORCPT ); Sat, 3 Jan 2009 20:29:36 -0500 Received: from static-71-162-243-5.phlapa.fios.verizon.net ([71.162.243.5]:35232 "EHLO grelber.thyrsus.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750863AbZADB3f (ORCPT ); Sat, 3 Jan 2009 20:29:35 -0500 From: Rob Landley Organization: Boundaries Unlimited To: Embedded Linux mailing list Subject: PATCH [3/3]: Convert kernel/cpu/mkcapflags.pl to kernel/cpu/mkcapflags.sh Date: Sat, 3 Jan 2009 19:29:31 -0600 User-Agent: KMail/1.10.1 (Linux/2.6.27-7-generic; KDE/4.1.2; x86_64; ; ) Cc: linux-kernel@vger.kernel.org, Andrew Morton , "H. Peter Anvin" , Sam Ravnborg References: <200901020207.30359.rob@landley.net> <200901031924.15869.rob@landley.net> In-Reply-To: <200901031924.15869.rob@landley.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Message-Id: <200901031929.32074.rob@landley.net> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by alpha id n041TmwM029252 From: Rob Landley 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 --- 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 \n\n";-print OUT "const char * const x86_cap_flags[NCAPINTS*32] = {\n";--while (defined($line = )) {- 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 "+ 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+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I