Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755315AbbF0Nys (ORCPT ); Sat, 27 Jun 2015 09:54:48 -0400 Received: from mail-la0-f47.google.com ([209.85.215.47]:35448 "EHLO mail-la0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752633AbbF0Nym (ORCPT ); Sat, 27 Jun 2015 09:54:42 -0400 MIME-Version: 1.0 In-Reply-To: <1435412771-15774-1-git-send-email-kuleshovmail@gmail.com> References: <1435412739-15615-1-git-send-email-kuleshovmail@gmail.com> <1435412771-15774-1-git-send-email-kuleshovmail@gmail.com> Date: Sat, 27 Jun 2015 19:54:41 +0600 Message-ID: Subject: Re: [PATCH 1/4] x86/setup: introduce setup_bultin_cmdline From: Alexander Kuleshov To: Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Greg Kroah-Hartman , Andy Shevchenko , Borislav Petkov , David Cohen Cc: LKML , Alexander Kuleshov Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3426 Lines: 86 sorry, forgot to add version to this patch, please skip this patch. 2015-06-27 19:46 GMT+06:00 Alexander Kuleshov : > This patch introduces the setup_builtin_cmdline function which appends or > overrides boot_command_line with the builtin_cmdline if CONFIG_CMDLINE_BOOL > is set. > > Previously this functional was in the setup_arch, but we need to move > it for getting actual command line as early as possible in the > arch/x86/kernel/head{32,64}.c for the earlyprintk setup. > > Signed-off-by: Alexander Kuleshov > --- > arch/x86/include/asm/setup.h | 2 +- > arch/x86/kernel/setup.c | 29 +++++++++++++++++------------ > 2 files changed, 18 insertions(+), 13 deletions(-) > > diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h > index 11af24e..70dfa61 100644 > --- a/arch/x86/include/asm/setup.h > +++ b/arch/x86/include/asm/setup.h > @@ -124,8 +124,8 @@ asmlinkage void __init i386_start_kernel(void); > #else > asmlinkage void __init x86_64_start_kernel(char *real_mode); > asmlinkage void __init x86_64_start_reservations(char *real_mode_data); > - > #endif /* __i386__ */ > +void __init setup_builtin_cmdline(void); > #endif /* _SETUP */ > #else > #define RESERVE_BRK(name,sz) \ > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c > index d3b95b8..e528f12 100644 > --- a/arch/x86/kernel/setup.c > +++ b/arch/x86/kernel/setup.c > @@ -847,6 +847,22 @@ dump_kernel_offset(struct notifier_block *self, unsigned long v, void *p) > return 0; > } > > +void __init setup_builtin_cmdline(void) > +{ > +#ifdef CONFIG_CMDLINE_BOOL > +#ifdef CONFIG_CMDLINE_OVERRIDE > + strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE); > +#else > + if (builtin_cmdline[0]) { > + /* append boot loader cmdline to builtin */ > + strlcat(builtin_cmdline, " ", COMMAND_LINE_SIZE); > + strlcat(builtin_cmdline, boot_command_line, COMMAND_LINE_SIZE); > + strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE); > + } > +#endif > +#endif > +} > + > /* > * Determine if we were loaded by an EFI loader. If so, then we have also been > * passed the efi memmap, systab, etc., so we should use these data structures > @@ -975,2 +991,2 @@ void __init setup_arch(char **cmdline_p) > bss_resource.start = __pa_symbol(__bss_start); > bss_resource.end = __pa_symbol(__bss_stop)-1; > > -#ifdef CONFIG_CMDLINE_BOOL > -#ifdef CONFIG_CMDLINE_OVERRIDE > - strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE); > -#else > - if (builtin_cmdline[0]) { > - /* append boot loader cmdline to builtin */ > - strlcat(builtin_cmdline, " ", COMMAND_LINE_SIZE); > - strlcat(builtin_cmdline, boot_command_line, COMMAND_LINE_SIZE); > - strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE); > - } > -#endif > -#endif > + setup_builtin_cmdline(); > > strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); > *cmdline_p = command_line; > -- > 2.4.4.410.gc71d752 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/