Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1098111yba; Tue, 2 Apr 2019 02:09:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqyO1srOy3fN9rMXlTRxmSM3WiAhLMAadKI8QCza+uGV84zPJbBjut1gqBP7kjJ4/fJMA4qE X-Received: by 2002:a62:76c1:: with SMTP id r184mr33275323pfc.229.1554196182690; Tue, 02 Apr 2019 02:09:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554196182; cv=none; d=google.com; s=arc-20160816; b=wlZ7oj4BT+QMrxA6ZG72xAQW0ivako4Xv8UFpUDKRPkHWrP2MjnBnznZowVmH6r3p7 TKGsPpACqdOXvwYP/RZOnBMduYKgW0C7vxOJVHie5o6KBrYY5VPRJXHMSmRnPTA+6avn YfM9/myXzhZLIdQn11YSUYIwxP35t3L1cLQC+mrmNTxp4AbCWRNyJPK/v3hiJQslFXJD KdTx/PSC0bCIKySjI4qQucxWgUqxpOWyY1ysXehIQaCv3DPavhFCM4w96EnP7WoJxJ87 KSSd9jssasrSMliqO5PF4eoNa4Jj8XISCl1o1teyr1sFVcKdhwiChD90levCkrJElkB2 i33A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:cc:to:subject:from:references :in-reply-to:message-id:dkim-signature; bh=2SnXjQCVVbZhfWYmX+1+HQZFnlDXZAmpLgCftO0N7ho=; b=tdTgPFooVlitCoCMt7dJ4Y3VQzay98Lfb+0I12zqyvaeevWbzvKjl0tvx59+SsVJwO qOD5RmQbM27IdDXPKVcXDUrTQgLYkzeOEK8A65JLwOM3u/MdWWYO1rC0Eli86zWoAsuH PIhi5AYsAbX/GXI48rDPN9vaNXssToxiq6ze9AAztrSOthhMTN0felNHoVF98Snokras xrtOQzyM5391ViZHDT0iTX/3APEsZGENPonNEjTObgUKgYaFB3b6qIpYkbPpVh8oLWsg j1tjTPj0sOus5mwN2GoPy4pxb6eqeZhhRowtI13fsbQfEPYRevtPLXiYzzXILG8c4rUt 8xAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@c-s.fr header.s=mail header.b=pB5byK5v; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n1si10899542pld.251.2019.04.02.02.09.27; Tue, 02 Apr 2019 02:09:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@c-s.fr header.s=mail header.b=pB5byK5v; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729772AbfDBJIl (ORCPT + 99 others); Tue, 2 Apr 2019 05:08:41 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:14171 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726790AbfDBJIi (ORCPT ); Tue, 2 Apr 2019 05:08:38 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 44YNfq2JKwz9v0Zb; Tue, 2 Apr 2019 11:08:35 +0200 (CEST) Authentication-Results: localhost; dkim=pass reason="1024-bit key; insecure key" header.d=c-s.fr header.i=@c-s.fr header.b=pB5byK5v; dkim-adsp=pass; dkim-atps=neutral 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 7hIsGPmz58dp; Tue, 2 Apr 2019 11:08:35 +0200 (CEST) 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 44YNfq10XGz9v0ZY; Tue, 2 Apr 2019 11:08:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=c-s.fr; s=mail; t=1554196115; bh=2SnXjQCVVbZhfWYmX+1+HQZFnlDXZAmpLgCftO0N7ho=; h=In-Reply-To:References:From:Subject:To:Cc:Date:From; b=pB5byK5v/8qFhJo1HO4vtDM846v+XpSF69d7XFmsnRtza7UcxAYUc1yk64GKCn/Vj PTX/5jv3VVC2jHnVYii6y06R/YdheSFMA14SxQ1oK15ivfawtNKAEyPvAjb+gBJFKj EjPJFe64UckaerQnmmQcR3dVw6ZjD2CvMco0UEu0= Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 3BFE08B8C3; Tue, 2 Apr 2019 11:08:36 +0200 (CEST) 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 0spIbt7MqZJ7; Tue, 2 Apr 2019 11:08:36 +0200 (CEST) Received: from po16846vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id EE9308B8C0; Tue, 2 Apr 2019 11:08:35 +0200 (CEST) Received: by po16846vm.idsi0.si.c-s.fr (Postfix, from userid 0) id D5C09661D9; Tue, 2 Apr 2019 09:08:35 +0000 (UTC) Message-Id: <38f2f75fdcbdee71322f3a41f45eab33ffe61b4e.1554195798.git.christophe.leroy@c-s.fr> In-Reply-To: References: From: Christophe Leroy Subject: [PATCH 1/9] powerpc: enable appending of CONFIG_CMDLINE to bootloader's cmdline. To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , danielwa@cisco.com Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-arch@vger.kernel.org Date: Tue, 2 Apr 2019 09:08:35 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Today, powerpc defined CONFIG_CMDLINE for when bootloader doesn't provide a command line or for overriding it. On same way as ARM, this patch adds the option of appending the CONFIG_CMDLINE to bootloader's provided command line. Signed-off-by: Christophe Leroy --- arch/powerpc/Kconfig | 21 ++++++++++++++++++++- arch/powerpc/kernel/prom_init.c | 5 ++--- arch/powerpc/kernel/prom_init_check.sh | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 2d0be82c3061..2972348e52be 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -841,14 +841,33 @@ config CMDLINE some command-line options at build time by entering them here. In most cases you will need to specify the root device here. +choice + prompt "Kernel command line type" if CMDLINE != "" + default CMDLINE_FROM_BOOTLOADER + help + Selects the way you want to use the default kernel arguments. + +config CMDLINE_FROM_BOOTLOADER + bool "Use bootloader kernel arguments if available" + help + Uses the command-line options passed by the boot loader. If + the boot loader doesn't provide any, the default kernel command + string provided in CMDLINE will be used. + +config CMDLINE_EXTEND + bool "Extend bootloader kernel arguments" + help + The default kernel command string will be appended to the + command-line arguments provided during boot. + config CMDLINE_FORCE bool "Always use the default kernel command string" - depends on CMDLINE_BOOL help Always use the default kernel command string, even if the boot loader passes other arguments to the kernel. This is useful if you cannot or don't want to change the command-line options your boot loader passes to the kernel. +endchoice config EXTRA_TARGETS string "Additional default image types" diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index f33ff4163a51..a6cd52240c58 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c @@ -638,9 +638,8 @@ static void __init early_cmdline_parse(void) if ((long)prom.chosen > 0) l = prom_getprop(prom.chosen, "bootargs", p, COMMAND_LINE_SIZE-1); #ifdef CONFIG_CMDLINE - if (l <= 0 || p[0] == '\0') /* dbl check */ - strlcpy(prom_cmd_line, - CONFIG_CMDLINE, sizeof(prom_cmd_line)); + if (l <= 0 || p[0] == '\0' || IS_ENABLED(CONFIG_CMDLINE_EXTEND)) /* dbl check */ + strlcat(prom_cmd_line, CONFIG_CMDLINE, sizeof(prom_cmd_line)); #endif /* CONFIG_CMDLINE */ prom_printf("command line: %s\n", prom_cmd_line); diff --git a/arch/powerpc/kernel/prom_init_check.sh b/arch/powerpc/kernel/prom_init_check.sh index 667df97d2595..cbcf18846392 100644 --- a/arch/powerpc/kernel/prom_init_check.sh +++ b/arch/powerpc/kernel/prom_init_check.sh @@ -19,7 +19,7 @@ WHITELIST="add_reloc_offset __bss_start __bss_stop copy_and_flush _end enter_prom memcpy memset reloc_offset __secondary_hold __secondary_hold_acknowledge __secondary_hold_spinloop __start -strcmp strcpy strlcpy strlen strncmp strstr kstrtobool logo_linux_clut224 +strcmp strcpy strlcat strlen strncmp strstr kstrtobool logo_linux_clut224 reloc_got2 kernstart_addr memstart_addr linux_banner _stext __prom_init_toc_start __prom_init_toc_end btext_setup_display TOC." -- 2.13.3