mirror-linux/arch/x86/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
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
aegis128-aesni-asm.S crypto: x86/aegis128 - remove unneeded RETs 2024-10-28 18:33:10 +08:00
aegis128-aesni-glue.c crypto: x86/aegis - Add missing error checks 2025-07-18 20:51:59 +10:00
aes-ctr-avx-x86_64.S crypto: x86/aes - drop the avx10_256 AES-XTS and AES-CTR code 2025-04-07 13:22:27 +08:00
aes-gcm-aesni-x86_64.S crypto: x86/aes-gcm - rewrite the AES-NI optimized AES-GCM 2024-06-07 19:47:58 +08:00
aes-gcm-avx10-x86_64.S crypto: x86/aes-gcm - tune better for AMD CPUs 2024-12-21 22:46:24 +08:00
aes-xts-avx-x86_64.S crypto: x86/aes-xts - optimize _compute_first_set_of_tweaks for AVX-512 2025-04-07 13:22:28 +08:00
aesni-intel_asm.S x86/cfi: Clean up linkage 2025-02-14 10:32:05 +01:00
aesni-intel_glue.c crypto: x86/aes - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
aria-aesni-avx-asm_64.S crypto: x86/aria - Use 16 byte alignment for GFNI constant vectors 2023-05-24 18:10:27 +08:00
aria-aesni-avx2-asm_64.S crypto: x86/aria - Use RIP-relative addressing 2023-04-20 18:20:04 +08:00
aria-avx.h crypto: x86/aria - implement aria-avx512 2023-01-06 17:15:47 +08:00
aria-gfni-avx512-asm_64.S crypto: x86/aria - Use RIP-relative addressing 2023-04-20 18:20:04 +08:00
aria_aesni_avx2_glue.c crypto: x86 - Fix build warnings about export.h 2025-06-23 16:59:38 +08:00
aria_aesni_avx_glue.c crypto: x86 - Fix build warnings about export.h 2025-06-23 16:59:38 +08:00
aria_gfni_avx512_glue.c crypto: x86/aria - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
blowfish-x86_64-asm_64.S crypto: x86/blowfish - Eliminate use of SYM_TYPED_FUNC_START in asm 2023-02-10 17:20:19 +08:00
blowfish_glue.c crypto: x86 - remove assignments of 0 to cra_alignmask 2024-12-14 17:21:44 +08:00
camellia-aesni-avx-asm_64.S x86,kcfi: Fix EXPORT_SYMBOL vs kCFI 2025-02-14 10:32:05 +01:00
camellia-aesni-avx2-asm_64.S x86,kcfi: Fix EXPORT_SYMBOL vs kCFI 2025-02-14 10:32:05 +01:00
camellia-x86_64-asm_64.S x86,kcfi: Fix EXPORT_SYMBOL vs kCFI 2025-02-14 10:32:05 +01:00
camellia.h
camellia_aesni_avx2_glue.c crypto: x86/camellia - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
camellia_aesni_avx_glue.c crypto: x86 - Fix build warnings about export.h 2025-06-23 16:59:38 +08:00
camellia_glue.c crypto: x86 - Fix build warnings about export.h 2025-06-23 16:59:38 +08:00
cast5-avx-x86_64-asm_64.S crypto: x86/cast5 - Remove unused cast5_ctr_16way 2024-10-10 17:08:02 +08:00
cast5_avx_glue.c crypto: x86/cast - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
cast6-avx-x86_64-asm_64.S crypto: x86/cast6 - Use RIP-relative addressing 2023-04-20 18:20:04 +08:00
cast6_avx_glue.c crypto: x86/cast - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
des3_ede-asm_64.S crypto: x86/des3 - Use RIP-relative addressing 2023-04-20 18:20:04 +08:00
des3_ede_glue.c crypto: skcipher - Make skcipher_walk src.virt.addr const 2025-03-15 16:21:22 +08:00
ecb_cbc_helpers.h crypto: x86 - exit fpu context earlier in ECB/CBC macros 2023-02-03 12:54:54 +08:00
ghash-clmulni-intel_asm.S crypto: x86/ghash - Use API partial block handling 2025-04-23 11:33:47 +08:00
ghash-clmulni-intel_glue.c crypto: x86/ghash - Use API partial block handling 2025-04-23 11:33:47 +08:00
glue_helper-asm-avx.S
glue_helper-asm-avx2.S
nh-avx2-x86_64.S crypto: x86/nh-avx2 - add missing vzeroupper 2024-04-12 15:07:52 +08:00
nh-sse2-x86_64.S crypto: x86/nhpoly1305 - eliminate unnecessary CFI wrappers 2022-11-25 17:39:19 +08:00
nhpoly1305-avx2-glue.c crypto: x86/nhpoly1305 - implement ->digest 2023-10-20 13:39:25 +08:00
nhpoly1305-sse2-glue.c crypto: x86/nhpoly1305 - implement ->digest 2023-10-20 13:39:25 +08:00
polyval-clmulni_asm.S
polyval-clmulni_glue.c crypto: x86/polyval - Use API partial block handling 2025-04-28 19:40:54 +08:00
serpent-avx-x86_64-asm_64.S x86,kcfi: Fix EXPORT_SYMBOL vs kCFI 2025-02-14 10:32:05 +01:00
serpent-avx.h
serpent-avx2-asm_64.S crypto: x86/serpent: Remove redundant alignments 2022-10-17 16:41:01 +02:00
serpent-sse2-i586-asm_32.S
serpent-sse2-x86_64-asm_64.S
serpent-sse2.h
serpent_avx2_glue.c crypto: x86/serpent - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
serpent_avx_glue.c crypto: x86 - Fix build warnings about export.h 2025-06-23 16:59:38 +08:00
serpent_sse2_glue.c crypto: x86/serpent - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
sm3-avx-asm_64.S - Add the call depth tracking mitigation for Retbleed which has 2022-12-14 15:03:00 -08:00
sm3_avx_glue.c crypto: x86/sm3 - Use API partial block handling 2025-04-23 15:52:47 +08:00
sm4-aesni-avx-asm_64.S crypto: x86/sm4 - Remove cfb(sm4) 2023-12-08 11:59:45 +08:00
sm4-aesni-avx2-asm_64.S crypto: x86/sm4 - Remove cfb(sm4) 2023-12-08 11:59:45 +08:00
sm4-avx.h crypto: x86/sm4 - Remove cfb(sm4) 2023-12-08 11:59:45 +08:00
sm4_aesni_avx2_glue.c crypto: x86/sm4 - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
sm4_aesni_avx_glue.c crypto: x86 - Fix build warnings about export.h 2025-06-23 16:59:38 +08:00
twofish-avx-x86_64-asm_64.S crypto: twofish: Remove redundant alignments 2022-10-17 16:41:03 +02:00
twofish-i586-asm_32.S
twofish-x86_64-asm_64-3way.S x86,kcfi: Fix EXPORT_SYMBOL vs kCFI 2025-02-14 10:32:05 +01:00
twofish-x86_64-asm_64.S x86,kcfi: Fix EXPORT_SYMBOL vs kCFI 2025-02-14 10:32:05 +01:00
twofish.h
twofish_avx_glue.c crypto: x86/twofish - stop using the SIMD helper 2025-04-07 13:22:27 +08:00
twofish_glue.c crypto: x86 - Fix build warnings about export.h 2025-06-23 16:59:38 +08:00
twofish_glue_3way.c crypto: x86 - Fix build warnings about export.h 2025-06-23 16:59:38 +08:00