lib/crypto: powerpc/sha1: Migrate optimized code into library
authorEric Biggers <ebiggers@kernel.org>
Sat, 12 Jul 2025 23:23:01 +0000 (16:23 -0700)
committerEric Biggers <ebiggers@kernel.org>
Mon, 14 Jul 2025 18:11:49 +0000 (11:11 -0700)
commit6b9ae8cfaa7abc65f9fc8bd93f0c707c31b7ce85
tree6e0fff32d89b27076a34d1bf2e05bafce327a4c8
parentb6ac1dac2f18d1f9714804654ad0643d5aeef4d5
lib/crypto: powerpc/sha1: Migrate optimized code into library

Instead of exposing the powerpc-optimized SHA-1 code via
powerpc-specific crypto_shash algorithms, instead just implement the
sha1_blocks() library function.  This is much simpler, it makes the
SHA-1 library functions be powerpc-optimized, and it fixes the
longstanding issue where the powerpc-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.

Note: to see the diff from arch/powerpc/crypto/sha1-spe-glue.c to
lib/crypto/powerpc/sha1.h, view this commit with 'git show -M10'.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250712232329.818226-11-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
14 files changed:
arch/powerpc/configs/44x/akebono_defconfig
arch/powerpc/configs/powernv_defconfig
arch/powerpc/configs/ppc64_defconfig
arch/powerpc/crypto/Kconfig
arch/powerpc/crypto/Makefile
arch/powerpc/crypto/sha1-powerpc-asm.S [deleted file]
arch/powerpc/crypto/sha1-spe-asm.S [deleted file]
arch/powerpc/crypto/sha1-spe-glue.c [deleted file]
arch/powerpc/crypto/sha1.c [deleted file]
lib/crypto/Kconfig
lib/crypto/Makefile
lib/crypto/powerpc/sha1-powerpc-asm.S [new file with mode: 0644]
lib/crypto/powerpc/sha1-spe-asm.S [new file with mode: 0644]
lib/crypto/powerpc/sha1.h [new file with mode: 0644]