From 6150f0953bc9ad7d8d7c886eb71a5421495b6b99 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Fri, 12 Oct 2007 12:36:20 +1000 Subject: [PATCH] --- yaml --- r: 67591 b: refs/heads/master c: 9b4b8feb962f4b3e74768b7205f1f8f6cce87238 h: refs/heads/master i: 67589: 6eb53f06c948dfcf19132b1b40b9dc5a1364f9ba 67587: 40f5e47554d94a222eee8f311ae05005c7f02450 67583: 7d723b3957ba0fa14ccd60f00332d283f39b1ac2 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/boot/string.S | 13 +++++++++++++ trunk/arch/powerpc/boot/string.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2a951b8f3407..49a55495e5a2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d0c3d534a4388a465101b634a95f2ec586415254 +refs/heads/master: 9b4b8feb962f4b3e74768b7205f1f8f6cce87238 diff --git a/trunk/arch/powerpc/boot/string.S b/trunk/arch/powerpc/boot/string.S index 2627558bcb71..643e4cb2f11d 100644 --- a/trunk/arch/powerpc/boot/string.S +++ b/trunk/arch/powerpc/boot/string.S @@ -219,6 +219,19 @@ backwards_memcpy: mtctr r7 b 1b + .globl memchr +memchr: + cmpwi 0,r5,0 + blelr + mtctr r5 + addi r3,r3,-1 +1: lbzu r0,1(r3) + cmpw r0,r4 + beqlr + bdnz 1b + li r3,0 + blr + .globl memcmp memcmp: cmpwi 0,r5,0 diff --git a/trunk/arch/powerpc/boot/string.h b/trunk/arch/powerpc/boot/string.h index 4650030d1040..50091cc0eed9 100644 --- a/trunk/arch/powerpc/boot/string.h +++ b/trunk/arch/powerpc/boot/string.h @@ -14,6 +14,7 @@ extern size_t strnlen(const char *s, size_t count); extern void *memset(void *s, int c, size_t n); extern void *memmove(void *dest, const void *src, unsigned long n); extern void *memcpy(void *dest, const void *src, unsigned long n); +extern void *memchr(const void *s, int c, size_t n); extern int memcmp(const void *s1, const void *s2, size_t n); #endif /* _PPC_BOOT_STRING_H_ */