Re: [PATCH 4/8] CMDLINE: mips: convert to generic builtin command line

From: Christophe Leroy
Date: Thu Nov 23 2023 - 01:37:07 EST




Le 10/11/2023 à 02:38, Daniel Walker a écrit :
> This updates the mips code to use the CONFIG_GENERIC_CMDLINE
> option.
>
> This deletes the option for MIPS_CMDLINE_BUILTIN_EXTEND
> and replaces the functionality with generic code.
>
> Of note, the pic32 has some strange handling of the current built
> in command line. It was converted to use the static variant which
> can't be updated after compilation. It should eventually be updated
> to use to append and prepend symbols.
>
> This includes a scripted mass convert of the config files to use
> the new generic cmdline. There is a bit of a trim effect here.
> It would seems that some of the config haven't been trimmed in
> a while.

trim effect should go in a separate preparatory patch in order to
clearly see what are the changes implied by this patch.

>
> The script used is as follows,
>
> if [[ -z "$1" || -z "$2" ]]; then
> echo "Two arguments are needed."
> exit 1
> fi
> mkdir $1
> cp $2 $1/.config
> sed -i 's/CONFIG_CMDLINE=/CONFIG_CMDLINE_BOOL=y\nCONFIG_CMDLINE_PREPEND=/g' $1/.config
> make ARCH=$1 O=$1 olddefconfig
> make ARCH=$1 O=$1 savedefconfig
> cp $1/defconfig $2
> rm -Rf $1
>
> Cc: xe-linux-external@xxxxxxxxx
> Signed-off-by: Ruslan Ruslichenko <rruslich@xxxxxxxxx>
> Signed-off-by: Ruslan Bilovol <rbilovol@xxxxxxxxx>
> Signed-off-by: Daniel Walker <danielwa@xxxxxxxxx>
> ---
> arch/mips/Kconfig | 4 +-
> arch/mips/Kconfig.debug | 44 -------
> arch/mips/configs/ar7_defconfig | 12 +-
> arch/mips/configs/bcm47xx_defconfig | 10 +-
> arch/mips/configs/bcm63xx_defconfig | 21 ++--
> arch/mips/configs/bmips_be_defconfig | 17 ++-
> arch/mips/configs/bmips_stb_defconfig | 139 ++++++++--------------
> arch/mips/configs/ci20_defconfig | 8 +-
> arch/mips/configs/cu1000-neo_defconfig | 19 ++-
> arch/mips/configs/cu1830-neo_defconfig | 19 ++-
> arch/mips/configs/generic_defconfig | 15 +--
> arch/mips/configs/gpr_defconfig | 33 ++---
> arch/mips/configs/loongson3_defconfig | 29 ++---
> arch/mips/include/asm/setup.h | 2 +
> arch/mips/kernel/relocate.c | 17 ++-
> arch/mips/kernel/setup.c | 36 +-----
> arch/mips/pic32/pic32mzda/early_console.c | 2 +-
> arch/mips/pic32/pic32mzda/init.c | 3 +-
> 18 files changed, 144 insertions(+), 286 deletions(-)
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index bc8421859006..65fd3decc6b1 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -31,6 +31,7 @@ config MIPS
> select CPU_NO_EFFICIENT_FFS if (TARGET_ISA_REV < 1)
> select CPU_PM if CPU_IDLE
> select GENERIC_ATOMIC64 if !64BIT
> + select GENERIC_CMDLINE
> select GENERIC_CMOS_UPDATE
> select GENERIC_CPU_AUTOPROBE
> select GENERIC_GETTIMEOFDAY
> @@ -2989,9 +2990,6 @@ choice
> config MIPS_CMDLINE_FROM_BOOTLOADER
> bool "Bootloader kernel arguments if available"
>
> - config MIPS_CMDLINE_BUILTIN_EXTEND
> - depends on CMDLINE_BOOL
> - bool "Extend builtin kernel arguments with bootloader arguments"
> endchoice
>
> endmenu
> diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug
> index f4ae7900fcd3..f9da53d4ebd2 100644
> --- a/arch/mips/Kconfig.debug
> +++ b/arch/mips/Kconfig.debug
> @@ -26,50 +26,6 @@ config EARLY_PRINTK_8250
> config USE_GENERIC_EARLY_PRINTK_8250
> bool
>
> -config CMDLINE_BOOL
> - bool "Built-in kernel command line"
> - help
> - For most systems, it is firmware or second stage bootloader that
> - by default specifies the kernel command line options. However,
> - it might be necessary or advantageous to either override the
> - default kernel command line or add a few extra options to it.
> - For such cases, this option allows you to hardcode your own
> - command line options directly into the kernel. For that, you
> - should choose 'Y' here, and fill in the extra boot arguments
> - in CONFIG_CMDLINE.
> -
> - The built-in options will be concatenated to the default command
> - line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
> - command line will be ignored and replaced by the built-in string.
> -
> - Most MIPS systems will normally expect 'N' here and rely upon
> - the command line from the firmware or the second-stage bootloader.
> -
> -config CMDLINE
> - string "Default kernel command string"
> - depends on CMDLINE_BOOL
> - help
> - On some platforms, there is currently no way for the boot loader to
> - pass arguments to the kernel. For these platforms, and for the cases
> - when you want to add some extra options to the command line or ignore
> - the default command line, you can supply some command-line options at
> - build time by entering them here. In other cases you can specify
> - kernel args so that you don't have to set them up in board prom
> - initialization routines.
> -
> - For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
> - options.
> -
> -config CMDLINE_OVERRIDE
> - bool "Built-in command line overrides firmware arguments"
> - depends on CMDLINE_BOOL
> - help
> - By setting this option to 'Y' you will have your kernel ignore
> - command line arguments from firmware or second stage bootloader.
> - Instead, the built-in command line will be used exclusively.
> -
> - Normally, you will choose 'N' here.
> -
> config SB1XXX_CORELIS
> bool "Corelis Debugger"
> depends on SIBYTE_SB1xxx_SOC
> diff --git a/arch/mips/configs/ar7_defconfig b/arch/mips/configs/ar7_defconfig
> index 329c60aa570a..0dff0795705e 100644
> --- a/arch/mips/configs/ar7_defconfig
> +++ b/arch/mips/configs/ar7_defconfig
> @@ -9,17 +9,18 @@ CONFIG_BLK_DEV_INITRD=y
> CONFIG_EXPERT=y
> # CONFIG_ELF_CORE is not set
> # CONFIG_KALLSYMS is not set
> -# CONFIG_VM_EVENT_COUNTERS is not set
> -# CONFIG_COMPAT_BRK is not set
> +CONFIG_KEXEC=y
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="rootfstype=squashfs,jffs2"
> CONFIG_AR7=y
> CONFIG_HZ_100=y
> -CONFIG_KEXEC=y
> # CONFIG_SECCOMP is not set
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> -# CONFIG_BLK_DEV_BSG is not set
> CONFIG_PARTITION_ADVANCED=y
> CONFIG_BSD_DISKLABEL=y
> +# CONFIG_COMPAT_BRK is not set
> +# CONFIG_VM_EVENT_COUNTERS is not set
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_UNIX=y
> @@ -39,7 +40,6 @@ CONFIG_TCP_CONG_WESTWOOD=y
> # CONFIG_TCP_CONG_HTCP is not set
> # CONFIG_IPV6 is not set
> CONFIG_NETFILTER=y
> -# CONFIG_BRIDGE_NETFILTER is not set
> CONFIG_NF_CONNTRACK=m
> CONFIG_NF_CONNTRACK_MARK=y
> CONFIG_NF_CONNTRACK_FTP=m
> @@ -115,5 +115,3 @@ CONFIG_SQUASHFS=y
> # CONFIG_CRYPTO_HW is not set
> CONFIG_STRIP_ASM_SYMS=y
> CONFIG_DEBUG_FS=y
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
> diff --git a/arch/mips/configs/bcm47xx_defconfig b/arch/mips/configs/bcm47xx_defconfig
> index 6a68a96d13f8..26e2134f83af 100644
> --- a/arch/mips/configs/bcm47xx_defconfig
> +++ b/arch/mips/configs/bcm47xx_defconfig
> @@ -3,8 +3,9 @@ CONFIG_HIGH_RES_TIMERS=y
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> CONFIG_EXPERT=y
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="console=ttyS0,115200"
> CONFIG_BCM47XX=y
> -CONFIG_PCI=y
> # CONFIG_SUSPEND is not set
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> @@ -31,6 +32,7 @@ CONFIG_NET_SCH_FQ_CODEL=y
> CONFIG_HAMRADIO=y
> CONFIG_CFG80211=y
> CONFIG_MAC80211=y
> +CONFIG_PCI=y
> CONFIG_MTD=y
> CONFIG_MTD_BCM47XX_PARTS=y
> CONFIG_MTD_BLOCK=y
> @@ -67,14 +69,10 @@ CONFIG_BCMA_DRIVER_GMAC_CMN=y
> CONFIG_USB=y
> CONFIG_USB_HCD_BCMA=y
> CONFIG_USB_HCD_SSB=y
> -CONFIG_LEDS_TRIGGER_TIMER=y
> -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
> CONFIG_CRC32_SARWATE=y
> CONFIG_PRINTK_TIME=y
> CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
> CONFIG_DEBUG_INFO_REDUCED=y
> CONFIG_STRIP_ASM_SYMS=y
> -CONFIG_DEBUG_FS=y
> CONFIG_MAGIC_SYSRQ=y
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="console=ttyS0,115200"
> +CONFIG_DEBUG_FS=y
> diff --git a/arch/mips/configs/bcm63xx_defconfig b/arch/mips/configs/bcm63xx_defconfig
> index 34d0ca638ef0..0a73fd34063f 100644
> --- a/arch/mips/configs/bcm63xx_defconfig
> +++ b/arch/mips/configs/bcm63xx_defconfig
> @@ -1,5 +1,4 @@
> # CONFIG_LOCALVERSION_AUTO is not set
> -# CONFIG_SWAP is not set
> CONFIG_NO_HZ=y
> CONFIG_EXPERT=y
> # CONFIG_FUTEX is not set
> @@ -9,18 +8,16 @@ CONFIG_EXPERT=y
> # CONFIG_EVENTFD is not set
> # CONFIG_SHMEM is not set
> # CONFIG_AIO is not set
> -# CONFIG_VM_EVENT_COUNTERS is not set
> -# CONFIG_SLUB_DEBUG is not set
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="console=ttyS0,115200"
> CONFIG_BCM63XX=y
> CONFIG_BCM63XX_CPU_6338=y
> CONFIG_BCM63XX_CPU_6345=y
> CONFIG_BCM63XX_CPU_6348=y
> CONFIG_BCM63XX_CPU_6358=y
> # CONFIG_SECCOMP is not set
> -CONFIG_PCI=y
> -CONFIG_PCCARD=y
> -CONFIG_PCMCIA_BCM63XX=y
> -# CONFIG_BLK_DEV_BSG is not set
> +# CONFIG_SWAP is not set
> +# CONFIG_VM_EVENT_COUNTERS is not set
> CONFIG_NET=y
> CONFIG_UNIX=y
> CONFIG_INET=y
> @@ -29,6 +26,10 @@ CONFIG_INET=y
> CONFIG_CFG80211=y
> CONFIG_NL80211_TESTMODE=y
> CONFIG_MAC80211=y
> +CONFIG_PCI=y
> +# CONFIG_VGA_ARB is not set
> +CONFIG_PCCARD=y
> +CONFIG_PCMCIA_BCM63XX=y
> # CONFIG_STANDALONE is not set
> # CONFIG_PREVENT_FIRMWARE_BUILD is not set
> CONFIG_MTD=y
> @@ -47,11 +48,8 @@ CONFIG_B43=y
> # CONFIG_SERIO is not set
> # CONFIG_VT is not set
> # CONFIG_UNIX98_PTYS is not set
> -CONFIG_SERIAL_BCM63XX=y
> -CONFIG_SERIAL_BCM63XX_CONSOLE=y
> # CONFIG_HW_RANDOM is not set
> # CONFIG_HWMON is not set
> -# CONFIG_VGA_ARB is not set
> CONFIG_USB=y
> CONFIG_USB_EHCI_HCD=y
> # CONFIG_USB_EHCI_TT_NEWSCHED is not set
> @@ -62,5 +60,4 @@ CONFIG_PROC_KCORE=y
> # CONFIG_NETWORK_FILESYSTEMS is not set
> # CONFIG_CRYPTO_HW is not set
> CONFIG_MAGIC_SYSRQ=y
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="console=ttyS0,115200"
> +# CONFIG_SLUB_DEBUG is not set
> diff --git a/arch/mips/configs/bmips_be_defconfig b/arch/mips/configs/bmips_be_defconfig
> index daef132d000b..0b2b7685330f 100644
> --- a/arch/mips/configs/bmips_be_defconfig
> +++ b/arch/mips/configs/bmips_be_defconfig
> @@ -1,17 +1,17 @@
> # CONFIG_LOCALVERSION_AUTO is not set
> -# CONFIG_SWAP is not set
> CONFIG_NO_HZ=y
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_EXPERT=y
> -# CONFIG_VM_EVENT_COUNTERS is not set
> -# CONFIG_SLUB_DEBUG is not set
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="earlycon"
> CONFIG_BMIPS_GENERIC=y
> CONFIG_HIGHMEM=y
> CONFIG_SMP=y
> CONFIG_NR_CPUS=4
> -# CONFIG_SECCOMP is not set
> CONFIG_MIPS_O32_FP64_SUPPORT=y
> -# CONFIG_BLK_DEV_BSG is not set
> +# CONFIG_SECCOMP is not set
> +# CONFIG_SWAP is not set
> +# CONFIG_VM_EVENT_COUNTERS is not set
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_PACKET_DIAG=y
> @@ -34,6 +34,7 @@ CONFIG_MTD_PHYSMAP=y
> # CONFIG_BLK_DEV is not set
> CONFIG_SCSI=y
> CONFIG_BLK_DEV_SD=y
> +# CONFIG_BLK_DEV_BSG is not set
> # CONFIG_SCSI_LOWLEVEL is not set
> CONFIG_NETDEVICES=y
> CONFIG_BCMGENET=y
> @@ -41,7 +42,6 @@ CONFIG_USB_USBNET=y
> # CONFIG_INPUT is not set
> # CONFIG_SERIO is not set
> # CONFIG_VT is not set
> -CONFIG_SERIAL_BCM63XX=y
> CONFIG_SERIAL_BCM63XX_CONSOLE=y
> # CONFIG_HW_RANDOM is not set
> CONFIG_POWER_RESET=y
> @@ -70,7 +70,6 @@ CONFIG_NLS_ASCII=y
> CONFIG_NLS_ISO8859_1=y
> # CONFIG_CRYPTO_HW is not set
> CONFIG_PRINTK_TIME=y
> -CONFIG_DEBUG_FS=y
> CONFIG_MAGIC_SYSRQ=y
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="earlycon"
> +CONFIG_DEBUG_FS=y
> +# CONFIG_SLUB_DEBUG is not set
> diff --git a/arch/mips/configs/bmips_stb_defconfig b/arch/mips/configs/bmips_stb_defconfig
> index cd0dc37c3d84..4f96a1da7610 100644
> --- a/arch/mips/configs/bmips_stb_defconfig
> +++ b/arch/mips/configs/bmips_stb_defconfig
> @@ -1,59 +1,44 @@
> # CONFIG_LOCALVERSION_AUTO is not set
> -# CONFIG_SWAP is not set
> +CONFIG_SYSVIPC=y
> CONFIG_NO_HZ=y
> -CONFIG_HZ=1000
> +CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_CGROUPS=y
> CONFIG_BLK_DEV_INITRD=y
> +# CONFIG_RD_GZIP is not set
> +# CONFIG_RD_BZIP2 is not set
> +# CONFIG_RD_LZMA is not set
> +# CONFIG_RD_LZO is not set
> +# CONFIG_RD_LZ4 is not set
> CONFIG_EXPERT=y
> -# CONFIG_VM_EVENT_COUNTERS is not set
> -# CONFIG_SLUB_DEBUG is not set
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="earlycon"
> CONFIG_BMIPS_GENERIC=y
> CONFIG_CPU_LITTLE_ENDIAN=y
> CONFIG_HIGHMEM=y
> -CONFIG_HIGH_RES_TIMERS=y
> CONFIG_SMP=y
> CONFIG_NR_CPUS=4
> -# CONFIG_SECCOMP is not set
> CONFIG_MIPS_O32_FP64_SUPPORT=y
> -# CONFIG_RD_GZIP is not set
> -# CONFIG_RD_BZIP2 is not set
> -# CONFIG_RD_LZMA is not set
> -CONFIG_RD_XZ=y
> -# CONFIG_RD_LZO is not set
> -# CONFIG_RD_LZ4 is not set
> -CONFIG_PCI=y
> -CONFIG_PCI_MSI=y
> -CONFIG_PCIEASPM_POWERSAVE=y
> -CONFIG_PCIEPORTBUS=y
> -CONFIG_PCIE_BRCMSTB=y
> +CONFIG_MIPS_CMDLINE_DTB_EXTEND=y
> +CONFIG_PM_DEBUG=y
> CONFIG_CPU_FREQ=y
> CONFIG_CPU_FREQ_STAT=y
> -CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
> -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
> CONFIG_CPU_FREQ_GOV_POWERSAVE=y
> CONFIG_CPU_FREQ_GOV_USERSPACE=y
> CONFIG_CPU_FREQ_GOV_ONDEMAND=y
> CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
> CONFIG_BMIPS_CPUFREQ=y
> -# CONFIG_BLK_DEV_BSG is not set
> +# CONFIG_SECCOMP is not set
> +CONFIG_MODULES=y
> +CONFIG_MODULE_FORCE_LOAD=y
> +CONFIG_MODULE_UNLOAD=y
> +CONFIG_MODVERSIONS=y
> +# CONFIG_SWAP is not set
> +# CONFIG_VM_EVENT_COUNTERS is not set
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_PACKET_DIAG=y
> CONFIG_UNIX=y
> CONFIG_INET=y
> -# CONFIG_INET_DIAG is not set
> -CONFIG_CFG80211=y
> -CONFIG_NL80211_TESTMODE=y
> -CONFIG_WIRELESS=y
> -CONFIG_MAC80211=y
> -CONFIG_DEVTMPFS=y
> -CONFIG_DEVTMPFS_MOUNT=y
> -# CONFIG_STANDALONE is not set
> -# CONFIG_PREVENT_FIRMWARE_BUILD is not set
> -CONFIG_BRCMSTB_GISB_ARB=y
> -CONFIG_MODULES=y
> -CONFIG_MODULE_FORCE_LOAD=y
> -CONFIG_MODULE_UNLOAD=y
> -CONFIG_MODVERSIONS=y
> CONFIG_IP_MULTICAST=y
> CONFIG_IP_PNP=y
> CONFIG_IP_PNP_DHCP=y
> @@ -62,25 +47,32 @@ CONFIG_IP_PNP_RARP=y
> CONFIG_IP_MROUTE=y
> CONFIG_IP_PIMSM_V1=y
> CONFIG_IP_PIMSM_V2=y
> -CONFIG_INET_UDP_DIAG=y
> +# CONFIG_INET_DIAG is not set
> CONFIG_TCP_CONG_ADVANCED=y
> CONFIG_TCP_CONG_BIC=y
> # CONFIG_TCP_CONG_WESTWOOD is not set
> # CONFIG_TCP_CONG_HTCP is not set
> # CONFIG_IPV6 is not set
> -CONFIG_IP_NF_IPTABLES=y
> -CONFIG_IP_NF_FILTER=y
> CONFIG_NETFILTER=y
> -CONFIG_NETFILTER_XTABLES=y
> -CONFIG_BRIDGE=y
> CONFIG_BRIDGE_NETFILTER=m
> +CONFIG_IP_NF_IPTABLES=y
> +CONFIG_IP_NF_FILTER=y
> CONFIG_BRIDGE_NF_EBTABLES=m
> CONFIG_BRIDGE_EBT_BROUTE=m
> +CONFIG_BRIDGE=y
> CONFIG_NET_DSA=y
> -CONFIG_NET_SWITCHDEV=y
> -CONFIG_DMA_CMA=y
> -CONFIG_CMA_ALIGNMENT=12
> -CONFIG_SPI=y
> +CONFIG_VLAN_8021Q=y
> +CONFIG_CFG80211=y
> +CONFIG_NL80211_TESTMODE=y
> +CONFIG_MAC80211=y
> +CONFIG_PCI=y
> +CONFIG_PCIEPORTBUS=y
> +CONFIG_PCIEASPM_POWERSAVE=y
> +CONFIG_PCI_MSI=y
> +CONFIG_DEVTMPFS=y
> +CONFIG_DEVTMPFS_MOUNT=y
> +# CONFIG_STANDALONE is not set
> +# CONFIG_PREVENT_FIRMWARE_BUILD is not set
> CONFIG_MTD=y
> CONFIG_MTD_CMDLINE_PARTS=y
> CONFIG_MTD_BLOCK=y
> @@ -91,22 +83,21 @@ CONFIG_MTD_CFI_AMDSTD=y
> CONFIG_MTD_CFI_STAA=y
> CONFIG_MTD_ROM=y
> CONFIG_MTD_ABSENT=y
> -CONFIG_MTD_PHYSMAP_OF=y
> +CONFIG_MTD_RAW_NAND=y
> CONFIG_MTD_NAND_BRCMNAND=y
> CONFIG_MTD_SPI_NOR=y
> # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
> CONFIG_MTD_UBI=y
> CONFIG_MTD_UBI_GLUEBI=y
> -CONFIG_BLK_DEV_LOOP=y
> -CONFIG_BLK_DEV_RAM=y
> -CONFIG_BLK_DEV_RAM_SIZE=8192
> # CONFIG_BLK_DEV is not set
> -CONFIG_SCSI=y
> CONFIG_BLK_DEV_SD=y
> CONFIG_CHR_DEV_SG=y
> +# CONFIG_BLK_DEV_BSG is not set
> # CONFIG_SCSI_LOWLEVEL is not set
> +CONFIG_ATA=y
> +CONFIG_SATA_AHCI_PLATFORM=y
> +CONFIG_AHCI_BRCM=y
> CONFIG_NETDEVICES=y
> -CONFIG_VLAN_8021Q=y
> CONFIG_MACVLAN=y
> CONFIG_BCMGENET=y
> CONFIG_USB_USBNET=y
> @@ -116,15 +107,16 @@ CONFIG_INPUT_EVDEV=y
> CONFIG_INPUT_MISC=y
> CONFIG_INPUT_UINPUT=y
> # CONFIG_SERIO is not set
> -CONFIG_VT=y
> CONFIG_VT_HW_CONSOLE_BINDING=y
> CONFIG_SERIAL_8250=y
> # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
> CONFIG_SERIAL_8250_CONSOLE=y
> CONFIG_SERIAL_OF_PLATFORM=y
> # CONFIG_HW_RANDOM is not set
> +CONFIG_SPI=y
> +CONFIG_GPIOLIB=y
> +CONFIG_GPIO_SYSFS=y
> CONFIG_POWER_RESET=y
> -CONFIG_POWER_RESET_BRCMSTB=y
> CONFIG_POWER_RESET_SYSCON=y
> CONFIG_POWER_SUPPLY=y
> # CONFIG_HWMON is not set
> @@ -135,21 +127,18 @@ CONFIG_USB_EHCI_HCD_PLATFORM=y
> CONFIG_USB_OHCI_HCD=y
> CONFIG_USB_OHCI_HCD_PLATFORM=y
> CONFIG_USB_STORAGE=y
> -CONFIG_SOC_BRCMSTB=y
> CONFIG_MMC=y
> CONFIG_MMC_BLOCK_MINORS=16
> CONFIG_MMC_SDHCI=y
> CONFIG_MMC_SDHCI_PLTFM=y
> +CONFIG_SOC_BRCMSTB=y
> +CONFIG_PHY_BRCM_SATA=y
> CONFIG_EXT4_FS=y
> CONFIG_EXT4_FS_POSIX_ACL=y
> CONFIG_EXT4_FS_SECURITY=y
> -# CONFIG_DNOTIFY is not set
> -CONFIG_PROC_KCORE=y
> -CONFIG_CIFS=y
> CONFIG_JBD2_DEBUG=y
> +# CONFIG_DNOTIFY is not set
> CONFIG_FUSE_FS=y
> -CONFIG_FHANDLE=y
> -CONFIG_CGROUPS=y
> CONFIG_CUSE=y
> CONFIG_ISO9660_FS=y
> CONFIG_JOLIET=y
> @@ -157,6 +146,7 @@ CONFIG_ZISOFS=y
> CONFIG_UDF_FS=y
> CONFIG_MSDOS_FS=y
> CONFIG_VFAT_FS=y
> +CONFIG_PROC_KCORE=y
> CONFIG_TMPFS=y
> CONFIG_JFFS2_FS=y
> CONFIG_UBIFS_FS=y
> @@ -169,42 +159,17 @@ CONFIG_NFS_V4=y
> CONFIG_NFS_V4_1=y
> CONFIG_NFS_V4_2=y
> CONFIG_ROOT_NFS=y
> +CONFIG_CIFS=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=y
> +# CONFIG_CRYPTO_HW is not set
> CONFIG_PRINTK_TIME=y
> CONFIG_DYNAMIC_DEBUG=y
> -# CONFIG_DEBUG_INFO is not set
> -# CONFIG_DEBUG_INFO_REDUCED is not set
> -CONFIG_DEBUG_FS=y
> CONFIG_MAGIC_SYSRQ=y
> -CONFIG_LOCKUP_DETECTOR=y
> -CONFIG_DEBUG_USER=y
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="earlycon"
> -# CONFIG_MIPS_CMDLINE_FROM_DTB is not set
> -CONFIG_MIPS_CMDLINE_DTB_EXTEND=y
> -# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
> -# CONFIG_CRYPTO_HW is not set
> -CONFIG_FW_CFE=y
> -CONFIG_ATA=y
> -CONFIG_SATA_AHCI_PLATFORM=y
> -CONFIG_GENERIC_PHY=y
> -CONFIG_GPIOLIB=y
> -CONFIG_GPIO_SYSFS=y
> -CONFIG_PHY_BRCM_USB=y
> -CONFIG_PHY_BRCM_SATA=y
> -CONFIG_PM_DEBUG=y
> -CONFIG_SYSVIPC=y
> -CONFIG_FUNCTION_GRAPH_TRACER=y
> -CONFIG_DYNAMIC_FTRACE=y
> -CONFIG_FUNCTION_TRACER=y
> +# CONFIG_SLUB_DEBUG is not set
> CONFIG_FUNCTION_PROFILER=y
> +CONFIG_STACK_TRACER=y
> CONFIG_IRQSOFF_TRACER=y
> CONFIG_SCHED_TRACER=y
> -CONFIG_BLK_DEV_IO_TRACE=y
> CONFIG_FTRACE_SYSCALLS=y
> -CONFIG_TRACER_SNAPSHOT=y
> -CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y
> -CONFIG_STACK_TRACER=y
> -CONFIG_AHCI_BRCM=y
> -CONFIG_MTD_RAW_NAND=y
> +CONFIG_BLK_DEV_IO_TRACE=y
> diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
> index cdf2a782dee1..87d34b903f04 100644
> --- a/arch/mips/configs/ci20_defconfig
> +++ b/arch/mips/configs/ci20_defconfig
> @@ -17,8 +17,10 @@ CONFIG_CGROUP_CPUACCT=y
> CONFIG_NAMESPACES=y
> CONFIG_USER_NS=y
> CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> -CONFIG_KALLSYMS_ALL=y
> CONFIG_EXPERT=y
> +CONFIG_KALLSYMS_ALL=y
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="earlycon console=ttyS4,115200 clk_ignore_unused"
> CONFIG_MACH_INGENIC_SOC=y
> CONFIG_JZ4780_CI20=y
> CONFIG_HIGHMEM=y
> @@ -126,7 +128,6 @@ CONFIG_DRM_INGENIC=m
> CONFIG_DRM_INGENIC_DW_HDMI=m
> CONFIG_FB=y
> # CONFIG_VGA_CONSOLE is not set
> -CONFIG_FRAMEBUFFER_CONSOLE=y
> CONFIG_USB=y
> CONFIG_USB_STORAGE=y
> CONFIG_USB_DWC2=y
> @@ -225,7 +226,4 @@ CONFIG_DEBUG_FS=y
> CONFIG_PANIC_ON_OOPS=y
> CONFIG_PANIC_TIMEOUT=10
> # CONFIG_SCHED_DEBUG is not set
> -CONFIG_STACKTRACE=y
> # CONFIG_FTRACE is not set
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="earlycon console=ttyS4,115200 clk_ignore_unused"
> diff --git a/arch/mips/configs/cu1000-neo_defconfig b/arch/mips/configs/cu1000-neo_defconfig
> index 19517beaf540..f5be8b992a0c 100644
> --- a/arch/mips/configs/cu1000-neo_defconfig
> +++ b/arch/mips/configs/cu1000-neo_defconfig
> @@ -14,20 +14,22 @@ CONFIG_CGROUP_CPUACCT=y
> CONFIG_NAMESPACES=y
> CONFIG_USER_NS=y
> CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> -CONFIG_KALLSYMS_ALL=y
> CONFIG_EXPERT=y
> -# CONFIG_VM_EVENT_COUNTERS is not set
> -# CONFIG_COMPAT_BRK is not set
> +CONFIG_KALLSYMS_ALL=y
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="earlycon clk_ignore_unused"
> CONFIG_MACH_INGENIC_SOC=y
> CONFIG_X1000_CU1000_NEO=y
> CONFIG_HIGHMEM=y
> CONFIG_HZ_100=y
> -# CONFIG_SECCOMP is not set
> # CONFIG_SUSPEND is not set
> +# CONFIG_SECCOMP is not set
> CONFIG_MODULES=y
> # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
> +# CONFIG_COMPAT_BRK is not set
> # CONFIG_COMPACTION is not set
> CONFIG_CMA=y
> +# CONFIG_VM_EVENT_COUNTERS is not set
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_UNIX=y
> @@ -66,7 +68,6 @@ CONFIG_SENSORS_ADS7828=m
> CONFIG_WATCHDOG=y
> CONFIG_JZ4740_WDT=y
> # CONFIG_VGA_CONSOLE is not set
> -# CONFIG_HID is not set
> CONFIG_USB=y
> CONFIG_USB_STORAGE=y
> CONFIG_USB_DWC2=y
> @@ -86,7 +87,6 @@ CONFIG_DMA_JZ4780=y
> # CONFIG_INGENIC_TIMER is not set
> CONFIG_INGENIC_SYSOST=y
> # CONFIG_IOMMU_SUPPORT is not set
> -CONFIG_JZ4770_PHY=y
> CONFIG_EXT4_FS=y
> # CONFIG_DNOTIFY is not set
> CONFIG_AUTOFS_FS=y
> @@ -97,15 +97,14 @@ CONFIG_PROC_KCORE=y
> CONFIG_TMPFS=y
> CONFIG_CONFIGFS_FS=y
> CONFIG_NFS_FS=y
> -CONFIG_NLS=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_CODEPAGE_936=y
> CONFIG_NLS_CODEPAGE_950=y
> CONFIG_NLS_ASCII=y
> CONFIG_NLS_ISO8859_1=y
> CONFIG_NLS_UTF8=y
> -CONFIG_CRYPTO_ECHAINIV=y
> CONFIG_CRYPTO_AES=y
> +CONFIG_CRYPTO_ECHAINIV=y
> CONFIG_CRYPTO_DEFLATE=y
> CONFIG_CRYPTO_LZO=y
> CONFIG_PRINTK_TIME=y
> @@ -119,8 +118,4 @@ CONFIG_DEBUG_FS=y
> CONFIG_PANIC_ON_OOPS=y
> CONFIG_PANIC_TIMEOUT=10
> # CONFIG_SCHED_DEBUG is not set
> -# CONFIG_DEBUG_PREEMPT is not set
> -CONFIG_STACKTRACE=y
> # CONFIG_FTRACE is not set
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="earlycon clk_ignore_unused"
> diff --git a/arch/mips/configs/cu1830-neo_defconfig b/arch/mips/configs/cu1830-neo_defconfig
> index b403e67ab105..b02d32f19604 100644
> --- a/arch/mips/configs/cu1830-neo_defconfig
> +++ b/arch/mips/configs/cu1830-neo_defconfig
> @@ -14,20 +14,22 @@ CONFIG_CGROUP_CPUACCT=y
> CONFIG_NAMESPACES=y
> CONFIG_USER_NS=y
> CONFIG_CC_OPTIMIZE_FOR_SIZE=y
> -CONFIG_KALLSYMS_ALL=y
> CONFIG_EXPERT=y
> -# CONFIG_VM_EVENT_COUNTERS is not set
> -# CONFIG_COMPAT_BRK is not set
> +CONFIG_KALLSYMS_ALL=y
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="earlycon clk_ignore_unused"
> CONFIG_MACH_INGENIC_SOC=y
> CONFIG_X1830_CU1830_NEO=y
> CONFIG_HIGHMEM=y
> CONFIG_HZ_100=y
> -# CONFIG_SECCOMP is not set
> # CONFIG_SUSPEND is not set
> +# CONFIG_SECCOMP is not set
> CONFIG_MODULES=y
> # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
> +# CONFIG_COMPAT_BRK is not set
> # CONFIG_COMPACTION is not set
> CONFIG_CMA=y
> +# CONFIG_VM_EVENT_COUNTERS is not set
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_UNIX=y
> @@ -69,7 +71,6 @@ CONFIG_SENSORS_ADS7828=m
> CONFIG_WATCHDOG=y
> CONFIG_JZ4740_WDT=y
> # CONFIG_VGA_CONSOLE is not set
> -# CONFIG_HID is not set
> CONFIG_USB=y
> CONFIG_USB_STORAGE=y
> CONFIG_USB_DWC2=y
> @@ -89,7 +90,6 @@ CONFIG_DMA_JZ4780=y
> # CONFIG_INGENIC_TIMER is not set
> CONFIG_INGENIC_SYSOST=y
> # CONFIG_IOMMU_SUPPORT is not set
> -CONFIG_JZ4770_PHY=y
> CONFIG_EXT4_FS=y
> # CONFIG_DNOTIFY is not set
> CONFIG_AUTOFS_FS=y
> @@ -100,15 +100,14 @@ CONFIG_PROC_KCORE=y
> CONFIG_TMPFS=y
> CONFIG_CONFIGFS_FS=y
> CONFIG_NFS_FS=y
> -CONFIG_NLS=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_CODEPAGE_936=y
> CONFIG_NLS_CODEPAGE_950=y
> CONFIG_NLS_ASCII=y
> CONFIG_NLS_ISO8859_1=y
> CONFIG_NLS_UTF8=y
> -CONFIG_CRYPTO_ECHAINIV=y
> CONFIG_CRYPTO_AES=y
> +CONFIG_CRYPTO_ECHAINIV=y
> CONFIG_CRYPTO_DEFLATE=y
> CONFIG_CRYPTO_LZO=y
> CONFIG_PRINTK_TIME=y
> @@ -122,8 +121,4 @@ CONFIG_DEBUG_FS=y
> CONFIG_PANIC_ON_OOPS=y
> CONFIG_PANIC_TIMEOUT=10
> # CONFIG_SCHED_DEBUG is not set
> -# CONFIG_DEBUG_PREEMPT is not set
> -CONFIG_STACKTRACE=y
> # CONFIG_FTRACE is not set
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="earlycon clk_ignore_unused"
> diff --git a/arch/mips/configs/generic_defconfig b/arch/mips/configs/generic_defconfig
> index 071e2205c7ed..53eddba32478 100644
> --- a/arch/mips/configs/generic_defconfig
> +++ b/arch/mips/configs/generic_defconfig
> @@ -1,5 +1,6 @@
> CONFIG_SYSVIPC=y
> CONFIG_NO_HZ_IDLE=y
> +CONFIG_BPF_SYSCALL=y
> CONFIG_IKCONFIG=y
> CONFIG_IKCONFIG_PROC=y
> CONFIG_MEMCG=y
> @@ -15,11 +16,9 @@ CONFIG_NAMESPACES=y
> CONFIG_USER_NS=y
> CONFIG_SCHED_AUTOGROUP=y
> CONFIG_BLK_DEV_INITRD=y
> -CONFIG_BPF_SYSCALL=y
> -CONFIG_USERFAULTFD=y
> CONFIG_EXPERT=y
> -# CONFIG_SLUB_DEBUG is not set
> -# CONFIG_COMPAT_BRK is not set
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="earlycon"
> CONFIG_CPU_LITTLE_ENDIAN=y
> CONFIG_MIPS_CPS=y
> CONFIG_HIGHMEM=y
> @@ -29,6 +28,8 @@ CONFIG_JUMP_LABEL=y
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> CONFIG_TRIM_UNUSED_KSYMS=y
> +# CONFIG_COMPAT_BRK is not set
> +CONFIG_USERFAULTFD=y
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_UNIX=y
> @@ -44,14 +45,11 @@ CONFIG_HW_RANDOM=y
> # CONFIG_HWMON is not set
> CONFIG_MFD_SYSCON=y
> CONFIG_HID_A4TECH=y
> -CONFIG_HID_APPLE=y
> CONFIG_HID_BELKIN=y
> CONFIG_HID_CHERRY=y
> -CONFIG_HID_CHICONY=y
> CONFIG_HID_CYPRESS=y
> CONFIG_HID_EZKEY=y
> CONFIG_HID_KENSINGTON=y
> -CONFIG_HID_LOGITECH=y
> CONFIG_HID_MICROSOFT=y
> CONFIG_HID_MONTEREY=y
> # CONFIG_MIPS_PLATFORM_DEVICES is not set
> @@ -85,7 +83,6 @@ CONFIG_PRINTK_TIME=y
> CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
> CONFIG_DEBUG_INFO_REDUCED=y
> CONFIG_DEBUG_FS=y
> +# CONFIG_SLUB_DEBUG is not set
> # CONFIG_SCHED_DEBUG is not set
> # CONFIG_FTRACE is not set
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="earlycon"
> diff --git a/arch/mips/configs/gpr_defconfig b/arch/mips/configs/gpr_defconfig
> index 92fc0edbac47..5c070a81a26d 100644
> --- a/arch/mips/configs/gpr_defconfig
> +++ b/arch/mips/configs/gpr_defconfig
> @@ -9,9 +9,10 @@ CONFIG_RELAY=y
> CONFIG_BLK_DEV_INITRD=y
> CONFIG_EXPERT=y
> CONFIG_PROFILING=y
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="console=ttyS0,115200 root=/dev/nfs rw ip=auto"
> CONFIG_MIPS_ALCHEMY=y
> CONFIG_MIPS_GPR=y
> -CONFIG_PCI=y
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> CONFIG_PARTITION_ADVANCED=y
> @@ -45,7 +46,6 @@ CONFIG_NETFILTER_XT_MATCH_LIMIT=m
> CONFIG_NETFILTER_XT_MATCH_MAC=m
> CONFIG_NETFILTER_XT_MATCH_MARK=m
> CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
> -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
> CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
> CONFIG_NETFILTER_XT_MATCH_QUOTA=m
> CONFIG_NETFILTER_XT_MATCH_REALM=m
> @@ -102,27 +102,21 @@ CONFIG_IPDDP_ENCAP=y
> CONFIG_X25=m
> CONFIG_LAPB=m
> CONFIG_NET_SCHED=y
> -CONFIG_NET_SCH_CBQ=m
> CONFIG_NET_SCH_HTB=m
> CONFIG_NET_SCH_HFSC=m
> -CONFIG_NET_SCH_ATM=m
> CONFIG_NET_SCH_PRIO=m
> CONFIG_NET_SCH_RED=m
> CONFIG_NET_SCH_SFQ=m
> CONFIG_NET_SCH_TEQL=m
> CONFIG_NET_SCH_TBF=m
> CONFIG_NET_SCH_GRED=m
> -CONFIG_NET_SCH_DSMARK=m
> CONFIG_NET_SCH_NETEM=m
> CONFIG_NET_SCH_INGRESS=m
> CONFIG_NET_CLS_BASIC=m
> -CONFIG_NET_CLS_TCINDEX=m
> CONFIG_NET_CLS_ROUTE4=m
> CONFIG_NET_CLS_FW=m
> CONFIG_NET_CLS_U32=m
> CONFIG_CLS_U32_MARK=y
> -CONFIG_NET_CLS_RSVP=m
> -CONFIG_NET_CLS_RSVP6=m
> CONFIG_NET_EMATCH=y
> CONFIG_NET_EMATCH_CMP=m
> CONFIG_NET_EMATCH_NBYTE=m
> @@ -145,6 +139,8 @@ CONFIG_BAYCOM_SER_HDX=m
> CONFIG_YAM=m
> CONFIG_CFG80211=y
> CONFIG_MAC80211=y
> +CONFIG_PCI=y
> +# CONFIG_VGA_ARB is not set
> CONFIG_MTD=y
> CONFIG_MTD_BLOCK=y
> CONFIG_MTD_CFI=y
> @@ -232,8 +228,6 @@ CONFIG_WATCHDOG=y
> CONFIG_WATCHDOG_NOWAYOUT=y
> CONFIG_SSB=m
> CONFIG_SSB_DRIVER_PCICORE=y
> -# CONFIG_VGA_ARB is not set
> -# CONFIG_LCD_CLASS_DEVICE is not set
> CONFIG_BACKLIGHT_CLASS_DEVICE=y
> # CONFIG_VGA_CONSOLE is not set
> CONFIG_USB_HID=m
> @@ -250,10 +244,6 @@ CONFIG_USB_STORAGE=m
> CONFIG_USB_SERIAL=y
> CONFIG_USB_SERIAL_GENERIC=y
> CONFIG_USB_SERIAL_SIERRAWIRELESS=y
> -CONFIG_LEDS_GPIO=y
> -CONFIG_LEDS_TRIGGER_TIMER=y
> -CONFIG_LEDS_TRIGGER_HEARTBEAT=y
> -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
> # CONFIG_DNOTIFY is not set
> # CONFIG_INOTIFY_USER is not set
> CONFIG_ISO9660_FS=m
> @@ -275,20 +265,15 @@ CONFIG_NLS_CODEPAGE_850=y
> CONFIG_NLS_ISO8859_1=y
> CONFIG_CRYPTO_AUTHENC=m
> CONFIG_CRYPTO_TEST=m
> -CONFIG_CRYPTO_PCBC=m
> -CONFIG_CRYPTO_MD4=m
> -CONFIG_CRYPTO_MICHAEL_MIC=m
> -CONFIG_CRYPTO_SHA512=m
> -CONFIG_CRYPTO_WP512=m
> -CONFIG_CRYPTO_ANUBIS=m
> CONFIG_CRYPTO_BLOWFISH=m
> CONFIG_CRYPTO_CAST5=m
> CONFIG_CRYPTO_CAST6=m
> -CONFIG_CRYPTO_KHAZAD=m
> CONFIG_CRYPTO_SERPENT=m
> -CONFIG_CRYPTO_TEA=m
> CONFIG_CRYPTO_TWOFISH=m
> +CONFIG_CRYPTO_PCBC=m
> +CONFIG_CRYPTO_MD4=m
> +CONFIG_CRYPTO_MICHAEL_MIC=m
> +CONFIG_CRYPTO_SHA512=m
> +CONFIG_CRYPTO_WP512=m
> CONFIG_CRYPTO_DEFLATE=m
> CONFIG_MAGIC_SYSRQ=y
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs rw ip=auto"
> diff --git a/arch/mips/configs/loongson3_defconfig b/arch/mips/configs/loongson3_defconfig
> index 07839a4b397e..aca4797b5bb6 100644
> --- a/arch/mips/configs/loongson3_defconfig
> +++ b/arch/mips/configs/loongson3_defconfig
> @@ -5,6 +5,8 @@ CONFIG_POSIX_MQUEUE=y
> CONFIG_AUDIT=y
> CONFIG_NO_HZ=y
> CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_BPF_SYSCALL=y
> +CONFIG_BPF_JIT=y
> CONFIG_PREEMPT=y
> CONFIG_BSD_PROCESS_ACCT=y
> CONFIG_BSD_PROCESS_ACCT_V3=y
> @@ -22,18 +24,18 @@ CONFIG_CGROUP_CPUACCT=y
> CONFIG_NAMESPACES=y
> CONFIG_USER_NS=y
> CONFIG_SCHED_AUTOGROUP=y
> -CONFIG_SYSFS_DEPRECATED=y
> CONFIG_RELAY=y
> CONFIG_BLK_DEV_INITRD=y
> -CONFIG_BPF_SYSCALL=y
> CONFIG_EXPERT=y
> CONFIG_PERF_EVENTS=y
> +CONFIG_KEXEC=y
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE_PREPEND="ieee754=relaxed"
> CONFIG_MACH_LOONGSON64=y
> CONFIG_CPU_HAS_MSA=y
> CONFIG_NUMA=y
> CONFIG_NR_CPUS=16
> CONFIG_HZ_256=y
> -CONFIG_KEXEC=y
> CONFIG_MIPS32_O32=y
> CONFIG_MIPS32_N32=y
> CONFIG_VIRTUALIZATION=y
> @@ -47,15 +49,12 @@ CONFIG_MODVERSIONS=y
> CONFIG_PARTITION_ADVANCED=y
> CONFIG_MQ_IOSCHED_DEADLINE=m
> CONFIG_IOSCHED_BFQ=y
> -CONFIG_BFQ_GROUP_IOSCHED=y
> CONFIG_BINFMT_MISC=m
> CONFIG_KSM=y
> CONFIG_NET=y
> CONFIG_PACKET=y
> -CONFIG_UNIX=y
> CONFIG_XFRM_USER=y
> CONFIG_NET_KEY=y
> -CONFIG_INET=y
> CONFIG_IP_MULTICAST=y
> CONFIG_IP_ADVANCED_ROUTER=y
> CONFIG_IP_MULTIPLE_TABLES=y
> @@ -128,7 +127,6 @@ CONFIG_L2TP=m
> CONFIG_BRIDGE=m
> CONFIG_VSOCKETS=m
> CONFIG_VIRTIO_VSOCKETS=m
> -CONFIG_BPF_JIT=y
> CONFIG_CFG80211=m
> CONFIG_CFG80211_WEXT=y
> CONFIG_MAC80211=m
> @@ -196,7 +194,6 @@ CONFIG_VIRTIO_NET=m
> # CONFIG_NET_VENDOR_ARC is not set
> # CONFIG_NET_VENDOR_ATHEROS is not set
> # CONFIG_NET_VENDOR_BROADCOM is not set
> -# CONFIG_NET_VENDOR_BROCADE is not set
> # CONFIG_NET_VENDOR_CHELSIO is not set
> # CONFIG_NET_VENDOR_CIRRUS is not set
> # CONFIG_NET_VENDOR_CISCO is not set
> @@ -216,6 +213,7 @@ CONFIG_IXGBE=y
> # CONFIG_NET_VENDOR_NVIDIA is not set
> # CONFIG_NET_VENDOR_OKI is not set
> # CONFIG_NET_VENDOR_QLOGIC is not set
> +# CONFIG_NET_VENDOR_BROCADE is not set
> # CONFIG_NET_VENDOR_RDC is not set
> CONFIG_8139CP=m
> CONFIG_8139TOO=m
> @@ -276,15 +274,14 @@ CONFIG_MEDIA_SUPPORT=m
> CONFIG_MEDIA_USB_SUPPORT=y
> CONFIG_USB_VIDEO_CLASS=m
> CONFIG_DRM=y
> +CONFIG_DRM_RADEON=m
> CONFIG_DRM_AMDGPU=m
> CONFIG_DRM_AMDGPU_SI=y
> CONFIG_DRM_AMDGPU_CIK=y
> CONFIG_DRM_AMDGPU_USERPTR=y
> CONFIG_DRM_AMD_ACP=y
> -CONFIG_DRM_AMD_DC=y
> CONFIG_DRM_AMD_DC_SI=y
> CONFIG_DRM_AST=m
> -CONFIG_DRM_RADEON=m
> CONFIG_DRM_QXL=y
> CONFIG_DRM_VIRTIO_GPU=y
> CONFIG_FB=y
> @@ -292,7 +289,6 @@ CONFIG_FB_RADEON=y
> CONFIG_LCD_CLASS_DEVICE=y
> CONFIG_LCD_PLATFORM=m
> # CONFIG_VGA_CONSOLE is not set
> -CONFIG_FRAMEBUFFER_CONSOLE=y
> CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
> CONFIG_LOGO=y
> CONFIG_SOUND=y
> @@ -350,7 +346,6 @@ CONFIG_EXT3_FS_SECURITY=y
> CONFIG_XFS_FS=y
> CONFIG_XFS_POSIX_ACL=y
> CONFIG_QUOTA=y
> -# CONFIG_PRINT_QUOTA_WARNING is not set
> CONFIG_QFMT_V1=m
> CONFIG_QFMT_V2=m
> CONFIG_AUTOFS_FS=y
> @@ -390,24 +385,20 @@ CONFIG_SECURITY_NETWORK=y
> CONFIG_SECURITY_PATH=y
> CONFIG_SECURITY_SELINUX=y
> CONFIG_SECURITY_SELINUX_BOOTPARAM=y
> -CONFIG_SECURITY_SELINUX_DISABLE=y
> CONFIG_DEFAULT_SECURITY_DAC=y
> -CONFIG_CRYPTO_HMAC=y
> -CONFIG_CRYPTO_MD5=y
> -CONFIG_CRYPTO_WP512=m
> CONFIG_CRYPTO_BLOWFISH=m
> CONFIG_CRYPTO_CAST5=m
> CONFIG_CRYPTO_CAST6=m
> CONFIG_CRYPTO_SERPENT=m
> CONFIG_CRYPTO_TWOFISH=m
> +CONFIG_CRYPTO_HMAC=y
> +CONFIG_CRYPTO_MD5=y
> +CONFIG_CRYPTO_WP512=m
> CONFIG_CRYPTO_DEFLATE=m
> CONFIG_PRINTK_TIME=y
> CONFIG_STRIP_ASM_SYMS=y
> CONFIG_MAGIC_SYSRQ=y
> CONFIG_DEBUG_FS=y
> # CONFIG_SCHED_DEBUG is not set
> -# CONFIG_DEBUG_PREEMPT is not set
> CONFIG_FUNCTION_TRACER=y
> CONFIG_FTRACE_SYSCALLS=y
> -CONFIG_CMDLINE_BOOL=y
> -CONFIG_CMDLINE="ieee754=relaxed"
> diff --git a/arch/mips/include/asm/setup.h b/arch/mips/include/asm/setup.h
> index 8c56b862fd9c..798bc3c68080 100644
> --- a/arch/mips/include/asm/setup.h
> +++ b/arch/mips/include/asm/setup.h
> @@ -5,6 +5,7 @@
> #include <linux/types.h>
> #include <uapi/asm/setup.h>
>
> +#ifndef __ASSEMBLY__
> extern void prom_putchar(char);
> extern void setup_early_printk(void);
>
> @@ -27,5 +28,6 @@ extern unsigned long ebase;
> extern unsigned int hwrena;
> extern void per_cpu_trap_init(bool);
> extern void cpu_cache_init(void);
> +#endif
>
> #endif /* __SETUP_H */
> diff --git a/arch/mips/kernel/relocate.c b/arch/mips/kernel/relocate.c
> index 58fc8d089402..089d67c476ae 100644
> --- a/arch/mips/kernel/relocate.c
> +++ b/arch/mips/kernel/relocate.c
> @@ -23,6 +23,7 @@
> #include <linux/start_kernel.h>
> #include <linux/string.h>
> #include <linux/printk.h>
> +#include <linux/cmdline.h>
>
> #define RELOCATED(x) ((void *)((long)x + offset))
>
> @@ -247,16 +248,26 @@ static inline __init bool kaslr_disabled(void)
> char *str;
>
> #if defined(CONFIG_CMDLINE_BOOL)
> - const char *builtin_cmdline = CONFIG_CMDLINE;
> + char *builtin_cmdline = CMDLINE_PREPEND;
>
> str = strstr(builtin_cmdline, "nokaslr");
> if (str == builtin_cmdline ||
> (str > builtin_cmdline && *(str - 1) == ' '))
> return true;
> #endif
> - str = strstr(arcs_cmdline, "nokaslr");
> - if (str == arcs_cmdline || (str > arcs_cmdline && *(str - 1) == ' '))
> + if (!IS_ENABLED(CONFIG_CMDLINE_OVERRIDE)) {
> + str = strstr(arcs_cmdline, "nokaslr");
> + if (str == arcs_cmdline || (str > arcs_cmdline && *(str - 1) == ' '))
> + return true;
> + }
> +
> +#if defined(CONFIG_CMDLINE_BOOL)
> + builtin_cmdline = CMDLINE_APPEND;
> + str = strstr(builtin_cmdline, "nokaslr");
> + if (str == builtin_cmdline ||
> + (str > builtin_cmdline && *(str - 1) == ' '))
> return true;
> +#endif
>
> return false;
> }
> diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
> index cb871eb784a7..38e0e19b9c0d 100644
> --- a/arch/mips/kernel/setup.c
> +++ b/arch/mips/kernel/setup.c
> @@ -25,6 +25,7 @@
> #include <linux/debugfs.h>
> #include <linux/kexec.h>
> #include <linux/sizes.h>
> +#include <linux/cmdline.h>
> #include <linux/device.h>
> #include <linux/dma-map-ops.h>
> #include <linux/decompress/generic.h>
> @@ -70,12 +71,6 @@ EXPORT_SYMBOL(mips_machtype);
> static char __initdata command_line[COMMAND_LINE_SIZE];
> char __initdata arcs_cmdline[COMMAND_LINE_SIZE];
>
> -#ifdef CONFIG_CMDLINE_BOOL
> -static const char builtin_cmdline[] __initconst = CONFIG_CMDLINE;
> -#else
> -static const char builtin_cmdline[] __initconst = "";
> -#endif
> -
> /*
> * mips_io_port_base is the begin of the address space to which x86 style
> * I/O ports are mapped.
> @@ -561,27 +556,7 @@ static void __init bootcmdline_init(void)
> {
> bool dt_bootargs = false;
>
> - /*
> - * If CMDLINE_OVERRIDE is enabled then initializing the command line is
> - * trivial - we simply use the built-in command line unconditionally &
> - * unmodified.
> - */
> - if (IS_ENABLED(CONFIG_CMDLINE_OVERRIDE)) {
> - strscpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
> - return;
> - }
> -
> - /*
> - * If the user specified a built-in command line &
> - * MIPS_CMDLINE_BUILTIN_EXTEND, then the built-in command line is
> - * prepended to arguments from the bootloader or DT so we'll copy them
> - * to the start of boot_command_line here. Otherwise, empty
> - * boot_command_line to undo anything early_init_dt_scan_chosen() did.
> - */
> - if (IS_ENABLED(CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND))
> - strscpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
> - else
> - boot_command_line[0] = 0;
> + boot_command_line[0] = 0;
>
> #ifdef CONFIG_OF_EARLY_FLATTREE
> /*
> @@ -604,12 +579,9 @@ static void __init bootcmdline_init(void)
> bootcmdline_append(arcs_cmdline, COMMAND_LINE_SIZE);
>
> /*
> - * If the user specified a built-in command line & we didn't already
> - * prepend it, we append it to boot_command_line here.
> + * Use the generic system for builtin prepend and append.
> */
> - if (IS_ENABLED(CONFIG_CMDLINE_BOOL) &&
> - !IS_ENABLED(CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND))
> - bootcmdline_append(builtin_cmdline, COMMAND_LINE_SIZE);
> + cmdline_add_builtin(boot_command_line);
> }
>
> /*
> diff --git a/arch/mips/pic32/pic32mzda/early_console.c b/arch/mips/pic32/pic32mzda/early_console.c
> index 3cd1b408fa1c..f14bc1846706 100644
> --- a/arch/mips/pic32/pic32mzda/early_console.c
> +++ b/arch/mips/pic32/pic32mzda/early_console.c
> @@ -76,7 +76,7 @@ static char * __init pic32_getcmdline(void)
> * command line setup if using CONFIG_CMDLINE_BOOL.
> */
> #ifdef CONFIG_CMDLINE_OVERRIDE
> - return CONFIG_CMDLINE;
> + return CMDLINE_STATIC_PREPEND " " CMDLINE_STATIC_APPEND;
> #else
> return fw_getcmdline();
> #endif
> diff --git a/arch/mips/pic32/pic32mzda/init.c b/arch/mips/pic32/pic32mzda/init.c
> index 53b227a9074c..ba2524255857 100644
> --- a/arch/mips/pic32/pic32mzda/init.c
> +++ b/arch/mips/pic32/pic32mzda/init.c
> @@ -9,6 +9,7 @@
> #include <linux/of_fdt.h>
> #include <linux/of_platform.h>
> #include <linux/platform_data/sdhci-pic32.h>
> +#include <linux/cmdline.h>
>
> #include <asm/fw/fw.h>
> #include <asm/mips-boards/generic.h>
> @@ -41,7 +42,7 @@ void __init plat_mem_setup(void)
> pr_info(" boot_command_line: %s\n", boot_command_line);
> pr_info(" arcs_cmdline : %s\n", arcs_cmdline);
> #ifdef CONFIG_CMDLINE_BOOL
> - pr_info(" builtin_cmdline : %s\n", CONFIG_CMDLINE);
> + pr_info(" builtin_cmdline : %s\n", CMDLINE_STATIC_PREPEND " " CMDLINE_STATIC_APPEND);
> #endif
> if (dtb != __dtb_start)
> strscpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);