Commit 9b4b8feb authored by David Gibson's avatar David Gibson Committed by Paul Mackerras

[POWERPC] Add memchr() to the bootwrapper

This adds a memchr() implementation to the bootwrapper, which will
be needed when libfdt is merged in.
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent d0c3d534
...@@ -219,6 +219,19 @@ backwards_memcpy: ...@@ -219,6 +219,19 @@ backwards_memcpy:
mtctr r7 mtctr r7
b 1b 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 .globl memcmp
memcmp: memcmp:
cmpwi 0,r5,0 cmpwi 0,r5,0
......
...@@ -14,6 +14,7 @@ extern size_t strnlen(const char *s, size_t count); ...@@ -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 *memset(void *s, int c, size_t n);
extern void *memmove(void *dest, const void *src, unsigned long 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 *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); extern int memcmp(const void *s1, const void *s2, size_t n);
#endif /* _PPC_BOOT_STRING_H_ */ #endif /* _PPC_BOOT_STRING_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment