mirror-linux/arch/powerpc/crypto
Eric Biggers 68546e5632 lib/crypto: curve25519: Consolidate into single module
Reorganize the Curve25519 library code:

- Build a single libcurve25519 module, instead of up to three modules:
  libcurve25519, libcurve25519-generic, and an arch-specific module.

- Move the arch-specific Curve25519 code from arch/$(SRCARCH)/crypto/ to
  lib/crypto/$(SRCARCH)/.  Centralize the build rules into
  lib/crypto/Makefile and lib/crypto/Kconfig.

- Include the arch-specific code directly in lib/crypto/curve25519.c via
  a header, rather than using a separate .c file.

- Eliminate the entanglement with CRYPTO.  CRYPTO_LIB_CURVE25519 no
  longer selects CRYPTO, and the arch-specific Curve25519 code no longer
  depends on CRYPTO.

This brings Curve25519 in line with the latest conventions for
lib/crypto/, used by other algorithms.  The exception is that I kept the
generic code in separate translation units for now.  (Some of the
function names collide between the x86 and generic Curve25519 code.  And
the Curve25519 functions are very long anyway, so inlining doesn't
matter as much for Curve25519 as it does for some other algorithms.)

Link: https://lore.kernel.org/r/20250906213523.84915-11-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
2025-09-06 16:32:43 -07:00
..
.gitignore powerpc/crypto: Add generated P8 asm to .gitignore 2024-06-04 17:45:46 +10:00
Kconfig lib/crypto: curve25519: Consolidate into single module 2025-09-06 16:32:43 -07:00
Makefile lib/crypto: curve25519: Consolidate into single module 2025-09-06 16:32:43 -07:00
aes-gcm-p10-glue.c crypto: skcipher - Make skcipher_walk src.virt.addr const 2025-03-15 16:21:22 +08:00
aes-gcm-p10.S crypto: powerpc/p10-aes-gcm - Re-write AES/GCM stitched implementation 2024-10-05 13:22:05 +08:00
aes-spe-core.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes-spe-glue.c cyrpto: powerpc/aes - delete the rebundant word "block" in comments 2022-07-22 16:22:04 +08:00
aes-spe-keys.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes-spe-modes.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes-spe-regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes-tab-4k.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
aes.c crypto: powerpc - Include uaccess.h and others 2025-04-16 15:36:23 +08:00
aes_cbc.c crypto: powerpc - Include uaccess.h and others 2025-04-16 15:36:23 +08:00
aes_ctr.c crypto: powerpc - Include uaccess.h and others 2025-04-16 15:36:23 +08:00
aes_xts.c crypto: powerpc - Include uaccess.h and others 2025-04-16 15:36:23 +08:00
aesp8-ppc.h crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
aesp8-ppc.pl crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
aesp10-ppc.pl powerpc/crypto: Fix aes-gcm-p10 link errors 2023-05-30 15:50:32 +10:00
ghash.c crypto: powerpc/ghash - Use API partial block handling 2025-04-23 11:33:47 +08:00
ghashp8-ppc.pl crypto: vmx - Move to arch/powerpc/crypto 2024-01-26 16:36:57 +08:00
ghashp10-ppc.pl powerpc/crypto: Fix aes-gcm-p10 link errors 2023-05-30 15:50:32 +10:00
ppc-xlate.pl crypto: p10-aes-gcm - A perl script to process PowerPC assembler source. 2023-03-14 17:06:43 +08:00
vmx.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00