Re: [PATCH v3 00/17] Implement GENERIC_CMDLINE

From: Rob Herring
Date: Fri Mar 26 2021 - 11:05:31 EST


On Fri, Mar 26, 2021 at 7:44 AM Christophe Leroy
<christophe.leroy@xxxxxxxxxx> wrote:
>
> The purpose of this series is to improve and enhance the
> handling of kernel boot arguments.
>
> It is first focussed on powerpc but also extends the capability
> for other arches.
>
> This is based on suggestion from Daniel Walker <danielwa@xxxxxxxxx>
>
> Main changes in V3:
> - Also accept destination equal to source in cmdline_build() by setting a tmp buffer in __initdata. Powerpc provides different source and destination and call __cmdline_build() directly.
> - Taken comments received from Will and Rob
> - Converted all architectures (Only tested on powerpc)
>
> Christophe Leroy (17):
> cmdline: Add generic function to build command line.
> drivers: of: use cmdline building function
> cmdline: Gives architectures opportunity to use generically defined
> boot cmdline manipulation
> powerpc: Convert to GENERIC_CMDLINE
> arm: Convert to GENERIC_CMDLINE
> arm64: Convert to GENERIC_CMDLINE
> hexagon: Convert to GENERIC_CMDLINE
> microblaze: Convert to GENERIC_CMDLINE
> nios2: Convert to GENERIC_CMDLINE
> openrisc: Convert to GENERIC_CMDLINE
> riscv: Convert to GENERIC_CMDLINE
> sh: Convert to GENERIC_CMDLINE
> sparc: Convert to GENERIC_CMDLINE
> xtensa: Convert to GENERIC_CMDLINE
> x86: Convert to GENERIC_CMDLINE
> mips: Convert to GENERIC_CMDLINE
> cmdline: Remove CONFIG_CMDLINE_EXTEND
>
> arch/arm/Kconfig | 38 +-------------
> arch/arm/kernel/atags_parse.c | 15 ++----
> arch/arm64/Kconfig | 33 +-----------
> arch/arm64/kernel/idreg-override.c | 9 ++--
> arch/hexagon/Kconfig | 11 +---
> arch/hexagon/kernel/setup.c | 10 +---
> arch/microblaze/Kconfig | 24 +--------
> arch/microblaze/configs/mmu_defconfig | 2 +-
> arch/microblaze/kernel/head.S | 4 +-
> arch/mips/Kconfig | 1 +
> arch/mips/Kconfig.debug | 44 ----------------
> arch/mips/configs/ar7_defconfig | 1 -
> arch/mips/configs/bcm47xx_defconfig | 1 -
> arch/mips/configs/bcm63xx_defconfig | 1 -
> arch/mips/configs/bmips_be_defconfig | 1 -
> arch/mips/configs/bmips_stb_defconfig | 1 -
> arch/mips/configs/capcella_defconfig | 1 -
> arch/mips/configs/ci20_defconfig | 1 -
> arch/mips/configs/cu1000-neo_defconfig | 1 -
> arch/mips/configs/cu1830-neo_defconfig | 1 -
> arch/mips/configs/e55_defconfig | 1 -
> arch/mips/configs/generic_defconfig | 1 -
> arch/mips/configs/gpr_defconfig | 1 -
> arch/mips/configs/loongson3_defconfig | 1 -
> arch/mips/configs/mpc30x_defconfig | 1 -
> arch/mips/configs/rt305x_defconfig | 1 -
> arch/mips/configs/tb0219_defconfig | 1 -
> arch/mips/configs/tb0226_defconfig | 1 -
> arch/mips/configs/tb0287_defconfig | 1 -
> arch/mips/configs/workpad_defconfig | 1 -
> arch/mips/configs/xway_defconfig | 1 -
> arch/mips/kernel/relocate.c | 4 +-
> arch/mips/kernel/setup.c | 40 +--------------
> arch/mips/pic32/pic32mzda/early_console.c | 2 +-
> arch/mips/pic32/pic32mzda/init.c | 2 -
> arch/nios2/Kconfig | 24 +--------
> arch/nios2/kernel/setup.c | 13 ++---
> arch/openrisc/Kconfig | 10 +---
> arch/powerpc/Kconfig | 37 +------------
> arch/powerpc/kernel/prom_init.c | 17 +++---
> arch/riscv/Kconfig | 44 +---------------
> arch/riscv/kernel/setup.c | 5 +-
> arch/sh/Kconfig | 30 +----------
> arch/sh/configs/ap325rxa_defconfig | 2 +-
> arch/sh/configs/dreamcast_defconfig | 2 +-
> arch/sh/configs/ecovec24-romimage_defconfig | 2 +-
> arch/sh/configs/ecovec24_defconfig | 2 +-
> arch/sh/configs/edosk7760_defconfig | 2 +-
> arch/sh/configs/espt_defconfig | 2 +-
> arch/sh/configs/j2_defconfig | 2 +-
> arch/sh/configs/kfr2r09-romimage_defconfig | 2 +-
> arch/sh/configs/kfr2r09_defconfig | 2 +-
> arch/sh/configs/lboxre2_defconfig | 2 +-
> arch/sh/configs/microdev_defconfig | 2 +-
> arch/sh/configs/migor_defconfig | 2 +-
> arch/sh/configs/polaris_defconfig | 2 +-
> arch/sh/configs/r7780mp_defconfig | 2 +-
> arch/sh/configs/r7785rp_defconfig | 2 +-
> arch/sh/configs/rsk7201_defconfig | 2 +-
> arch/sh/configs/rsk7203_defconfig | 2 +-
> arch/sh/configs/rts7751r2d1_defconfig | 2 +-
> arch/sh/configs/rts7751r2dplus_defconfig | 2 +-
> arch/sh/configs/sdk7780_defconfig | 2 +-
> arch/sh/configs/sdk7786_defconfig | 2 +-
> arch/sh/configs/se7206_defconfig | 2 +-
> arch/sh/configs/se7343_defconfig | 2 +-
> arch/sh/configs/se7712_defconfig | 2 +-
> arch/sh/configs/se7721_defconfig | 2 +-
> arch/sh/configs/se7724_defconfig | 2 +-
> arch/sh/configs/se7751_defconfig | 2 +-
> arch/sh/configs/se7780_defconfig | 2 +-
> arch/sh/configs/sh03_defconfig | 2 +-
> arch/sh/configs/sh2007_defconfig | 2 +-
> arch/sh/configs/sh7757lcr_defconfig | 2 +-
> arch/sh/configs/sh7763rdp_defconfig | 2 +-
> arch/sh/configs/shmin_defconfig | 2 +-
> arch/sh/configs/shx3_defconfig | 2 +-
> arch/sh/configs/titan_defconfig | 2 +-
> arch/sh/configs/ul2_defconfig | 2 +-
> arch/sh/kernel/setup.c | 11 +---
> arch/sparc/Kconfig | 18 +------
> arch/sparc/prom/bootstr_64.c | 2 +-
> arch/x86/Kconfig | 45 +---------------
> arch/x86/kernel/setup.c | 17 +-----
> arch/xtensa/Kconfig | 15 +-----
> arch/xtensa/configs/audio_kc705_defconfig | 1 -
> arch/xtensa/configs/common_defconfig | 1 -
> arch/xtensa/configs/generic_kc705_defconfig | 1 -
> arch/xtensa/configs/iss_defconfig | 1 -
> arch/xtensa/configs/nommu_kc705_defconfig | 1 -
> arch/xtensa/configs/smp_lx200_defconfig | 1 -
> arch/xtensa/configs/virt_defconfig | 1 -
> arch/xtensa/configs/xip_kc705_defconfig | 1 -
> arch/xtensa/kernel/setup.c | 10 +---
> drivers/firmware/efi/libstub/x86-stub.c | 26 +++++-----

You missed efi-stub.c which has CMDLINE_EXTEND.

> drivers/of/fdt.c | 23 ++-------
> include/linux/cmdline.h | 57 +++++++++++++++++++++
> init/Kconfig | 46 +++++++++++++++++
> 98 files changed, 209 insertions(+), 580 deletions(-)
> create mode 100644 include/linux/cmdline.h
>
> --
> 2.25.0
>