MIPS: Make the kernel arguments from dtb available
Similar to how arm allows using selecting between bootloader arguments, dtb arguments and both, allow to select them on mips. But since we have less control over the place of the dtb do not modify it but instead use the boot_command_line for merging them. The default is "use bootloader arguments" to keep the current behaviour as default. Signed-off-by: Jonas Gorski <jogo@openwrt.org> Cc: linux-mips@linux-mips.org Cc: Kevin Cernekee <cernekee@gmail.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Cc: James Hogan <james.hogan@imgtec.com> Cc: John Crispin <blogic@openwrt.org> Cc: Ganesan Ramalingam <ganesanr@broadcom.com> Cc: Jayachandran C <jchandra@broadcom.com> Cc: Andrew Bresticker <abrestic@chromium.org> Cc: James Hartley <james.hartley@imgtec.com> Patchwork: https://patchwork.linux-mips.org/patch/11284/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
5b24d52ce2
commit
2024972ef5
@@ -617,6 +617,10 @@ static void __init request_crashkernel(struct resource *res)
|
||||
}
|
||||
#endif /* !defined(CONFIG_KEXEC) */
|
||||
|
||||
#define USE_PROM_CMDLINE IS_ENABLED(CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER)
|
||||
#define USE_DTB_CMDLINE IS_ENABLED(CONFIG_MIPS_CMDLINE_FROM_DTB)
|
||||
#define EXTEND_WITH_PROM IS_ENABLED(CONFIG_MIPS_CMDLINE_EXTEND)
|
||||
|
||||
static void __init arch_mem_init(char **cmdline_p)
|
||||
{
|
||||
struct memblock_region *reg;
|
||||
@@ -641,18 +645,24 @@ static void __init arch_mem_init(char **cmdline_p)
|
||||
pr_info("Determined physical RAM map:\n");
|
||||
print_memory_map();
|
||||
|
||||
#ifdef CONFIG_CMDLINE_BOOL
|
||||
#ifdef CONFIG_CMDLINE_OVERRIDE
|
||||
#if defined(CONFIG_CMDLINE_BOOL) && defined(CONFIG_CMDLINE_OVERRIDE)
|
||||
strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
|
||||
#else
|
||||
if (builtin_cmdline[0]) {
|
||||
strlcat(arcs_cmdline, " ", COMMAND_LINE_SIZE);
|
||||
strlcat(arcs_cmdline, builtin_cmdline, COMMAND_LINE_SIZE);
|
||||
if ((USE_PROM_CMDLINE && arcs_cmdline[0]) ||
|
||||
(USE_DTB_CMDLINE && !boot_command_line[0]))
|
||||
strlcpy(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
|
||||
|
||||
if (EXTEND_WITH_PROM && arcs_cmdline[0]) {
|
||||
strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
|
||||
strlcat(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_CMDLINE_BOOL)
|
||||
if (builtin_cmdline[0]) {
|
||||
strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
|
||||
strlcat(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
|
||||
}
|
||||
strlcpy(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
|
||||
#endif
|
||||
#else
|
||||
strlcpy(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
|
||||
#endif
|
||||
strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
|
||||
|
||||
|
Reference in New Issue
Block a user