310 lines · 7.6 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0 config CRYPTO_HASH_INFO	bool config CRYPTO_LIB_UTILS	tristate config CRYPTO_LIB_AES	tristate	# Select dependencies of modes that are part of libaes.	select CRYPTO_LIB_GF128HASH if CRYPTO_LIB_AES_GCM != n	select CRYPTO_LIB_UTILS config CRYPTO_LIB_AES_ARCH	bool	depends on CRYPTO_LIB_AES && !UML && !KMSAN	default y if ARM	default y if ARM64	default y if PPC && (SPE || (PPC64 && VSX))	default y if RISCV && 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \		     RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS	default y if S390	default y if SPARC64	default y if X86 config CRYPTO_LIB_AESCFB	tristate	select CRYPTO_LIB_AES	select CRYPTO_LIB_UTILS config CRYPTO_LIB_AES_CBC	tristate	select CRYPTO_LIB_AES	help	  The AES-CBC and AES-CBC-CTS library functions. config CRYPTO_LIB_AES_CBC_MACS	tristate	select CRYPTO_LIB_AES	help	  The AES-CMAC, AES-XCBC-MAC, and AES-CBC-MAC library functions.  Select	  this if your module uses any of the functions from	  <crypto/aes-cbc-macs.h>. config CRYPTO_LIB_AES_CCM	tristate	select CRYPTO_LIB_AES	select CRYPTO_LIB_AES_CBC_MACS	select CRYPTO_LIB_AES_CTR	help	  The AES-CCM library functions. config CRYPTO_LIB_AES_CTR	tristate	select CRYPTO_LIB_AES	help	  The AES-CTR and AES-XCTR library functions. config CRYPTO_LIB_AES_ECB	tristate	select CRYPTO_LIB_AES	help	  The AES-ECB library functions. config CRYPTO_LIB_AES_GCM	tristate	select CRYPTO_LIB_AES	select CRYPTO_LIB_AES_CTR	help	  The AES-GCM library functions. config CRYPTO_LIB_AES_XTS	tristate	select CRYPTO_LIB_AES	help	  The AES-XTS library functions. config CRYPTO_LIB_ARC4	tristate config CRYPTO_LIB_GF128MUL	tristate config CRYPTO_LIB_BLAKE2B	tristate	help	  The BLAKE2b library functions.  Select this if your module uses any of	  the functions from <crypto/blake2b.h>. config CRYPTO_LIB_BLAKE2B_ARCH	bool	depends on CRYPTO_LIB_BLAKE2B && !UML	default y if ARM && KERNEL_MODE_NEON # BLAKE2s support is always built-in, so there's no CRYPTO_LIB_BLAKE2S option. config CRYPTO_LIB_BLAKE2S_ARCH	bool	depends on !UML	default y if ARM	default y if X86_64 config CRYPTO_LIB_CHACHA	tristate	select CRYPTO_LIB_UTILS	help	  Enable the ChaCha library interface.  Select this if your module uses	  chacha_crypt() or hchacha_block(). config CRYPTO_LIB_CHACHA_ARCH	bool	depends on CRYPTO_LIB_CHACHA && !UML && !KMSAN	default y if ARM	default y if ARM64	default y if MIPS && CPU_MIPS32_R2	default y if PPC64 && CPU_LITTLE_ENDIAN && VSX	default y if RISCV && 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \		     RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS	default y if S390	default y if X86_64 config CRYPTO_LIB_CURVE25519	tristate	select CRYPTO_LIB_UTILS	help	  The Curve25519 library functions.  Select this if your module uses any	  of the functions from <crypto/curve25519.h>. config CRYPTO_LIB_CURVE25519_ARCH	bool	depends on CRYPTO_LIB_CURVE25519 && !UML && !KMSAN	default y if ARM && KERNEL_MODE_NEON && !CPU_BIG_ENDIAN	default y if PPC64 && CPU_LITTLE_ENDIAN	default y if X86_64 config CRYPTO_LIB_CURVE25519_GENERIC	bool	depends on CRYPTO_LIB_CURVE25519	default y if !CRYPTO_LIB_CURVE25519_ARCH || ARM || X86_64 config CRYPTO_LIB_DES	tristate config CRYPTO_LIB_GF128HASH	tristate	help	  The GHASH and POLYVAL library functions.  Select this if your module	  uses any of the functions from <crypto/gf128hash.h>. config CRYPTO_LIB_GF128HASH_ARCH	bool	depends on CRYPTO_LIB_GF128HASH && !UML	default y if ARM && KERNEL_MODE_NEON	default y if ARM64	default y if PPC64 && VSX	default y if RISCV && 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \		     RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS	default y if S390	default y if X86_64 config CRYPTO_LIB_MD5	tristate	help	  The MD5 and HMAC-MD5 library functions.  Select this if your module	  uses any of the functions from <crypto/md5.h>. config CRYPTO_LIB_MLDSA	tristate	select CRYPTO_LIB_SHA3	help	  The ML-DSA library functions.  Select this if your module uses any of	  the functions from <crypto/mldsa.h>. config CRYPTO_LIB_NH	tristate	help	  Implementation of the NH almost-universal hash function, specifically	  the variant of NH used in Adiantum. config CRYPTO_LIB_NH_ARCH	bool	depends on CRYPTO_LIB_NH && !UML && !KMSAN	default y if ARM && KERNEL_MODE_NEON	default y if ARM64	default y if X86_64 config CRYPTO_LIB_POLY1305	tristate	help	  The Poly1305 library functions.  Select this if your module uses any	  of the functions from <crypto/poly1305.h>. config CRYPTO_LIB_POLY1305_ARCH	bool	depends on CRYPTO_LIB_POLY1305 && !UML && !KMSAN	default y if ARM	default y if ARM64	default y if MIPS	# The PPC64 code needs to be fixed to work in softirq context.	default y if PPC64 && CPU_LITTLE_ENDIAN && VSX && BROKEN	default y if RISCV	default y if X86_64 # This symbol controls the inclusion of the Poly1305 generic code.  This differs# from most of the other algorithms, which handle the generic code# "automatically" via __maybe_unused.  This is needed so that the Adiantum code,# which calls the poly1305_core_*() functions directly, can enable them.config CRYPTO_LIB_POLY1305_GENERIC	bool	depends on CRYPTO_LIB_POLY1305	# Enable if there's no arch impl or the arch impl requires the generic	# impl as a fallback.  (Or if selected explicitly.)	default y if !CRYPTO_LIB_POLY1305_ARCH || PPC64 config CRYPTO_LIB_POLY1305_RSIZE	int	default 2 if MIPS || RISCV	default 11 if X86_64	default 9 if ARM || ARM64	default 1 config CRYPTO_LIB_CHACHA20POLY1305	tristate	select CRYPTO_LIB_CHACHA	select CRYPTO_LIB_POLY1305	select CRYPTO_LIB_UTILS config CRYPTO_LIB_SHA1	tristate	help	  The SHA-1 and HMAC-SHA1 library functions.  Select this if your module	  uses any of the functions from <crypto/sha1.h>. config CRYPTO_LIB_SHA1_ARCH	bool	depends on CRYPTO_LIB_SHA1 && !UML	default y if ARM	default y if ARM64	default y if MIPS && CPU_CAVIUM_OCTEON	default y if PPC	default y if S390	default y if SPARC64	default y if X86_64 config CRYPTO_LIB_SHA256	tristate	help	  The SHA-224, SHA-256, HMAC-SHA224, and HMAC-SHA256 library functions.	  Select this if your module uses any of these functions from	  <crypto/sha2.h>. config CRYPTO_LIB_SHA256_ARCH	bool	depends on CRYPTO_LIB_SHA256 && !UML	default y if ARM && !CPU_V7M	default y if ARM64	default y if MIPS && CPU_CAVIUM_OCTEON	default y if PPC && SPE	default y if RISCV && 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \		     RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS	default y if S390	default y if SPARC64	default y if X86_64 config CRYPTO_LIB_SHA512	tristate	help	  The SHA-384, SHA-512, HMAC-SHA384, and HMAC-SHA512 library functions.	  Select this if your module uses any of these functions from	  <crypto/sha2.h>. config CRYPTO_LIB_SHA512_ARCH	bool	depends on CRYPTO_LIB_SHA512 && !UML	default y if ARM && !CPU_V7M	default y if ARM64	default y if MIPS && CPU_CAVIUM_OCTEON	default y if RISCV && 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \		     RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS	default y if S390	default y if SPARC64	default y if X86_64 config CRYPTO_LIB_SHA3	tristate	select CRYPTO_LIB_UTILS	help	  The SHA3 library functions.  Select this if your module uses any of	  the functions from <crypto/sha3.h>. config CRYPTO_LIB_SHA3_ARCH	bool	depends on CRYPTO_LIB_SHA3 && !UML	default y if ARM64	default y if S390 config CRYPTO_LIB_SM3	tristate	help	  The SM3 library functions.  Select this if your module uses any of the	  functions from <crypto/sm3.h>. config CRYPTO_LIB_SM3_ARCH	bool	depends on CRYPTO_LIB_SM3 && !UML	default y if ARM64	default y if RISCV && 64BIT && TOOLCHAIN_HAS_VECTOR_CRYPTO && \		     RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS	default y if X86_64