aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/string.h
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2021-09-02 17:00:19 +0200
committerTom Rini <trini@konsulko.com>2021-09-24 07:49:16 -0400
commit4e062fc955b684d004b252b33b006a6a16899f5c (patch)
tree8e378b623cd2b5f2d9883b93aa7afa9feb5ff42e /arch/arm/include/asm/string.h
parent1e43bb67325f708c6bbfa64f584b29f865ee634c (diff)
arm64: Kconfig: Enable usage of optimized memset/memcpy/memmove
This patch enables the use of the optimized memset(), memmove() & memcpy() versions recently added on ARM64. Please note that these optimized functions are now only enabled for recent GCC versions (>= 9.4), as earlier GCC versions throw these errors: aarch64-linux-ar: warning: arch/arm/lib/memset-arm64.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0000000 ... Signed-off-by: Stefan Roese <sr@denx.de> [trini: Make this default to off as it causes problems on some platforms still] Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'arch/arm/include/asm/string.h')
-rw-r--r--arch/arm/include/asm/string.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h
index 11eaa34fab..ead3f2c356 100644
--- a/arch/arm/include/asm/string.h
+++ b/arch/arm/include/asm/string.h
@@ -19,7 +19,11 @@ extern char * strchr(const char * s, int c);
#endif
extern void * memcpy(void *, const void *, __kernel_size_t);
+#if CONFIG_IS_ENABLED(USE_ARCH_MEMMOVE)
+#define __HAVE_ARCH_MEMMOVE
+#else
#undef __HAVE_ARCH_MEMMOVE
+#endif
extern void * memmove(void *, const void *, __kernel_size_t);
#undef __HAVE_ARCH_MEMCHR