Skip to content
Snippets Groups Projects
Commit 854439ad authored by Oskar Viljasaar's avatar Oskar Viljasaar
Browse files

Import openwrt pending patch 306-mips_mem_functions_performance.patch

parent 2923cf22
Branches
No related tags found
No related merge requests found
...@@ -23,7 +23,8 @@ KBUILD_CFLAGS := $(filter-out -pg, $(KBUILD_CFLAGS)) ...@@ -23,7 +23,8 @@ KBUILD_CFLAGS := $(filter-out -pg, $(KBUILD_CFLAGS))
KBUILD_CFLAGS := $(filter-out -fstack-protector, $(KBUILD_CFLAGS)) KBUILD_CFLAGS := $(filter-out -fstack-protector, $(KBUILD_CFLAGS))
KBUILD_CFLAGS := $(KBUILD_CFLAGS) -D__KERNEL__ \ KBUILD_CFLAGS := $(KBUILD_CFLAGS) -D__KERNEL__ \
-DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull" -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull" \
-D__ZBOOT__
KBUILD_AFLAGS := $(KBUILD_AFLAGS) -D__ASSEMBLY__ \ KBUILD_AFLAGS := $(KBUILD_AFLAGS) -D__ASSEMBLY__ \
-DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \ -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \
......
...@@ -140,4 +140,42 @@ extern void *memcpy(void *__to, __const__ void *__from, size_t __n); ...@@ -140,4 +140,42 @@ 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);
#ifndef __ZBOOT__
#define memset(__s, __c, len) \
({ \
size_t __len = (len); \
void *__ret; \
if (__builtin_constant_p(len) && __len >= 64) \
__ret = memset((__s), (__c), __len); \
else \
__ret = __builtin_memset((__s), (__c), __len); \
__ret; \
})
#define memcpy(dst, src, len) \
({ \
size_t __len = (len); \
void *__ret; \
if (__builtin_constant_p(len) && __len >= 64) \
__ret = memcpy((dst), (src), __len); \
else \
__ret = __builtin_memcpy((dst), (src), __len); \
__ret; \
})
#define memmove(dst, src, len) \
({ \
size_t __len = (len); \
void *__ret; \
if (__builtin_constant_p(len) && __len >= 64) \
__ret = memmove((dst), (src), __len); \
else \
__ret = __builtin_memmove((dst), (src), __len); \
__ret; \
})
#define __HAVE_ARCH_MEMCMP
#define memcmp(src1, src2, len) __builtin_memcmp((src1), (src2), (len))
#endif
#endif /* _ASM_STRING_H */ #endif /* _ASM_STRING_H */
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
lib-y += bitops.o csum_partial.o delay.o memcpy.o memset.o \ lib-y += bitops.o csum_partial.o delay.o memcpy.o memset.o \
mips-atomic.o strncpy_user.o \ mips-atomic.o strncpy_user.o \
strnlen_user.o uncached.o strnlen_user.o uncached.o memcmp.o
obj-y += iomap.o iomap_copy.o obj-y += iomap.o iomap_copy.o
obj-$(CONFIG_PCI) += iomap-pci.o obj-$(CONFIG_PCI) += iomap-pci.o
......
/*
* copied from linux/lib/string.c
*
* Copyright (C) 1991, 1992 Linus Torvalds
*/
#include <linux/module.h>
#include <linux/string.h>
#undef memcmp
int memcmp(const void *cs, const void *ct, size_t count)
{
const unsigned char *su1, *su2;
int res = 0;
for (su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
if ((res = *su1 - *su2) != 0)
break;
return res;
}
EXPORT_SYMBOL(memcmp);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment