crypto: s390 - do not depend on CRYPTO_HW for SIMD implementations
Various accelerated software implementation Kconfig values for S390 were mistakenly placed into drivers/crypto/Kconfig, even though they're mainly just SIMD code and live in arch/s390/crypto/ like usual. This gives them the very unusual dependency on CRYPTO_HW, which leads to problems elsewhere. This patch fixes the issue by moving the Kconfig values for non-hardware drivers into the usual place in crypto/Kconfig. Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Родитель
b83fdcd9fb
Коммит
b7133757da
114
crypto/Kconfig
114
crypto/Kconfig
|
@ -666,6 +666,18 @@ config CRYPTO_CRC32_MIPS
|
||||||
CRC32c and CRC32 CRC algorithms implemented using mips crypto
|
CRC32c and CRC32 CRC algorithms implemented using mips crypto
|
||||||
instructions, when available.
|
instructions, when available.
|
||||||
|
|
||||||
|
config CRYPTO_CRC32_S390
|
||||||
|
tristate "CRC-32 algorithms"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_HASH
|
||||||
|
select CRC32
|
||||||
|
help
|
||||||
|
Select this option if you want to use hardware accelerated
|
||||||
|
implementations of CRC algorithms. With this option, you
|
||||||
|
can optimize the computation of CRC-32 (IEEE 802.3 Ethernet)
|
||||||
|
and CRC-32C (Castagnoli).
|
||||||
|
|
||||||
|
It is available with IBM z13 or later.
|
||||||
|
|
||||||
config CRYPTO_XXHASH
|
config CRYPTO_XXHASH
|
||||||
tristate "xxHash hash algorithm"
|
tristate "xxHash hash algorithm"
|
||||||
|
@ -898,6 +910,16 @@ config CRYPTO_SHA512_SSSE3
|
||||||
Extensions version 1 (AVX1), or Advanced Vector Extensions
|
Extensions version 1 (AVX1), or Advanced Vector Extensions
|
||||||
version 2 (AVX2) instructions, when available.
|
version 2 (AVX2) instructions, when available.
|
||||||
|
|
||||||
|
config CRYPTO_SHA512_S390
|
||||||
|
tristate "SHA384 and SHA512 digest algorithm"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_HASH
|
||||||
|
help
|
||||||
|
This is the s390 hardware accelerated implementation of the
|
||||||
|
SHA512 secure hash standard.
|
||||||
|
|
||||||
|
It is available as of z10.
|
||||||
|
|
||||||
config CRYPTO_SHA1_OCTEON
|
config CRYPTO_SHA1_OCTEON
|
||||||
tristate "SHA1 digest algorithm (OCTEON)"
|
tristate "SHA1 digest algorithm (OCTEON)"
|
||||||
depends on CPU_CAVIUM_OCTEON
|
depends on CPU_CAVIUM_OCTEON
|
||||||
|
@ -930,6 +952,16 @@ config CRYPTO_SHA1_PPC_SPE
|
||||||
SHA-1 secure hash standard (DFIPS 180-4) implemented
|
SHA-1 secure hash standard (DFIPS 180-4) implemented
|
||||||
using powerpc SPE SIMD instruction set.
|
using powerpc SPE SIMD instruction set.
|
||||||
|
|
||||||
|
config CRYPTO_SHA1_S390
|
||||||
|
tristate "SHA1 digest algorithm"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_HASH
|
||||||
|
help
|
||||||
|
This is the s390 hardware accelerated implementation of the
|
||||||
|
SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
|
||||||
|
|
||||||
|
It is available as of z990.
|
||||||
|
|
||||||
config CRYPTO_SHA256
|
config CRYPTO_SHA256
|
||||||
tristate "SHA224 and SHA256 digest algorithm"
|
tristate "SHA224 and SHA256 digest algorithm"
|
||||||
select CRYPTO_HASH
|
select CRYPTO_HASH
|
||||||
|
@ -970,6 +1002,16 @@ config CRYPTO_SHA256_SPARC64
|
||||||
SHA-256 secure hash standard (DFIPS 180-2) implemented
|
SHA-256 secure hash standard (DFIPS 180-2) implemented
|
||||||
using sparc64 crypto instructions, when available.
|
using sparc64 crypto instructions, when available.
|
||||||
|
|
||||||
|
config CRYPTO_SHA256_S390
|
||||||
|
tristate "SHA256 digest algorithm"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_HASH
|
||||||
|
help
|
||||||
|
This is the s390 hardware accelerated implementation of the
|
||||||
|
SHA256 secure hash standard (DFIPS 180-2).
|
||||||
|
|
||||||
|
It is available as of z9.
|
||||||
|
|
||||||
config CRYPTO_SHA512
|
config CRYPTO_SHA512
|
||||||
tristate "SHA384 and SHA512 digest algorithms"
|
tristate "SHA384 and SHA512 digest algorithms"
|
||||||
select CRYPTO_HASH
|
select CRYPTO_HASH
|
||||||
|
@ -1010,6 +1052,26 @@ config CRYPTO_SHA3
|
||||||
References:
|
References:
|
||||||
http://keccak.noekeon.org/
|
http://keccak.noekeon.org/
|
||||||
|
|
||||||
|
config CRYPTO_SHA3_256_S390
|
||||||
|
tristate "SHA3_224 and SHA3_256 digest algorithm"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_HASH
|
||||||
|
help
|
||||||
|
This is the s390 hardware accelerated implementation of the
|
||||||
|
SHA3_256 secure hash standard.
|
||||||
|
|
||||||
|
It is available as of z14.
|
||||||
|
|
||||||
|
config CRYPTO_SHA3_512_S390
|
||||||
|
tristate "SHA3_384 and SHA3_512 digest algorithm"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_HASH
|
||||||
|
help
|
||||||
|
This is the s390 hardware accelerated implementation of the
|
||||||
|
SHA3_512 secure hash standard.
|
||||||
|
|
||||||
|
It is available as of z14.
|
||||||
|
|
||||||
config CRYPTO_SM3
|
config CRYPTO_SM3
|
||||||
tristate
|
tristate
|
||||||
|
|
||||||
|
@ -1070,6 +1132,16 @@ config CRYPTO_GHASH_CLMUL_NI_INTEL
|
||||||
This is the x86_64 CLMUL-NI accelerated implementation of
|
This is the x86_64 CLMUL-NI accelerated implementation of
|
||||||
GHASH, the hash function used in GCM (Galois/Counter mode).
|
GHASH, the hash function used in GCM (Galois/Counter mode).
|
||||||
|
|
||||||
|
config CRYPTO_GHASH_S390
|
||||||
|
tristate "GHASH hash function"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_HASH
|
||||||
|
help
|
||||||
|
This is the s390 hardware accelerated implementation of GHASH,
|
||||||
|
the hash function used in GCM (Galois/Counter mode).
|
||||||
|
|
||||||
|
It is available as of z196.
|
||||||
|
|
||||||
comment "Ciphers"
|
comment "Ciphers"
|
||||||
|
|
||||||
config CRYPTO_AES
|
config CRYPTO_AES
|
||||||
|
@ -1185,6 +1257,23 @@ config CRYPTO_AES_PPC_SPE
|
||||||
architecture specific assembler implementations that work on 1KB
|
architecture specific assembler implementations that work on 1KB
|
||||||
tables or 256 bytes S-boxes.
|
tables or 256 bytes S-boxes.
|
||||||
|
|
||||||
|
config CRYPTO_AES_S390
|
||||||
|
tristate "AES cipher algorithms"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_ALGAPI
|
||||||
|
select CRYPTO_SKCIPHER
|
||||||
|
help
|
||||||
|
This is the s390 hardware accelerated implementation of the
|
||||||
|
AES cipher algorithms (FIPS-197).
|
||||||
|
|
||||||
|
As of z9 the ECB and CBC modes are hardware accelerated
|
||||||
|
for 128 bit keys.
|
||||||
|
As of z10 the ECB and CBC modes are hardware accelerated
|
||||||
|
for all AES key sizes.
|
||||||
|
As of z196 the CTR mode is hardware accelerated for all AES
|
||||||
|
key sizes and XTS mode is hardware accelerated for 256 and
|
||||||
|
512 bit keys.
|
||||||
|
|
||||||
config CRYPTO_ANUBIS
|
config CRYPTO_ANUBIS
|
||||||
tristate "Anubis cipher algorithm"
|
tristate "Anubis cipher algorithm"
|
||||||
depends on CRYPTO_USER_API_ENABLE_OBSOLETE
|
depends on CRYPTO_USER_API_ENABLE_OBSOLETE
|
||||||
|
@ -1415,6 +1504,19 @@ config CRYPTO_DES3_EDE_X86_64
|
||||||
algorithm are provided; regular processing one input block and
|
algorithm are provided; regular processing one input block and
|
||||||
one that processes three blocks parallel.
|
one that processes three blocks parallel.
|
||||||
|
|
||||||
|
config CRYPTO_DES_S390
|
||||||
|
tristate "DES and Triple DES cipher algorithms"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_ALGAPI
|
||||||
|
select CRYPTO_SKCIPHER
|
||||||
|
select CRYPTO_LIB_DES
|
||||||
|
help
|
||||||
|
This is the s390 hardware accelerated implementation of the
|
||||||
|
DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
|
||||||
|
|
||||||
|
As of z990 the ECB and CBC mode are hardware accelerated.
|
||||||
|
As of z196 the CTR mode is hardware accelerated.
|
||||||
|
|
||||||
config CRYPTO_FCRYPT
|
config CRYPTO_FCRYPT
|
||||||
tristate "FCrypt cipher algorithm"
|
tristate "FCrypt cipher algorithm"
|
||||||
select CRYPTO_ALGAPI
|
select CRYPTO_ALGAPI
|
||||||
|
@ -1474,6 +1576,18 @@ config CRYPTO_CHACHA_MIPS
|
||||||
select CRYPTO_SKCIPHER
|
select CRYPTO_SKCIPHER
|
||||||
select CRYPTO_ARCH_HAVE_LIB_CHACHA
|
select CRYPTO_ARCH_HAVE_LIB_CHACHA
|
||||||
|
|
||||||
|
config CRYPTO_CHACHA_S390
|
||||||
|
tristate "ChaCha20 stream cipher"
|
||||||
|
depends on S390
|
||||||
|
select CRYPTO_SKCIPHER
|
||||||
|
select CRYPTO_LIB_CHACHA_GENERIC
|
||||||
|
select CRYPTO_ARCH_HAVE_LIB_CHACHA
|
||||||
|
help
|
||||||
|
This is the s390 SIMD implementation of the ChaCha20 stream
|
||||||
|
cipher (RFC 7539).
|
||||||
|
|
||||||
|
It is available as of z13.
|
||||||
|
|
||||||
config CRYPTO_SEED
|
config CRYPTO_SEED
|
||||||
tristate "SEED cipher algorithm"
|
tristate "SEED cipher algorithm"
|
||||||
depends on CRYPTO_USER_API_ENABLE_OBSOLETE
|
depends on CRYPTO_USER_API_ENABLE_OBSOLETE
|
||||||
|
|
|
@ -133,98 +133,6 @@ config CRYPTO_PAES_S390
|
||||||
Select this option if you want to use the paes cipher
|
Select this option if you want to use the paes cipher
|
||||||
for example to use protected key encrypted devices.
|
for example to use protected key encrypted devices.
|
||||||
|
|
||||||
config CRYPTO_SHA1_S390
|
|
||||||
tristate "SHA1 digest algorithm"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_HASH
|
|
||||||
help
|
|
||||||
This is the s390 hardware accelerated implementation of the
|
|
||||||
SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
|
|
||||||
|
|
||||||
It is available as of z990.
|
|
||||||
|
|
||||||
config CRYPTO_SHA256_S390
|
|
||||||
tristate "SHA256 digest algorithm"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_HASH
|
|
||||||
help
|
|
||||||
This is the s390 hardware accelerated implementation of the
|
|
||||||
SHA256 secure hash standard (DFIPS 180-2).
|
|
||||||
|
|
||||||
It is available as of z9.
|
|
||||||
|
|
||||||
config CRYPTO_SHA512_S390
|
|
||||||
tristate "SHA384 and SHA512 digest algorithm"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_HASH
|
|
||||||
help
|
|
||||||
This is the s390 hardware accelerated implementation of the
|
|
||||||
SHA512 secure hash standard.
|
|
||||||
|
|
||||||
It is available as of z10.
|
|
||||||
|
|
||||||
config CRYPTO_SHA3_256_S390
|
|
||||||
tristate "SHA3_224 and SHA3_256 digest algorithm"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_HASH
|
|
||||||
help
|
|
||||||
This is the s390 hardware accelerated implementation of the
|
|
||||||
SHA3_256 secure hash standard.
|
|
||||||
|
|
||||||
It is available as of z14.
|
|
||||||
|
|
||||||
config CRYPTO_SHA3_512_S390
|
|
||||||
tristate "SHA3_384 and SHA3_512 digest algorithm"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_HASH
|
|
||||||
help
|
|
||||||
This is the s390 hardware accelerated implementation of the
|
|
||||||
SHA3_512 secure hash standard.
|
|
||||||
|
|
||||||
It is available as of z14.
|
|
||||||
|
|
||||||
config CRYPTO_DES_S390
|
|
||||||
tristate "DES and Triple DES cipher algorithms"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_ALGAPI
|
|
||||||
select CRYPTO_SKCIPHER
|
|
||||||
select CRYPTO_LIB_DES
|
|
||||||
help
|
|
||||||
This is the s390 hardware accelerated implementation of the
|
|
||||||
DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
|
|
||||||
|
|
||||||
As of z990 the ECB and CBC mode are hardware accelerated.
|
|
||||||
As of z196 the CTR mode is hardware accelerated.
|
|
||||||
|
|
||||||
config CRYPTO_AES_S390
|
|
||||||
tristate "AES cipher algorithms"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_ALGAPI
|
|
||||||
select CRYPTO_SKCIPHER
|
|
||||||
help
|
|
||||||
This is the s390 hardware accelerated implementation of the
|
|
||||||
AES cipher algorithms (FIPS-197).
|
|
||||||
|
|
||||||
As of z9 the ECB and CBC modes are hardware accelerated
|
|
||||||
for 128 bit keys.
|
|
||||||
As of z10 the ECB and CBC modes are hardware accelerated
|
|
||||||
for all AES key sizes.
|
|
||||||
As of z196 the CTR mode is hardware accelerated for all AES
|
|
||||||
key sizes and XTS mode is hardware accelerated for 256 and
|
|
||||||
512 bit keys.
|
|
||||||
|
|
||||||
config CRYPTO_CHACHA_S390
|
|
||||||
tristate "ChaCha20 stream cipher"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_SKCIPHER
|
|
||||||
select CRYPTO_LIB_CHACHA_GENERIC
|
|
||||||
select CRYPTO_ARCH_HAVE_LIB_CHACHA
|
|
||||||
help
|
|
||||||
This is the s390 SIMD implementation of the ChaCha20 stream
|
|
||||||
cipher (RFC 7539).
|
|
||||||
|
|
||||||
It is available as of z13.
|
|
||||||
|
|
||||||
config S390_PRNG
|
config S390_PRNG
|
||||||
tristate "Pseudo random number generator device driver"
|
tristate "Pseudo random number generator device driver"
|
||||||
depends on S390
|
depends on S390
|
||||||
|
@ -238,29 +146,6 @@ config S390_PRNG
|
||||||
|
|
||||||
It is available as of z9.
|
It is available as of z9.
|
||||||
|
|
||||||
config CRYPTO_GHASH_S390
|
|
||||||
tristate "GHASH hash function"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_HASH
|
|
||||||
help
|
|
||||||
This is the s390 hardware accelerated implementation of GHASH,
|
|
||||||
the hash function used in GCM (Galois/Counter mode).
|
|
||||||
|
|
||||||
It is available as of z196.
|
|
||||||
|
|
||||||
config CRYPTO_CRC32_S390
|
|
||||||
tristate "CRC-32 algorithms"
|
|
||||||
depends on S390
|
|
||||||
select CRYPTO_HASH
|
|
||||||
select CRC32
|
|
||||||
help
|
|
||||||
Select this option if you want to use hardware accelerated
|
|
||||||
implementations of CRC algorithms. With this option, you
|
|
||||||
can optimize the computation of CRC-32 (IEEE 802.3 Ethernet)
|
|
||||||
and CRC-32C (Castagnoli).
|
|
||||||
|
|
||||||
It is available with IBM z13 or later.
|
|
||||||
|
|
||||||
config CRYPTO_DEV_NIAGARA2
|
config CRYPTO_DEV_NIAGARA2
|
||||||
tristate "Niagara2 Stream Processing Unit driver"
|
tristate "Niagara2 Stream Processing Unit driver"
|
||||||
select CRYPTO_LIB_DES
|
select CRYPTO_LIB_DES
|
||||||
|
|
Загрузка…
Ссылка в новой задаче