ARC: [cmdline] Don't overwrite u-boot provided bootargs
The existing code was wrong on several counts: * uboot provided bootargs were copied into @boot_command_line, only to be over-written by setup_machine_fdt(), effectively lost * @cmdline_p returned by setup_arch() to start_kernel() didn't include the DT /bootargs Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
parent
6971881f2a
commit
9593a933d5
|
@ -318,19 +318,21 @@ void __cpuinit setup_processor(void)
|
||||||
|
|
||||||
void __init setup_arch(char **cmdline_p)
|
void __init setup_arch(char **cmdline_p)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_CMDLINE_UBOOT
|
/* This also populates @boot_command_line from /bootargs */
|
||||||
/* Make sure that a whitespace is inserted before */
|
|
||||||
strlcat(command_line, " ", sizeof(command_line));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Save unparsed command line copy for /proc/cmdline */
|
|
||||||
strlcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
|
|
||||||
*cmdline_p = command_line;
|
|
||||||
|
|
||||||
machine_desc = setup_machine_fdt(__dtb_start);
|
machine_desc = setup_machine_fdt(__dtb_start);
|
||||||
if (!machine_desc)
|
if (!machine_desc)
|
||||||
panic("Embedded DT invalid\n");
|
panic("Embedded DT invalid\n");
|
||||||
|
|
||||||
|
/* Append any u-boot provided cmdline */
|
||||||
|
#ifdef CONFIG_CMDLINE_UBOOT
|
||||||
|
/* Add a whitespace seperator between the 2 cmdlines */
|
||||||
|
strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
|
||||||
|
strlcat(boot_command_line, command_line, COMMAND_LINE_SIZE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Save unparsed command line copy for /proc/cmdline */
|
||||||
|
*cmdline_p = boot_command_line;
|
||||||
|
|
||||||
/* To force early parsing of things like mem=xxx */
|
/* To force early parsing of things like mem=xxx */
|
||||||
parse_early_param();
|
parse_early_param();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue