LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> To: Steven Rostedt <rostedt@goodmis.org> Cc: paulus@samba.org, linuxppc-dev@ozlabs.org, LKML <linux-kernel@vger.kernel.org> Subject: Re: [PATCH] add strncmp to PowerPC Date: Sat, 01 Mar 2008 14:04:50 +1100 [thread overview] Message-ID: <1204340690.15052.457.camel@pasglop> (raw) In-Reply-To: <1204301097.14759.6.camel@localhost.localdomain> On Fri, 2008-02-29 at 11:04 -0500, Steven Rostedt wrote: > strncmp is defined in assembly for bootup, but it is not defined in the > normal running kernel. This patch takes the strncmp code from the bootup > and copies it to the kernel proper. > > Signed-off-by: Steven Rostedt <srostedt@redhat.com> > --- Do we have any indication that it performs better than the C one ? Ben. > arch/powerpc/kernel/ppc_ksyms.c | 1 + > arch/powerpc/lib/string.S | 12 ++++++++++++ > include/asm-powerpc/string.h | 2 ++ > 3 files changed, 15 insertions(+) > > Index: linux-sched-devel.git/arch/powerpc/kernel/ppc_ksyms.c > =================================================================== > --- linux-sched-devel.git.orig/arch/powerpc/kernel/ppc_ksyms.c 2008-02-27 14:01:38.000000000 -0800 > +++ linux-sched-devel.git/arch/powerpc/kernel/ppc_ksyms.c 2008-02-29 07:24:22.000000000 -0800 > @@ -78,6 +78,7 @@ EXPORT_SYMBOL(strncpy); > EXPORT_SYMBOL(strcat); > EXPORT_SYMBOL(strlen); > EXPORT_SYMBOL(strcmp); > +EXPORT_SYMBOL(strncmp); > > EXPORT_SYMBOL(csum_partial); > EXPORT_SYMBOL(csum_partial_copy_generic); > Index: linux-sched-devel.git/arch/powerpc/lib/string.S > =================================================================== > --- linux-sched-devel.git.orig/arch/powerpc/lib/string.S 2008-02-27 14:01:38.000000000 -0800 > +++ linux-sched-devel.git/arch/powerpc/lib/string.S 2008-02-29 07:24:22.000000000 -0800 > @@ -75,6 +75,18 @@ _GLOBAL(strcmp) > beq 1b > blr > > +_GLOBAL(strncmp) > + mtctr r5 > + addi r5,r3,-1 > + addi r4,r4,-1 > +1: lbzu r3,1(r5) > + cmpwi 1,r3,0 > + lbzu r0,1(r4) > + subf. r3,r0,r3 > + beqlr 1 > + bdnzt eq,1b > + blr > + > _GLOBAL(strlen) > addi r4,r3,-1 > 1: lbzu r0,1(r4) > Index: linux-sched-devel.git/include/asm-powerpc/string.h > =================================================================== > --- linux-sched-devel.git.orig/include/asm-powerpc/string.h 2008-02-27 14:01:58.000000000 -0800 > +++ linux-sched-devel.git/include/asm-powerpc/string.h 2008-02-29 07:24:22.000000000 -0800 > @@ -7,6 +7,7 @@ > #define __HAVE_ARCH_STRNCPY > #define __HAVE_ARCH_STRLEN > #define __HAVE_ARCH_STRCMP > +#define __HAVE_ARCH_STRNCMP > #define __HAVE_ARCH_STRCAT > #define __HAVE_ARCH_MEMSET > #define __HAVE_ARCH_MEMCPY > @@ -18,6 +19,7 @@ extern char * strcpy(char *,const char * > extern char * strncpy(char *,const char *, __kernel_size_t); > extern __kernel_size_t strlen(const char *); > extern int strcmp(const char *,const char *); > +extern int strncmp(const char *,const char *,__kernel_size_t); > extern char * strcat(char *, const char *); > extern void * memset(void *,int,__kernel_size_t); > extern void * memcpy(void *,const void *,__kernel_size_t); > > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-dev
next prev parent reply other threads:[~2008-03-01 3:05 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-02-29 16:04 [PATCH] add strncmp to PowerPC Steven Rostedt 2008-03-01 3:04 ` Benjamin Herrenschmidt [this message] 2008-03-01 3:56 ` Steven Rostedt 2008-03-03 9:54 ` Gabriel Paubert 2008-03-03 10:10 ` Andreas Schwab 2008-03-03 19:08 ` Segher Boessenkool 2008-03-05 4:03 ` Paul Mackerras 2008-03-05 5:26 ` Segher Boessenkool 2008-03-05 5:39 ` Paul Mackerras 2008-03-05 7:01 ` Segher Boessenkool
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1204340690.15052.457.camel@pasglop \ --to=benh@kernel.crashing.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxppc-dev@ozlabs.org \ --cc=paulus@samba.org \ --cc=rostedt@goodmis.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).