Hallo. On Fri, Feb 16, 2007 at 07:56:35PM +0100, Sam Ravnborg wrote: > On Fri, Feb 16, 2007 at 04:59:29PM +0100, Oleg Verych wrote: > > > > > > > > Proposition will follow. > > > > > > > [] > > > > > > [patch proposition] kbuild: lguest with private asm-offsets > > [] > > > * needs "asm-offsets magic demystified, generalized". > > [] > > To make asm-offset generic I had in mind something like the > following.
Then i misunderstood, what you mean, sorry. > It uses the currect functionality, and allows for architecture override > as needed - but default not used. And architecture override is kept in a > architecture specific location. > > Sam > > commit df95bb04b04ff2f64805dfa8459099ffe469c8a5 > Author: Sam Ravnborg <[EMAIL PROTECTED]> > Date: Fri Feb 16 19:51:29 2007 +0100 > > kbuild: Make asm-offset generic > > Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]> > > diff --git a/include/asm-generic/asm-offset b/include/asm-generic/asm-offset > new file mode 100644 > index 0000000..5e5629e > --- /dev/null > +++ b/include/asm-generic/asm-offset > @@ -0,0 +1,30 @@ > +# > +# Support generating constant useable from assembler but defined on C-level > +# > +# See usage in top-level Kbuild file > + > +# Default sed regexp - multiline due to syntax constraints > +define sed-y > + "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; > s:->::; p;}" > +endef > + > +# let architectures override the sed expression as needed > +-include include/asm/asm-offset > + > +quiet_cmd_offsets = GEN $@ > +define cmd_offsets > + (set -e; \ > + echo "#ifndef __ASM_OFFSETS_H__"; \ > + echo "#define __ASM_OFFSETS_H__"; \ > + echo "/*"; \ > + echo " * DO NOT MODIFY."; \ > + echo " *"; \ > + echo " * This file was generated by Kbuild"; \ > + echo " *"; \ > + echo " */"; \ > + echo ""; \ > + sed -ne $(sed-y) $<; \ > + echo ""; \ > + echo "#endif" ) > $@ > +endef > + > diff --git a/include/asm-mips/asm-offset b/include/asm-mips/asm-offset > new file mode 100644 > index 0000000..b2eb959 > --- /dev/null > +++ b/include/asm-mips/asm-offset > @@ -0,0 +1,4 @@ > +# Override default sed for MIPS when generating asm-offset > +sed-$(CONFIG_MIPS) := "/^@@@/{s/^@@@//; s/ \#.*\$$//; p;}" > + > + > diff --git a/Kbuild b/Kbuild > index 0451f69..0a32f5f 100644 > --- a/Kbuild > +++ b/Kbuild > @@ -1,5 +1,8 @@ > # > # Kbuild for top-level directory of the kernel > + > + > + > # This file takes care of the following: > # 1) Generate asm-offsets.h > > @@ -7,36 +10,14 @@ ##### > # 1) Generate asm-offsets.h > # > > +include include/asm-generic/asm-offset > + > offsets-file := include/asm-$(ARCH)/asm-offsets.h > > always := $(offsets-file) > targets := $(offsets-file) > targets += arch/$(ARCH)/kernel/asm-offsets.s > > -# Default sed regexp - multiline due to syntax constraints > -define sed-y > - "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; > s:->::; p;}" > -endef > -# Override default regexp for specific architectures > -sed-$(CONFIG_MIPS) := "/^@@@/{s/^@@@//; s/ \#.*\$$//; p;}" > - > -quiet_cmd_offsets = GEN $@ > -define cmd_offsets > - (set -e; \ > - echo "#ifndef __ASM_OFFSETS_H__"; \ > - echo "#define __ASM_OFFSETS_H__"; \ > - echo "/*"; \ > - echo " * DO NOT MODIFY."; \ > - echo " *"; \ > - echo " * This file was generated by Kbuild"; \ > - echo " *"; \ > - echo " */"; \ > - echo ""; \ > - sed -ne $(sed-y) $<; \ > - echo ""; \ > - echo "#endif" ) > $@ > -endef > - > # We use internal kbuild rules to avoid the "is up to date" message from make > arch/$(ARCH)/kernel/asm-offsets.s: arch/$(ARCH)/kernel/asm-offsets.c FORCE > $(Q)mkdir -p $(dir $@) Thanks. ____ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/