x86/crc32: expose CRC32 functions through lib
authorEric Biggers <ebiggers@google.com>
Mon, 2 Dec 2024 01:08:38 +0000 (17:08 -0800)
committerEric Biggers <ebiggers@google.com>
Mon, 2 Dec 2024 01:23:01 +0000 (17:23 -0800)
commit55d1ecceb8d6a5c9ceff7c6528075bd0ce4e8366
tree8ed009b46e69c5a14ce0025dbe93fee584bef481
parent1e6b72e60a5a16ddda9c0669da7538f497838d0a
x86/crc32: expose CRC32 functions through lib

Move the x86 CRC32 assembly code into the lib directory and wire it up
to the library interface.  This allows it to be used without going
through the crypto API.  It remains usable via the crypto API too via
the shash algorithms that use the library interface.  Thus all the
arch-specific "shash" code becomes unnecessary and is removed.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20241202010844.144356-14-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
12 files changed:
arch/x86/Kconfig
arch/x86/crypto/Kconfig
arch/x86/crypto/Makefile
arch/x86/crypto/crc32-pclmul_asm.S [deleted file]
arch/x86/crypto/crc32-pclmul_glue.c [deleted file]
arch/x86/crypto/crc32c-intel_glue.c [deleted file]
arch/x86/crypto/crc32c-pcl-intel-asm_64.S [deleted file]
arch/x86/lib/Makefile
arch/x86/lib/crc32-glue.c [new file with mode: 0644]
arch/x86/lib/crc32-pclmul.S [new file with mode: 0644]
arch/x86/lib/crc32c-3way.S [new file with mode: 0644]
drivers/target/iscsi/Kconfig