Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e5b24ac authored by Ralf Baechle's avatar Ralf Baechle
Browse files

[MIPS] Remove buggy inline version of memscan.

parent 9bbf28a3
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -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 */