mbox series

[v2,00/10] crypto: Kconfig - simplify menus and help text

Message ID 20220817232057.73643-1-elliott@hpe.com
Headers show
Series crypto: Kconfig - simplify menus and help text | expand

Message

Elliott, Robert (Servers) Aug. 17, 2022, 11:20 p.m. UTC
Improve the "make menuconfig" experience under the
Cryptographic API page.

The first of two patch series. This series extracts all the
architecture-specific entries from
    crypto/Kconfig
into
    arch/*/crypto/Kconfig

A subsequent series will work on the entry titles and help text.

Tested by running commands like these for arm, arm64, mips, powerpc,
sparc, s390, and x86:
    make ARCH=arm O=build-arm allmodconfig
    cd build-arm
    make ARCH=arm menuconfig
    make ARCH=arm CROSS_COMPILE=arm-linux-gnu- -j 55

Notes: 
1. powerpc doesn't build for reasons unrelated to this series.

2. arm (32-bit) requires the fix to the SA2UL driver included
in this series.

3. arm (32-bit) and mips require increasing the following value
from 1024. That change is not included in the series.
    CONFIG_FRAME_SIZE=2048


Robert Elliott (10):
  crypto: Kconfig - move mips entries to a submenu
  crypto: Kconfig - move powerpc entries to a submenu
  crypto: Kconfig - move s390 entries to a submenu
  crypto: Kconfig - move sparc entries to a submenu
  crypto: Kconfig - move x86 entries to a submenu
  crypto: Kconfig - remove AES_ARM64 selection by SA2UL entry
  crypto: Kconfig - move arm and arm64 menus to Crypto API page
  crypto: Kconfig - sort the arm64 entries
  crypto: Kconfig - sort the arm entries
  crypto: Kconfig - add submenus

 arch/arm/Kconfig                         |   4 -
 arch/arm/configs/exynos_defconfig        |   1 -
 arch/arm/configs/milbeaut_m10v_defconfig |   1 -
 arch/arm/configs/multi_v7_defconfig      |   1 -
 arch/arm/configs/omap2plus_defconfig     |   1 -
 arch/arm/configs/pxa_defconfig           |   1 -
 arch/arm/crypto/Kconfig                  | 125 ++-
 arch/arm64/Kconfig                       |   3 -
 arch/arm64/configs/defconfig             |   1 -
 arch/arm64/crypto/Kconfig                |  63 +-
 arch/mips/crypto/Kconfig                 |  60 ++
 arch/powerpc/crypto/Kconfig              |  77 ++
 arch/s390/crypto/Kconfig                 | 120 +++
 arch/sparc/crypto/Kconfig                | 103 +++
 arch/x86/crypto/Kconfig                  | 491 ++++++++++++
 crypto/Kconfig                           | 964 +++--------------------
 drivers/crypto/Kconfig                   |   2 -
 drivers/net/Kconfig                      |   2 -
 18 files changed, 1029 insertions(+), 991 deletions(-)
 create mode 100644 arch/mips/crypto/Kconfig
 create mode 100644 arch/powerpc/crypto/Kconfig
 create mode 100644 arch/s390/crypto/Kconfig
 create mode 100644 arch/sparc/crypto/Kconfig
 create mode 100644 arch/x86/crypto/Kconfig

Comments

Nayna Aug. 18, 2022, 12:42 a.m. UTC | #1
On 8/17/22 19:20, Robert Elliott wrote:
> Improve the "make menuconfig" experience under the
> Cryptographic API page.
>
> The first of two patch series. This series extracts all the
> architecture-specific entries from
>      crypto/Kconfig
> into
>      arch/*/crypto/Kconfig
>
> A subsequent series will work on the entry titles and help text.
>
> Tested by running commands like these for arm, arm64, mips, powerpc,
> sparc, s390, and x86:
>      make ARCH=arm O=build-arm allmodconfig
>      cd build-arm
>      make ARCH=arm menuconfig
>      make ARCH=arm CROSS_COMPILE=arm-linux-gnu- -j 55
>
> Notes:
> 1. powerpc doesn't build for reasons unrelated to this series.

Did it build without this patchset ? Can you please share more details 
on the error or reasons?

Thanks & Regards,

    - Nayna
Elliott, Robert (Servers) Aug. 18, 2022, 2:13 a.m. UTC | #2
> -----Original Message-----
> From: Nayna <nayna@linux.vnet.ibm.com>
> Sent: Wednesday, August 17, 2022 7:42 PM
> To: Elliott, Robert (Servers) <elliott@hpe.com>;
> herbert@gondor.apana.org.au; davem@davemloft.net; ebiggers@kernel.org;
> linux-crypto@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH v2 00/10] crypto: Kconfig - simplify menus and help
> text
> 
> 
> On 8/17/22 19:20, Robert Elliott wrote:
> > Improve the "make menuconfig" experience under the
> > Cryptographic API page.
> >
> > The first of two patch series. This series extracts all the
> > architecture-specific entries from
> >      crypto/Kconfig
> > into
> >      arch/*/crypto/Kconfig
> >
> > A subsequent series will work on the entry titles and help text.
> >
> > Tested by running commands like these for arm, arm64, mips, powerpc,
> > sparc, s390, and x86:
> >      make ARCH=arm O=build-arm allmodconfig
> >      cd build-arm
> >      make ARCH=arm menuconfig
> >      make ARCH=arm CROSS_COMPILE=arm-linux-gnu- -j 55
> >
> > Notes:
> > 1. powerpc doesn't build for reasons unrelated to this series.
> 
> Did it build without this patchset ? Can you please share more details
> on the error or reasons?

I haven't tried without the patchset, but will try that out, and will
also try defconfig rather than allmodconfig.

I'm using Fedora 36 on x86 with kernel 5.19-rc7.

After building init/main.o, the "check-local-export" script is complaining.
(I'll email you the full log file)

  powerpc64-linux-gnu-gcc -Wp,-MMD,init/.main.o.d -nostdinc 
	-I../arch/powerpc/include -I./arch/powerpc/include/generated
	-I../include -I./include 
	-I../arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi 
	-I../include/uapi -I./include/generated/uapi
	-include ../include/linux/compiler-version.h 
	-include ../include/linux/kconfig.h
	-include ../include/linux/compiler_types.h 
	-D__KERNEL__ -I ../arch/powerpc
	-DHAVE_AS_ATHIGH=1 
	-fmacro-prefix-map=../= -Wall -Wundef 
	[...lots of options...]
	-I ../init -I ./init  -ffunction-sections -fdata-sections  
	-DKBUILD_MODFILE='"init/main"' -DKBUILD_BASENAME='"main"' 
	-DKBUILD_MODNAME='"main"' -D__KBUILD_MODNAME=kmod_main 
	-c -o init/main.o ../init/main.c

  ../scripts/check-local-export init/main.o
  if powerpc64-linux-gnu-nm --synthetic init/main.o 2>/dev/null | grep -q __ksymtab; then 
	powerpc64-linux-gnu-gcc -E -Wall -Wundef 
	[...lots of options...]
	-DKBUILD_MODFILE='"init/main"'
	-DKBUILD_BASENAME='"main"' 
	-DKBUILD_MODNAME='"main"'
	-D__KBUILD_MODNAME=kmod_main
	../init/main.c | 
	scripts/genksyms/genksyms   -r /dev/null >> init/.main.o.cmd; fi
   if [ init/main.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "init/main.o"; fi;
Cannot find symbol for section 92: .text.free_initmem.
init/main.o: failed
make[1]: *** [../scripts/Makefile.build:249: init/main.o] Error 1
make[1]: *** Deleting file 'init/main.o'
make: *** [../Makefile:1843: init] Error 2


Most architectures have that function in init.c.
powerpc and riscv (which I haven't tried) have that in files
with different names:

source/arch/arm/mm/init.c:void free_initmem(void)
source/arch/arm64/mm/init.c:void free_initmem(void)
source/arch/csky/mm/init.c:void free_initmem(void)
source/arch/ia64/mm/init.c:free_initmem (void)
source/arch/loongarch/mm/init.c:void __ref free_initmem(void)
source/arch/m68k/mm/init.c:void free_initmem(void)
source/arch/mips/mm/init.c:void __ref free_initmem(void)
source/arch/parisc/mm/init.c:void free_initmem(void)
source/arch/powerpc/mm/mem.c:void free_initmem(void)
source/arch/riscv/kernel/setup.c:void free_initmem(void)
source/arch/s390/mm/init.c:void free_initmem(void)
source/arch/sparc/mm/init_64.c:void free_initmem(void)
source/arch/um/kernel/mem.c:void free_initmem(void)
source/arch/x86/mm/init.c:void __ref free_initmem(void)
source/include/linux/mm.h:extern void free_initmem(void);
source/init/main.c:void __weak free_initmem(void)

> Thanks & Regards,
> 
>     - Nayna
Elliott, Robert (Servers) Aug. 18, 2022, 2:43 a.m. UTC | #3
> -----Original Message-----
> From: Elliott, Robert (Servers) <elliott@hpe.com>
> Sent: Wednesday, August 17, 2022 9:13 PM
> Subject: RE: [PATCH v2 00/10] crypto: Kconfig - simplify menus and help text
> 
> > -----Original Message-----
> > From: Nayna <nayna@linux.vnet.ibm.com>
> > Sent: Wednesday, August 17, 2022 7:42 PM
> >
> > > Notes:
> > > 1. powerpc doesn't build for reasons unrelated to this series.
> >
> > Did it build without this patchset ? Can you please share more
> > details on the error or reasons?
> 
> I haven't tried without the patchset, but will try that out, and will
> also try defconfig rather than allmodconfig.

The defconfig target works fine.
Eric Biggers Aug. 18, 2022, 2:47 a.m. UTC | #4
On Wed, Aug 17, 2022 at 06:20:47PM -0500, Robert Elliott wrote:
> Improve the "make menuconfig" experience under the
> Cryptographic API page.
> 
> The first of two patch series. This series extracts all the
> architecture-specific entries from
>     crypto/Kconfig
> into
>     arch/*/crypto/Kconfig
> 
> A subsequent series will work on the entry titles and help text.
> 
> Tested by running commands like these for arm, arm64, mips, powerpc,
> sparc, s390, and x86:
>     make ARCH=arm O=build-arm allmodconfig
>     cd build-arm
>     make ARCH=arm menuconfig
>     make ARCH=arm CROSS_COMPILE=arm-linux-gnu- -j 55
> 
> Notes: 
> 1. powerpc doesn't build for reasons unrelated to this series.
> 
> 2. arm (32-bit) requires the fix to the SA2UL driver included
> in this series.
> 
> 3. arm (32-bit) and mips require increasing the following value
> from 1024. That change is not included in the series.
>     CONFIG_FRAME_SIZE=2048
> 
> 
> Robert Elliott (10):
>   crypto: Kconfig - move mips entries to a submenu
>   crypto: Kconfig - move powerpc entries to a submenu
>   crypto: Kconfig - move s390 entries to a submenu
>   crypto: Kconfig - move sparc entries to a submenu
>   crypto: Kconfig - move x86 entries to a submenu
>   crypto: Kconfig - remove AES_ARM64 selection by SA2UL entry
>   crypto: Kconfig - move arm and arm64 menus to Crypto API page
>   crypto: Kconfig - sort the arm64 entries
>   crypto: Kconfig - sort the arm entries
>   crypto: Kconfig - add submenus

