MIPS: generic: Init command line with fw_init_cmdline()
authorPaul Cercueil <paul@crapouillou.net>
Sun, 6 Sep 2020 19:29:27 +0000 (21:29 +0200)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Fri, 18 Sep 2020 14:31:10 +0000 (16:31 +0200)
The function bootcmdline_init() in arch/mips/kernel/setup.c will
populate the boot_command_line string using the parameters hardcoded in
the kernel, and those provided in the devicetree file. Then, it would
append the content of the arcs_cmdline variable, which is filled by the
board's plat_mem_setup() function.

The plat_mem_setup() function for the generic MIPS board would just copy
the current boot_command_line to arcs_cmdline, which is nonsense for two
reasons:
- the result will be appended to the boot_command_line anyway, so all it
  does is duplicate every single parameter on the command line;
- the code did not perform at all what it's supposed to, which is to
  retrieve the parameters passed by the bootloader.

Fix this by calling fw_init_cmdline() in plat_mem_setup(), which will
properly initialize arcs_cmdline to the parameters passed by the
bootloader.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/generic/init.c

index 805d0135a9f4ea0bd433233e8a55d87f9e4f5469..029f47ea390c78c555f5277fffa60e82e614ed14 100644 (file)
@@ -106,7 +106,7 @@ void __init plat_mem_setup(void)
        if (mach && mach->fixup_fdt)
                fdt = mach->fixup_fdt(fdt, mach_match_data);
 
-       strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
+       fw_init_cmdline();
        __dt_setup_arch((void *)fdt);
 }