lib/crypto: x86: Move arch/x86/lib/crypto/ into lib/crypto/
authorEric Biggers <ebiggers@kernel.org>
Thu, 19 Jun 2025 19:19:07 +0000 (12:19 -0700)
committerEric Biggers <ebiggers@kernel.org>
Mon, 30 Jun 2025 16:26:20 +0000 (09:26 -0700)
commit74750aa78de33794aa9ab55de15da04bd41d1ac8
treece3498ed648b95176cff53bc3dd48f96b6575c29
parenta32e93e10067d19dec302220a9124a21573e7e7e
lib/crypto: x86: Move arch/x86/lib/crypto/ into lib/crypto/

Move the contents of arch/x86/lib/crypto/ into lib/crypto/x86/.

The new code organization makes a lot more sense for how this code
actually works and is developed.  In particular, it makes it possible to
build each algorithm as a single module, with better inlining and dead
code elimination.  For a more detailed explanation, see the patchset
which did this for the CRC library code:
https://lore.kernel.org/r/20250607200454.73587-1-ebiggers@kernel.org/.
Also see the patchset which did this for SHA-512:
https://lore.kernel.org/linux-crypto/20250616014019.415791-1-ebiggers@kernel.org/

This is just a preparatory commit, which does the move to get the files
into their new location but keeps them building the same way as before.
Later commits will make the actual improvements to the way the
arch-optimized code is integrated for each algorithm.

Add a gitignore entry for the removed directory arch/x86/lib/crypto/ so
that people don't accidentally commit leftover generated files.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Sohil Mehta <sohil.mehta@intel.com>
Link: https://lore.kernel.org/r/20250619191908.134235-9-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
36 files changed:
arch/x86/lib/.gitignore
arch/x86/lib/Makefile
arch/x86/lib/crypto/.gitignore [deleted file]
arch/x86/lib/crypto/Kconfig [deleted file]
arch/x86/lib/crypto/Makefile [deleted file]
arch/x86/lib/crypto/blake2s-core.S [deleted file]
arch/x86/lib/crypto/blake2s-glue.c [deleted file]
arch/x86/lib/crypto/chacha-avx2-x86_64.S [deleted file]
arch/x86/lib/crypto/chacha-avx512vl-x86_64.S [deleted file]
arch/x86/lib/crypto/chacha-ssse3-x86_64.S [deleted file]
arch/x86/lib/crypto/chacha_glue.c [deleted file]
arch/x86/lib/crypto/poly1305-x86_64-cryptogams.pl [deleted file]
arch/x86/lib/crypto/poly1305_glue.c [deleted file]
arch/x86/lib/crypto/sha256-avx-asm.S [deleted file]
arch/x86/lib/crypto/sha256-avx2-asm.S [deleted file]
arch/x86/lib/crypto/sha256-ni-asm.S [deleted file]
arch/x86/lib/crypto/sha256-ssse3-asm.S [deleted file]
arch/x86/lib/crypto/sha256.c [deleted file]
lib/crypto/Kconfig
lib/crypto/Makefile
lib/crypto/x86/.gitignore [new file with mode: 0644]
lib/crypto/x86/Kconfig [new file with mode: 0644]
lib/crypto/x86/Makefile [new file with mode: 0644]
lib/crypto/x86/blake2s-core.S [new file with mode: 0644]
lib/crypto/x86/blake2s-glue.c [new file with mode: 0644]
lib/crypto/x86/chacha-avx2-x86_64.S [new file with mode: 0644]
lib/crypto/x86/chacha-avx512vl-x86_64.S [new file with mode: 0644]
lib/crypto/x86/chacha-ssse3-x86_64.S [new file with mode: 0644]
lib/crypto/x86/chacha_glue.c [new file with mode: 0644]
lib/crypto/x86/poly1305-x86_64-cryptogams.pl [new file with mode: 0644]
lib/crypto/x86/poly1305_glue.c [new file with mode: 0644]
lib/crypto/x86/sha256-avx-asm.S [new file with mode: 0644]
lib/crypto/x86/sha256-avx2-asm.S [new file with mode: 0644]
lib/crypto/x86/sha256-ni-asm.S [new file with mode: 0644]
lib/crypto/x86/sha256-ssse3-asm.S [new file with mode: 0644]
lib/crypto/x86/sha256.c [new file with mode: 0644]