From: "Elliott, Robert (Servers)" <elliott@hpe.com>
To: Eric Biggers <ebiggers@kernel.org>
Cc: "herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
"davem@davemloft.net" <davem@davemloft.net>,
"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Kani, Toshi" <toshi.kani@hpe.com>
Subject: RE: [PATCH 8/8] crypto: Kconfig - sort the ciphers
Date: Tue, 16 Aug 2022 03:13:14 +0000 [thread overview]
Message-ID: <MW5PR84MB1842938FC6A72DBC1FD39723AB6B9@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <Yvq8Whax+i2jmQZJ@sol.localdomain>
> -----Original Message-----
> From: Eric Biggers <ebiggers@kernel.org>
> Sent: Monday, August 15, 2022 4:36 PM
> To: Elliott, Robert (Servers) <elliott@hpe.com>
> Cc: herbert@gondor.apana.org.au; davem@davemloft.net; linux-
> crypto@vger.kernel.org; linux-kernel@vger.kernel.org; Kani, Toshi
> <toshi.kani@hpe.com>
> Subject: Re: [PATCH 8/8] crypto: Kconfig - sort the ciphers
>
> Do we want to keep the architecture-specific options in crypto/Kconfig?
> arm and arm64 split them out into a separate file arch/$arch/crypto/Kconfig.
> Perhaps the other architectures should adopt that?
>
> - Eric
Pulling the ARM entries back into the main Kconfig file might help
preserve similar patterns across the architectures.
On the other hand, it'd be nice if the symbols for other architectures
disappeared entirely. Right now, searching with "/" in
make ARCH=arm64 menuconfig
finds all the x86, s390, mips, sparc, and powerpc crypto entries,
even though they're clearly not applicable. Meanwhile,
make ARCH=x86 menuconfig
is not cluttered by any of the arch/arm64/crypto Kconfig entries.
For arm64, the top-level menu entry for them is quite prominent,
appearing before the Crypto API entry:
General setup --->
Platform selection --->
Kernel Features --->
Boot options --->
Power management options --->
CPU Power Management --->
[*] ACPI (Advanced Configuration and Power Interface) Support --->
[*] Virtualization --->
[*] ARM64 Accelerated Cryptographic Algorithms --->
General architecture-dependent options --->
[*] Enable loadable module support --->
-*- Enable the block layer --->
Executable file formats --->
Memory Management options --->
[*] Networking support --->
Device Drivers --->
File systems --->
Security options --->
-*- Cryptographic API --->
Library routines --->
Kernel hacking --->
With the "source" command, the CPU-optimized driver menu could
be placed into the Cryptographic API menu, similar to "Hardware
crypto devices."
There are currently 21 arm64 entries and 33 x86 entries, so
they will tend to wrap onto multiple screens. It's not as bad
if they're sorted. The x86 entries would be:
AEGIS-128 (x86_64 with AES-NI/SSE2)
AES (Advanced Encryption Standard) (x86 with AES-NI)
BLAKE2s (x86_64 with SSSE3/AVX-512)
Blowfish (x86_64)
Camellia (x86_64)
Camellia (x86_64 with AES-NI/AVX)
Camellia (x86_64 with AES-NI/AVX2)
CAST5 (CAST-128) (x86_64 with AVX)
CAST6 (CAST-256) (x86_64 with AVX)
ChaCha (x86_64 with SSSE3/AVX2/AVX-512VL)
CRC32c (x86 with SSE4.2/PCLMULQDQ)
CRC32 (x86 with PCLMULQDQ)
CRCT10DIF (x86_64 with PCLMULQDQ)
Curve25519 (x86_64 with ADX)
GHASH (x86_64 with CLMUL-NI)
NHPoly1305 (x86_64 with AVX2)
NHPoly1305 (x86_64 with SSE2)
Poly1305 (x86_64 with SSE2/AVX2)
Serpent (x86 with SSE2)
Serpent (x86_64 with SSE2)
Serpent (x86_64 with AVX)
Serpent (x86_64 with AVX2)
SHA1 (x86_64 with SSSE3/AVX/AVX2/SHA-NI)
SHA224 and SHA256 (x86_64 with SSSE3/AVX/AVX2/SHA-NI)
SHA384 and SHA512 (x86_64 with SSSE3/AVX/AVX2)
SM3 (ShangMi 3) (x86_64 with AVX)
SM4 (ShangMi 4) (x86_64 with AES-NI/AVX)
SM4 (ShangMi 4) (x86_64 with AES-NI/AVX2)
Triple DES EDE (x86_64)
Twofish (x86)
Twofish (x86_64)
Twofish (x86_64, 3-way parallel)
Twofish (x86_64 with AVX)
I can add some patches at the end of the series to move all
the x86, s390, mips, sparc, and powerpc crypto entries
to new Kconfig files (or would that be better at the beginning
of the series?).
Note that one ARM/ARM64 module is described in crypto/Kconfig
and has its source files in crypto/:
config CRYPTO_AEGIS128_SIMD
bool "AEGIS-128 (arm SIMD acceleration)"
depends on CRYPTO_AEGIS128 && ((ARM || ARM64) && KERNEL_MODE_NEON)
default y
help
AEGIS-128 AEAD algorithm
Architecture: arm using the Neon SIMD architecture extension
Perhaps that is because it supports both ARM and ARM64, which
the others don't seem to do. Should we leave the source files
in place but duplicate the entry in both arch/arm/crypto/Kconfig
and arch/arm64/crypto/Kconfig?
next prev parent reply other threads:[~2022-08-16 6:49 UTC|newest]
Thread overview: 49+ 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) [this message]
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)
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 ` [PATCH v3 04/17] crypto: Kconfig - move sparc " Robert Elliott
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=MW5PR84MB1842938FC6A72DBC1FD39723AB6B9@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.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 \
--cc=toshi.kani@hpe.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®