All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Elliott <elliott@hpe.com>
To: herbert@gondor.apana.org.au, davem@davemloft.net,
	ebiggers@kernel.org, linux-crypto@vger.kernel.org,
	linux-kernel@vger.kernel.org
Cc: Robert Elliott <elliott@hpe.com>
Subject: [PATCH v3 04/17] crypto: Kconfig - move sparc entries to a submenu
Date: Sat, 20 Aug 2022 13:41:38 -0500	[thread overview]
Message-ID: <20220820184151.1149247-5-elliott@hpe.com> (raw)
In-Reply-To: <20220820184151.1149247-1-elliott@hpe.com>

Move CPU-specific crypto/Kconfig entries to arch/xxx/crypto/Kconfig
and create a submenu for them under the Crypto API menu.

Suggested-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Robert Elliott <elliott@hpe.com>
---
 arch/sparc/crypto/Kconfig | 103 ++++++++++++++++++++++++++++++++++++++
 crypto/Kconfig            | 101 ++-----------------------------------
 2 files changed, 106 insertions(+), 98 deletions(-)
 create mode 100644 arch/sparc/crypto/Kconfig

diff --git a/arch/sparc/crypto/Kconfig b/arch/sparc/crypto/Kconfig
new file mode 100644
index 000000000000..eaa2afc1d50a
--- /dev/null
+++ b/arch/sparc/crypto/Kconfig
@@ -0,0 +1,103 @@
+# SPDX-License-Identifier: GPL-2.0
+
+menu "Accelerated Cryptographic Algorithms for CPU (sparc64)"
+
+config CRYPTO_DES_SPARC64
+	tristate "DES and Triple DES EDE cipher algorithms (SPARC64)"
+	depends on SPARC64
+	select CRYPTO_ALGAPI
+	select CRYPTO_LIB_DES
+	select CRYPTO_SKCIPHER
+	help
+	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3),
+	  optimized using SPARC64 crypto opcodes.
+
+config CRYPTO_CRC32C_SPARC64
+	tristate "CRC32c CRC algorithm (SPARC64)"
+	depends on SPARC64
+	select CRYPTO_HASH
+	select CRC32
+	help
+	  CRC32c CRC algorithm implemented using sparc64 crypto instructions,
+	  when available.
+
+config CRYPTO_MD5_SPARC64
+	tristate "MD5 digest algorithm (SPARC64)"
+	depends on SPARC64
+	select CRYPTO_MD5
+	select CRYPTO_HASH
+	help
+	  MD5 message digest algorithm (RFC1321) implemented
+	  using sparc64 crypto instructions, when available.
+
+config CRYPTO_SHA1_SPARC64
+	tristate "SHA1 digest algorithm (SPARC64)"
+	depends on SPARC64
+	select CRYPTO_SHA1
+	select CRYPTO_HASH
+	help
+	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
+	  using sparc64 crypto instructions, when available.
+
+config CRYPTO_SHA256_SPARC64
+	tristate "SHA224 and SHA256 digest algorithm (SPARC64)"
+	depends on SPARC64
+	select CRYPTO_SHA256
+	select CRYPTO_HASH
+	help
+	  SHA-256 secure hash standard (DFIPS 180-2) implemented
+	  using sparc64 crypto instructions, when available.
+
+config CRYPTO_SHA512_SPARC64
+	tristate "SHA384 and SHA512 digest algorithm (SPARC64)"
+	depends on SPARC64
+	select CRYPTO_SHA512
+	select CRYPTO_HASH
+	help
+	  SHA-512 secure hash standard (DFIPS 180-2) implemented
+	  using sparc64 crypto instructions, when available.
+
+config CRYPTO_AES_SPARC64
+	tristate "AES cipher algorithms (SPARC64)"
+	depends on SPARC64
+	select CRYPTO_SKCIPHER
+	help
+	  Use SPARC64 crypto opcodes for AES algorithm.
+
+	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
+	  algorithm.
+
+	  Rijndael appears to be consistently a very good performer in
+	  both hardware and software across a wide range of computing
+	  environments regardless of its use in feedback or non-feedback
+	  modes. Its key setup time is excellent, and its key agility is
+	  good. Rijndael's very low memory requirements make it very well
+	  suited for restricted-space environments, in which it also
+	  demonstrates excellent performance. Rijndael's operations are
+	  among the easiest to defend against power and timing attacks.
+
+	  The AES specifies three key sizes: 128, 192 and 256 bits
+
+	  See <http://csrc.nist.gov/encryption/aes/> for more information.
+
+	  In addition to AES cipher algorithm support, the acceleration
+	  for some popular block cipher mode is supported too, including
+	  ECB and CBC.
+
+config CRYPTO_CAMELLIA_SPARC64
+	tristate "Camellia cipher algorithm (SPARC64)"
+	depends on SPARC64
+	select CRYPTO_ALGAPI
+	select CRYPTO_SKCIPHER
+	help
+	  Camellia cipher algorithm module (SPARC64).
+
+	  Camellia is a symmetric key block cipher developed jointly
+	  at NTT and Mitsubishi Electric Corporation.
+
+	  The Camellia specifies three key sizes: 128, 192 and 256 bits.
+
+	  See also:
+	  <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
+
+endmenu
diff --git a/crypto/Kconfig b/crypto/Kconfig
index dff5bb211cbf..e73a344e00de 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -658,15 +658,6 @@ config CRYPTO_CRC32C_INTEL
 	  gain performance compared with software implementation.
 	  Module will be crc32c-intel.
 
