aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/Kconfig
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/Kconfig
parent1e43bb67325f708c6bbfa64f584b29f865ee634c (diff)
downloadu-boot-4e062fc955b684d004b252b33b006a6a16899f5c.zip
u-boot-4e062fc955b684d004b252b33b006a6a16899f5c.tar.gz
u-boot-4e062fc955b684d004b252b33b006a6a16899f5c.tar.bz2
arm64: Kconfig: Enable usage of optimized memset/memcpy/memmoveWIP/2021-09-24-arm64-optimized-str-funcs
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/Kconfig')
-rw-r--r--arch/arm/Kconfig43
1 files changed, 35 insertions, 8 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 95102d3..9c4787f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -455,8 +455,8 @@ config ARM_CORTEX_CPU_IS_UP
config USE_ARCH_MEMCPY
bool "Use an assembly optimized implementation of memcpy"
- default y
- depends on !ARM64
+ default y if !ARM64
+ depends on !ARM64 || (ARM64 && (GCC_VERSION >= 90400))
help
Enable the generation of an optimized version of memcpy.
Such an implementation may be faster under some conditions
@@ -465,7 +465,7 @@ config USE_ARCH_MEMCPY
config SPL_USE_ARCH_MEMCPY
bool "Use an assembly optimized implementation of memcpy for SPL"
default y if USE_ARCH_MEMCPY
- depends on !ARM64 && SPL
+ depends on SPL
help
Enable the generation of an optimized version of memcpy.
Such an implementation may be faster under some conditions
@@ -474,16 +474,43 @@ config SPL_USE_ARCH_MEMCPY
config TPL_USE_ARCH_MEMCPY
bool "Use an assembly optimized implementation of memcpy for TPL"
default y if USE_ARCH_MEMCPY
- depends on !ARM64 && TPL
+ depends on TPL
help
Enable the generation of an optimized version of memcpy.
Such an implementation may be faster under some conditions
but may increase the binary size.
+config USE_ARCH_MEMMOVE
+ bool "Use an assembly optimized implementation of memmove" if !ARM64
+ default USE_ARCH_MEMCPY if ARM64
+ depends on ARM64
+ help
+ Enable the generation of an optimized version of memmove.
+ Such an implementation may be faster under some conditions
+ but may increase the binary size.
+
+config SPL_USE_ARCH_MEMMOVE
+ bool "Use an assembly optimized implementation of memmove for SPL" if !ARM64
+ default SPL_USE_ARCH_MEMCPY if ARM64
+ depends on SPL && ARM64
+ help
+ Enable the generation of an optimized version of memmove.
+ Such an implementation may be faster under some conditions
+ but may increase the binary size.
+
+config TPL_USE_ARCH_MEMMOVE
+ bool "Use an assembly optimized implementation of memmove for TPL" if !ARM64
+ default TPL_USE_ARCH_MEMCPY if ARM64
+ depends on TPL && ARM64
+ help
+ Enable the generation of an optimized version of memmove.
+ Such an implementation may be faster under some conditions
+ but may increase the binary size.
+
config USE_ARCH_MEMSET
bool "Use an assembly optimized implementation of memset"
- default y
- depends on !ARM64
+ default y if !ARM64
+ depends on !ARM64 || (ARM64 && (GCC_VERSION >= 90400))
help
Enable the generation of an optimized version of memset.
Such an implementation may be faster under some conditions
@@ -492,7 +519,7 @@ config USE_ARCH_MEMSET
config SPL_USE_ARCH_MEMSET
bool "Use an assembly optimized implementation of memset for SPL"
default y if USE_ARCH_MEMSET
- depends on !ARM64 && SPL
+ depends on SPL
help
Enable the generation of an optimized version of memset.
Such an implementation may be faster under some conditions
@@ -501,7 +528,7 @@ config SPL_USE_ARCH_MEMSET
config TPL_USE_ARCH_MEMSET
bool "Use an assembly optimized implementation of memset for TPL"
default y if USE_ARCH_MEMSET
- depends on !ARM64 && TPL
+ depends on TPL
help
Enable the generation of an optimized version of memset.
Such an implementation may be faster under some conditions