mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 15:11:50 +00:00
[MIPS] Remove buggy inline version of memscan.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
9bbf28a36c
commit
7e5b24ac75
@ -141,26 +141,4 @@ extern void *memcpy(void *__to, __const__ void *__from, size_t __n);
|
||||
#define __HAVE_ARCH_MEMMOVE
|
||||
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 */
|
||||
|
Loading…
Reference in New Issue
Block a user