-config CRYPTO_CRC32C_SPARC64
-	tristate "CRC32c CRC algorithm (SPARC64)"
-	depends on SPARC64
-	select CRYPTO_HASH
-	select CRC32
-	help
-	  CRC32c CRC algorithm implemented using sparc64 crypto instructions,
-	  when available.
-
 config CRYPTO_CRC32
 	tristate "CRC32 CRC algorithm"
 	select CRYPTO_HASH
@@ -804,15 +795,6 @@ config CRYPTO_MD5
 	help
 	  MD5 message digest algorithm (RFC1321).
 
-config CRYPTO_MD5_SPARC64
-	tristate "MD5 digest algorithm (SPARC64)"
-	depends on SPARC64
-	select CRYPTO_MD5
-	select CRYPTO_HASH
-	help
-	  MD5 message digest algorithm (RFC1321) implemented
-	  using sparc64 crypto instructions, when available.
-
 config CRYPTO_MICHAEL_MIC
 	tristate "Michael MIC keyed digest algorithm"
 	select CRYPTO_HASH
@@ -880,15 +862,6 @@ config CRYPTO_SHA512_SSSE3
 	  Extensions version 1 (AVX1), or Advanced Vector Extensions
 	  version 2 (AVX2) instructions, when available.
 
-config CRYPTO_SHA1_SPARC64
-	tristate "SHA1 digest algorithm (SPARC64)"
-	depends on SPARC64
-	select CRYPTO_SHA1
-	select CRYPTO_HASH
-	help
-	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
-	  using sparc64 crypto instructions, when available.
-
 config CRYPTO_SHA256
 	tristate "SHA224 and SHA256 digest algorithm"
 	select CRYPTO_HASH
@@ -902,15 +875,6 @@ config CRYPTO_SHA256
 	  This code also includes SHA-224, a 224 bit hash with 112 bits
 	  of security against collision attacks.
 
-config CRYPTO_SHA256_SPARC64
-	tristate "SHA224 and SHA256 digest algorithm (SPARC64)"
-	depends on SPARC64
-	select CRYPTO_SHA256
-	select CRYPTO_HASH
-	help
-	  SHA-256 secure hash standard (DFIPS 180-2) implemented
-	  using sparc64 crypto instructions, when available.
-
 config CRYPTO_SHA512
 	tristate "SHA384 and SHA512 digest algorithms"
 	select CRYPTO_HASH
@@ -923,15 +887,6 @@ config CRYPTO_SHA512
 	  This code also includes SHA-384, a 384 bit hash with 192 bits
 	  of security against collision attacks.
 
-config CRYPTO_SHA512_SPARC64
-	tristate "SHA384 and SHA512 digest algorithm (SPARC64)"
-	depends on SPARC64
-	select CRYPTO_SHA512
-	select CRYPTO_HASH
-	help
-	  SHA-512 secure hash standard (DFIPS 180-2) implemented
-	  using sparc64 crypto instructions, when available.
-
 config CRYPTO_SHA3
 	tristate "SHA3 digest algorithm"
 	select CRYPTO_HASH
@@ -1076,33 +1031,6 @@ config CRYPTO_AES_NI_INTEL
 	  ECB, CBC, LRW, XTS. The 64 bit version has additional
 	  acceleration for CTR and XCTR.
 