What commit does this series apply to?

- Eric
Elliott, Robert (Servers) Aug. 18, 2022, 3 a.m. UTC | #5
> -----Original Message-----
> From: Eric Biggers <ebiggers@kernel.org>
> Sent: Wednesday, August 17, 2022 9:48 PM
> Subject: Re: [PATCH v2 00/10] crypto: Kconfig - simplify menus and help text
> 
...
> >
> > Robert Elliott (10):
> >   crypto: Kconfig - move mips entries to a submenu
> >   crypto: Kconfig - move powerpc entries to a submenu
> >   crypto: Kconfig - move s390 entries to a submenu
> >   crypto: Kconfig - move sparc entries to a submenu
> >   crypto: Kconfig - move x86 entries to a submenu
> >   crypto: Kconfig - remove AES_ARM64 selection by SA2UL entry
> >   crypto: Kconfig - move arm and arm64 menus to Crypto API page
> >   crypto: Kconfig - sort the arm64 entries
> >   crypto: Kconfig - sort the arm entries
> >   crypto: Kconfig - add submenus
> 
> What commit does this series apply to?

5.19-rc7:

edbaae5c2910 crypto: Kconfig - move mips entries to a submenu
57e81df8165b crypto: testmgr - make WARN prints consistent
fa99961bb413 crypto: x86/sha512 - load based on CPU features
5b2fb3a1500d ghes_edac: fix intermittent warm reset hang
661204d2ad01 RDMA/irdma: Fix sleep from invalid context BUG
85bdff84e6fd RDMA/irdma: Do not advertise 1GB page size for x722
c24fa712938f gpiolib: cdev: Fix kernel doc for struct line
7f1d458de3ab Linux 5.19-rc7

I'll try including the git format-patch --base option next time.
Eric Biggers Aug. 18, 2022, 4:28 a.m. UTC | #6
On Thu, Aug 18, 2022 at 03:00:33AM +0000, Elliott, Robert (Servers) wrote:
> 
> 
> > -----Original Message-----
> > From: Eric Biggers <ebiggers@kernel.org>
> > Sent: Wednesday, August 17, 2022 9:48 PM
> > Subject: Re: [PATCH v2 00/10] crypto: Kconfig - simplify menus and help text
> > 
> ...
> > >
> > > Robert Elliott (10):
> > >   crypto: Kconfig - move mips entries to a submenu
> > >   crypto: Kconfig - move powerpc entries to a submenu
> > >   crypto: Kconfig - move s390 entries to a submenu
> > >   crypto: Kconfig - move sparc entries to a submenu
> > >   crypto: Kconfig - move x86 entries to a submenu
> > >   crypto: Kconfig - remove AES_ARM64 selection by SA2UL entry
> > >   crypto: Kconfig - move arm and arm64 menus to Crypto API page
> > >   crypto: Kconfig - sort the arm64 entries
> > >   crypto: Kconfig - sort the arm entries
> > >   crypto: Kconfig - add submenus
> > 
> > What commit does this series apply to?
> 
> 5.19-rc7:
> 
> edbaae5c2910 crypto: Kconfig - move mips entries to a submenu
> 57e81df8165b crypto: testmgr - make WARN prints consistent
> fa99961bb413 crypto: x86/sha512 - load based on CPU features
> 5b2fb3a1500d ghes_edac: fix intermittent warm reset hang
> 661204d2ad01 RDMA/irdma: Fix sleep from invalid context BUG
> 85bdff84e6fd RDMA/irdma: Do not advertise 1GB page size for x722
> c24fa712938f gpiolib: cdev: Fix kernel doc for struct line
> 7f1d458de3ab Linux 5.19-rc7
> 
> I'll try including the git format-patch --base option next time.
> 

Thanks.  v6.0-rc1 would be better as it is more up-to-date.

- Eric