summaryrefslogtreecommitdiff
path: root/lib/crypto/Makefile
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@kernel.org>2025-07-12 16:22:58 -0700
committerEric Biggers <ebiggers@kernel.org>2025-07-14 11:11:29 -0700
commit70cb6ca58fddb02e269fe743ba75d53d577b5b1c (patch)
treefc0f7e08c047a35fbf765981731a6b24cb9fc652 /lib/crypto/Makefile
parentb10a74abcfc5c61afc63a567c457038be57eeb6e (diff)
lib/crypto: arm/sha1: Migrate optimized code into library
Instead of exposing the arm-optimized SHA-1 code via arm-specific crypto_shash algorithms, instead just implement the sha1_blocks() library function. This is much simpler, it makes the SHA-1 library functions be arm-optimized, and it fixes the longstanding issue where the arm-optimized SHA-1 code was disabled by default. SHA-1 still remains available through crypto_shash, but individual architectures no longer need to handle it. To match sha1_blocks(), change the type of the nblocks parameter of the assembly functions from int to size_t. The assembly functions actually already treated it as size_t. Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20250712232329.818226-8-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Diffstat (limited to 'lib/crypto/Makefile')
-rw-r--r--lib/crypto/Makefile5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile
index 0eb0906d693f..699a42133927 100644
--- a/lib/crypto/Makefile
+++ b/lib/crypto/Makefile
@@ -71,6 +71,11 @@ obj-$(CONFIG_CRYPTO_LIB_SHA1) += libsha1.o
libsha1-y := sha1.o
ifeq ($(CONFIG_CRYPTO_LIB_SHA1_ARCH),y)
CFLAGS_sha1.o += -I$(src)/$(SRCARCH)
+ifeq ($(CONFIG_ARM),y)
+libsha1-y += arm/sha1-armv4-large.o
+libsha1-$(CONFIG_KERNEL_MODE_NEON) += arm/sha1-armv7-neon.o \
+ arm/sha1-ce-core.o
+endif
endif # CONFIG_CRYPTO_LIB_SHA1_ARCH
################################################################################