-config CRYPTO_AES_SPARC64
-	tristate "AES cipher algorithms (SPARC64)"
-	depends on SPARC64
-	select CRYPTO_SKCIPHER
-	help
-	  Use SPARC64 crypto opcodes for AES algorithm.
-
-	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
-	  algorithm.
-
-	  Rijndael appears to be consistently a very good performer in
-	  both hardware and software across a wide range of computing
-	  environments regardless of its use in feedback or non-feedback
-	  modes. Its key setup time is excellent, and its key agility is
-	  good. Rijndael's very low memory requirements make it very well
-	  suited for restricted-space environments, in which it also
-	  demonstrates excellent performance. Rijndael's operations are
-	  among the easiest to defend against power and timing attacks.
-
-	  The AES specifies three key sizes: 128, 192 and 256 bits
-
-	  See <http://csrc.nist.gov/encryption/aes/> for more information.
-
-	  In addition to AES cipher algorithm support, the acceleration
-	  for some popular block cipher mode is supported too, including
-	  ECB and CBC.
-
 config CRYPTO_ANUBIS
 	tristate "Anubis cipher algorithm"
 	depends on CRYPTO_USER_API_ENABLE_OBSOLETE
@@ -1233,22 +1161,6 @@ config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64
 	  See also:
 	  <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
 
-config CRYPTO_CAMELLIA_SPARC64
-	tristate "Camellia cipher algorithm (SPARC64)"
-	depends on SPARC64
-	select CRYPTO_ALGAPI
-	select CRYPTO_SKCIPHER
-	help
-	  Camellia cipher algorithm module (SPARC64).
-
-	  Camellia is a symmetric key block cipher developed jointly
-	  at NTT and Mitsubishi Electric Corporation.
-
-	  The Camellia specifies three key sizes: 128, 192 and 256 bits.
-
-	  See also:
-	  <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
-
 config CRYPTO_CAST_COMMON
 	tristate
 	help
@@ -1309,16 +1221,6 @@ config CRYPTO_DES
 	help
 	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
 
-config CRYPTO_DES_SPARC64
-	tristate "DES and Triple DES EDE cipher algorithms (SPARC64)"
-	depends on SPARC64
-	select CRYPTO_ALGAPI
-	select CRYPTO_LIB_DES
-	select CRYPTO_SKCIPHER
-	help
-	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3),
-	  optimized using SPARC64 crypto opcodes.
-
 config CRYPTO_DES3_EDE_X86_64
 	tristate "Triple DES EDE cipher algorithm (x86-64)"
 	depends on X86 && 64BIT
@@ -1894,6 +1796,9 @@ config CRYPTO_HASH_INFO
 if S390
 source "arch/s390/crypto/Kconfig"
 endif
+if SPARC
+source "arch/sparc/crypto/Kconfig"
+endif
 
 source "drivers/crypto/Kconfig"
 source "crypto/asymmetric_keys/Kconfig"
-- 
2.37.1


  parent reply	other threads:[~2022-08-20 18:42 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-15 19:06 [PATCH 0/8] crypto: Kconfig - simplify menus and help text Robert Elliott
2022-08-15 19:06 ` [PATCH 1/8] crypto: Kconfig - add submenus Robert Elliott
2022-08-15 19:06 ` [PATCH 2/8] crypto: Kconfig - simplify public-key entries Robert Elliott
2022-08-15 19:06 ` [PATCH 3/8] crypto: Kconfig - simplify user-space interface entries Robert Elliott
2022-08-15 19:06 ` [PATCH 4/8] crypto: Kconfig - simplify AEAD and block mode entries Robert Elliott
2022-08-15 19:06 ` [PATCH 5/8] crypto: Kconfig - simplify hash mode and digest entries Robert Elliott
2022-08-15 19:06 ` [PATCH 6/8] crypto: Kconfig - simplify cipher, compression, and RNG entries Robert Elliott
2022-08-15 19:06 ` [PATCH 7/8] crypto: Kconfig - sort the digests Robert Elliott
2022-08-15 19:06 ` [PATCH 8/8] crypto: Kconfig - sort the ciphers Robert Elliott
2022-08-15 21:36   ` Eric Biggers
2022-08-16  3:13     ` Elliott, Robert (Servers)
2022-08-17 23:20   ` [PATCH v2 00/10] crypto: Kconfig - simplify menus and help text Robert Elliott
2022-08-17 23:20     ` [PATCH v2 01/10] crypto: Kconfig - move mips entries to a submenu Robert Elliott
2022-08-17 23:20     ` [PATCH v2 02/10] crypto: Kconfig - move powerpc " Robert Elliott
2022-08-17 23:20     ` [PATCH v2 03/10] crypto: Kconfig - move s390 " Robert Elliott
2022-08-17 23:20     ` [PATCH v2 04/10] crypto: Kconfig - move sparc " Robert Elliott
2022-08-17 23:20     ` [PATCH v2 05/10] crypto: Kconfig - move x86 " Robert Elliott
2022-08-17 23:20     ` [PATCH v2 06/10] crypto: Kconfig - remove AES_ARM64 selection by SA2UL entry Robert Elliott
2022-08-17 23:20     ` [PATCH v2 07/10] crypto: Kconfig - move arm and arm64 menus to Crypto API page Robert Elliott
2022-08-17 23:20     ` [PATCH v2 08/10] crypto: Kconfig - sort the arm64 entries Robert Elliott
2022-08-17 23:20     ` [PATCH v2 09/10] crypto: Kconfig - sort the arm entries Robert Elliott
2022-08-17 23:20     ` [PATCH v2 10/10] crypto: Kconfig - add submenus Robert Elliott
2022-08-18  4:43       ` Eric Biggers
2022-08-18  5:44         ` Elliott, Robert (Servers)
2022-08-18  0:42     ` [PATCH v2 00/10] crypto: Kconfig - simplify menus and help text Nayna
2022-08-18  2:13       ` Elliott, Robert (Servers)
2022-08-18  2:43         ` Elliott, Robert (Servers)
     [not found]       ` <MW5PR84MB1842E554A4677FA177D73E23AB6D9@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM>
     [not found]         ` <1eb670ab-b238-8406-510d-c8dad46a2fb5@linux.vnet.ibm.com>
     [not found]           ` <MW5PR84MB18421D567F8CA4E5AC99B7C3AB729@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM>
     [not found]             ` <018a65de-60ce-1906-c461-44dc95353ab9@linux.vnet.ibm.com>
     [not found]               ` <MW5PR84MB1842FE1C4B5218959C2608F4AB759@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM>
     [not found]                 ` <c45efdf7-a677-acb7-84c1-b64284d414a4@linux.vnet.ibm.com>
     [not found]                   ` <MW5PR84MB184208ECF216DD025CE9D35BAB759@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM>
     [not found]                     ` <MW5PR84MB1842263C39734FD662F991E2AB749@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM>
     [not found]                       ` <MW5PR84MB184220E67A8141565A8D04CCAB749@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM>
2022-08-28  7:33                         ` Christophe Leroy
2022-08-29  0:05                           ` Elliott, Robert (Servers)
2022-08-29  8:53                             ` Christophe Leroy
2022-08-29 13:59                               ` Elliott, Robert (Servers)
2022-08-30  7:19                                 ` Christophe Leroy
2022-08-18  2:47     ` Eric Biggers
2022-08-18  3:00       ` Elliott, Robert (Servers)
2022-08-18  4:28         ` Eric Biggers
2022-08-20 18:41     ` [PATCH v3 00/17] " Robert Elliott
2022-08-20 18:41       ` [PATCH v3 01/17] crypto: Kconfig - move mips entries to a submenu Robert Elliott
2022-08-20 18:41       ` [PATCH v3 02/17] crypto: Kconfig - move powerpc " Robert Elliott
2022-08-20 18:41       ` [PATCH v3 03/17] crypto: Kconfig - move s390 " Robert Elliott
2022-08-20 18:41       ` Robert Elliott [this message]
2022-08-20 18:41       ` [PATCH v3 05/17] crypto: Kconfig - move x86 " Robert Elliott
2022-08-20 18:41       ` [PATCH v3 06/17] crypto: Kconfig - remove AES_ARM64 ref by SA2UL Robert Elliott
2022-08-20 18:41       ` [PATCH v3 07/17] crypto: Kconfig - submenus for arm and arm64 Robert Elliott
2022-08-20 18:41       ` [PATCH v3 08/17] crypto: Kconfig - sort the arm64 entries Robert Elliott
2022-08-20 18:41       ` [PATCH v3 09/17] crypto: Kconfig - sort the arm entries Robert Elliott
2022-08-20 18:41       ` [PATCH v3 10/17] crypto: Kconfig - add submenus Robert Elliott
2022-08-20 18:41       ` [PATCH v3 11/17] crypto: Kconfig - simplify public-key entries Robert Elliott
2022-08-20 18:41       ` [PATCH v3 12/17] crypto: Kconfig - simplify CRC entries Robert Elliott
2022-08-20 18:41       ` [PATCH v3 13/17] crypto: Kconfig - simplify aead entries Robert Elliott
2022-08-20 18:41       ` [PATCH v3 14/17] crypto: Kconfig - simplify hash entries Robert Elliott
2022-08-20 18:41       ` [PATCH v3 15/17] crypto: Kconfig - simplify userspace entries Robert Elliott
2022-08-20 18:41       ` [PATCH v3 16/17] crypto: Kconfig - simplify cipher entries Robert Elliott
2022-08-20 18:41       ` [PATCH v3 17/17] crypto: Kconfig - simplify compression/RNG entries Robert Elliott
2022-08-26 11:08       ` [PATCH v3 00/17] crypto: Kconfig - simplify menus and help text Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220820184151.1149247-5-elliott@hpe.com \
    --to=elliott@hpe.com \
    --cc=davem@davemloft.net \
    --cc=ebiggers@kernel.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.