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 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 \
--subject='Re: [PATCH] add strncmp to PowerPC' \
/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: link
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).