[MIPS] Remove buggy inline version of memscan.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
@@ -141,26 +141,4 @@ extern void *memcpy(void *__to, __const__ void *__from, size_t __n);
|
|||||||
#define __HAVE_ARCH_MEMMOVE
|
#define __HAVE_ARCH_MEMMOVE
|
||||||
extern void *memmove(void *__dest, __const__ void *__src, size_t __n);
|
extern void *memmove(void *__dest, __const__ void *__src, size_t __n);
|
||||||
|
|
||||||
#ifdef CONFIG_32BIT
|
|
||||||
#define __HAVE_ARCH_MEMSCAN
|
|
||||||
static __inline__ void *memscan(void *__addr, int __c, size_t __size)
|
|
||||||
{
|
|
||||||
char *__end = (char *)__addr + __size;
|
|
||||||
unsigned char __uc = (unsigned char) __c;
|
|
||||||
|
|
||||||
__asm__(".set\tpush\n\t"
|
|
||||||
".set\tnoat\n\t"
|
|
||||||
".set\treorder\n\t"
|
|
||||||
"1:\tbeq\t%0,%1,2f\n\t"
|
|
||||||
"addiu\t%0,1\n\t"
|
|
||||||
"lbu\t$1,-1(%0)\n\t"
|
|
||||||
"bne\t$1,%z4,1b\n"
|
|
||||||
"2:\t.set\tpop"
|
|
||||||
: "=r" (__addr), "=r" (__end)
|
|
||||||
: "0" (__addr), "1" (__end), "Jr" (__uc));
|
|
||||||
|
|
||||||
return __addr;
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_32BIT */
|
|
||||||
|
|
||||||
#endif /* _ASM_STRING_H */
|
#endif /* _ASM_STRING_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user