Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1372892pxf; Fri, 26 Mar 2021 06:47:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1h8bN+rGT4L1rOzRI9XKD03esBCe2ecgFWfzb8vFXnklXcvcMwxFt5h2Z9ycnrS+XuXNz X-Received: by 2002:aa7:c403:: with SMTP id j3mr15168838edq.137.1616766427232; Fri, 26 Mar 2021 06:47:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616766427; cv=none; d=google.com; s=arc-20160816; b=a2XAcr9Nf860M2OBxReYQsrsftpQp3oAXZA08hOQY8+UghvB+sqVd+aJ4buj9uCqDo DHPxSt+/sP0ORP6UtaqpFh9eNHnEVD1zmleftmZ0IpSxfPrTiVPt4iWyL8v0SGC8VVwK 46vkipxY+yOC4OyfuciPY71TLRy6d2DxMWDVygsZG9Z2GujFH5BFfXAfHX2eebFePmn+ ZNOIiBFMFnu+TujZQMU3SWnMZ3nnceyWCQu5jC4VkJEUjF1ggwE3axOz2ly3LVtglx1J QWJf7phiB+o1RLaAsSatL+uzY4jMqqWWQ9x508kjCB82wiJXRC5yOa3Bzq6lywTrVQwr f5JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:cc:to:subject:from:message-id; bh=lSnc17pJe0UXx5eRxAV92PGDLINGV8pE4b15Wu/MTvM=; b=XmKcX5DsUdY8zqBNy7G4PAM+BBk2TNwCZ8FqlkXZMekuiQC4tjwf+eDTTmOfe1BTJE 1gzgXy2ygzruRAPQutPz0dSiebSxPfAtPHn+p4sKOJ6u6liLX6AaCo2TPM38DY7cI40m +GrcXgvTk08/JjnyoTp7RYkGquC5fFa/8BTxIAZRqSnyegC3w4SRBZLR4FpjXQEjLKdA Hl8luI394P+p2/4gGw+IUGYVKVyPe+N2PidiXijDutF9tHm0YCabzjfE6RqYwDeMkhRj QLuUgLrLGHRA3kCmRbYQ8u52Y4Nqt7bjaBa0OxMbydg1TEW/jbl76kkmlzR03kV8TKPJ DWnQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ca25si6969648edb.204.2021.03.26.06.46.42; Fri, 26 Mar 2021 06:47:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230287AbhCZNp7 (ORCPT + 99 others); Fri, 26 Mar 2021 09:45:59 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:58788 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230083AbhCZNoz (ORCPT ); Fri, 26 Mar 2021 09:44:55 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4F6NWL3t9Tz9tyyW; Fri, 26 Mar 2021 14:44:46 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id kIulHNAnYVH6; Fri, 26 Mar 2021 14:44:46 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 4F6NWL2lGwz9tyyV; Fri, 26 Mar 2021 14:44:46 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 33E0E8B8C9; Fri, 26 Mar 2021 14:44:47 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id 5JtG0C39F4IQ; Fri, 26 Mar 2021 14:44:47 +0100 (CET) Received: from po16121vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id C055F8B8C7; Fri, 26 Mar 2021 14:44:46 +0100 (CET) Received: by po16121vm.idsi0.si.c-s.fr (Postfix, from userid 0) id 31C9867611; Fri, 26 Mar 2021 13:44:47 +0000 (UTC) Message-Id: From: Christophe Leroy Subject: [PATCH v3 00/17] Implement GENERIC_CMDLINE To: will@kernel.org, danielwa@cisco.com, robh@kernel.org, daniel@gimpelevich.san-francisco.ca.us Cc: linux-arch@vger.kernel.org, devicetree@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, microblaze , linux-mips@vger.kernel.org, nios2 , openrisc@lists.librecores.org, linux-hexagon@vger.kernel.org, linux-riscv@lists.infradead.org, x86@kernel.org, linux-xtensa@linux-xtensa.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org Date: Fri, 26 Mar 2021 13:44:47 +0000 (UTC) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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 +++++----- 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