[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: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
d0c3d534a4
commit
9b4b8feb96
|
@ -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);
|
||||||
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_ */
|
||||||
|
|
Loading…
Reference in New Issue