mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
crypto: arm64 - move library functions to arch/arm64/lib/crypto/
Continue disentangling the crypto library functions from the generic crypto infrastructure by moving the arm64 ChaCha and Poly1305 library functions into a new directory arch/arm64/lib/crypto/ that does not depend on CRYPTO. This mirrors the distinction between crypto/ and lib/crypto/. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
714656a846
commit
cc16e228a2
11 changed files with 39 additions and 21 deletions
|
@ -25,12 +25,6 @@ config CRYPTO_NHPOLY1305_NEON
|
|||
Architecture: arm64 using:
|
||||
- NEON (Advanced SIMD) extensions
|
||||
|
||||
config CRYPTO_POLY1305_NEON
|
||||
tristate
|
||||
depends on KERNEL_MODE_NEON
|
||||
select CRYPTO_ARCH_HAVE_LIB_POLY1305
|
||||
default CRYPTO_LIB_POLY1305_INTERNAL
|
||||
|
||||
config CRYPTO_SHA1_ARM64_CE
|
||||
tristate "Hash functions: SHA-1 (ARMv8 Crypto Extensions)"
|
||||
depends on KERNEL_MODE_NEON
|
||||
|
@ -180,13 +174,6 @@ config CRYPTO_AES_ARM64_NEON_BLK
|
|||
Architecture: arm64 using:
|
||||
- NEON (Advanced SIMD) extensions
|
||||
|
||||
config CRYPTO_CHACHA20_NEON
|
||||
tristate
|
||||
depends on KERNEL_MODE_NEON
|
||||
select CRYPTO_LIB_CHACHA_GENERIC
|
||||
select CRYPTO_ARCH_HAVE_LIB_CHACHA
|
||||
default CRYPTO_LIB_CHACHA_INTERNAL
|
||||
|
||||
config CRYPTO_AES_ARM64_BS
|
||||
tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)"
|
||||
depends on KERNEL_MODE_NEON
|
||||
|
|
|
@ -62,13 +62,6 @@ sha256-arm64-y := sha256-glue.o sha256-core.o
|
|||
obj-$(CONFIG_CRYPTO_SHA512_ARM64) += sha512-arm64.o
|
||||
sha512-arm64-y := sha512-glue.o sha512-core.o
|
||||
|
||||
obj-$(CONFIG_CRYPTO_CHACHA20_NEON) += chacha-neon.o
|
||||
chacha-neon-y := chacha-neon-core.o chacha-neon-glue.o
|
||||
|
||||
obj-$(CONFIG_CRYPTO_POLY1305_NEON) += poly1305-neon.o
|
||||
poly1305-neon-y := poly1305-core.o poly1305-glue.o
|
||||
AFLAGS_poly1305-core.o += -Dpoly1305_init=poly1305_init_arm64
|
||||
|
||||
obj-$(CONFIG_CRYPTO_NHPOLY1305_NEON) += nhpoly1305-neon.o
|
||||
nhpoly1305-neon-y := nh-neon-core.o nhpoly1305-neon-glue.o
|
||||
|
||||
|
@ -87,4 +80,4 @@ $(obj)/%-core.S: $(src)/%-armv8.pl
|
|||
$(obj)/sha256-core.S: $(src)/sha512-armv8.pl
|
||||
$(call cmd,perlasm)
|
||||
|
||||
clean-files += poly1305-core.S sha256-core.S sha512-core.S
|
||||
clean-files += sha256-core.S sha512-core.S
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
obj-y += crypto/
|
||||
|
||||
lib-y := clear_user.o delay.o copy_from_user.o \
|
||||
copy_to_user.o copy_page.o \
|
||||
clear_page.o csum.o insn.o memchr.o memcpy.o \
|
||||
|
|
2
arch/arm64/lib/crypto/.gitignore
vendored
Normal file
2
arch/arm64/lib/crypto/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
poly1305-core.S
|
14
arch/arm64/lib/crypto/Kconfig
Normal file
14
arch/arm64/lib/crypto/Kconfig
Normal file
|
@ -0,0 +1,14 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
config CRYPTO_CHACHA20_NEON
|
||||
tristate
|
||||
depends on KERNEL_MODE_NEON
|
||||
default CRYPTO_LIB_CHACHA_INTERNAL
|
||||
select CRYPTO_LIB_CHACHA_GENERIC
|
||||
select CRYPTO_ARCH_HAVE_LIB_CHACHA
|
||||
|
||||
config CRYPTO_POLY1305_NEON
|
||||
tristate
|
||||
depends on KERNEL_MODE_NEON
|
||||
default CRYPTO_LIB_POLY1305_INTERNAL
|
||||
select CRYPTO_ARCH_HAVE_LIB_POLY1305
|
16
arch/arm64/lib/crypto/Makefile
Normal file
16
arch/arm64/lib/crypto/Makefile
Normal file
|
@ -0,0 +1,16 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
obj-$(CONFIG_CRYPTO_CHACHA20_NEON) += chacha-neon.o
|
||||
chacha-neon-y := chacha-neon-core.o chacha-neon-glue.o
|
||||
|
||||
obj-$(CONFIG_CRYPTO_POLY1305_NEON) += poly1305-neon.o
|
||||
poly1305-neon-y := poly1305-core.o poly1305-glue.o
|
||||
AFLAGS_poly1305-core.o += -Dpoly1305_init=poly1305_init_arm64
|
||||
|
||||
quiet_cmd_perlasm = PERLASM $@
|
||||
cmd_perlasm = $(PERL) $(<) void $(@)
|
||||
|
||||
$(obj)/%-core.S: $(src)/%-armv8.pl
|
||||
$(call cmd,perlasm)
|
||||
|
||||
clean-files += poly1305-core.S
|
|
@ -159,6 +159,9 @@ if !KMSAN # avoid false positives from assembly
|
|||
if ARM
|
||||
source "arch/arm/lib/crypto/Kconfig"
|
||||
endif
|
||||
if ARM64
|
||||
source "arch/arm64/lib/crypto/Kconfig"
|
||||
endif
|
||||
endif
|
||||
|
||||
endmenu
|
||||
|
|
Loading…
Add table
Reference in a new issue