|
@@ -617,6 +617,10 @@ static void __init request_crashkernel(struct resource *res)
|
|
}
|
|
}
|
|
#endif /* !defined(CONFIG_KEXEC) */
|
|
#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)
|
|
static void __init arch_mem_init(char **cmdline_p)
|
|
{
|
|
{
|
|
struct memblock_region *reg;
|
|
struct memblock_region *reg;
|
|
@@ -641,18 +645,24 @@ static void __init arch_mem_init(char **cmdline_p)
|
|
pr_info("Determined physical RAM map:\n");
|
|
pr_info("Determined physical RAM map:\n");
|
|
print_memory_map();
|
|
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);
|
|
strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
|
|
#else
|
|
#else
|
|
|
|
+ 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]) {
|
|
if (builtin_cmdline[0]) {
|
|
- strlcat(arcs_cmdline, " ", COMMAND_LINE_SIZE);
|
|
|
|
- strlcat(arcs_cmdline, builtin_cmdline, COMMAND_LINE_SIZE);
|
|
|
|
|
|
+ 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
|
|
#endif
|
|
-#else
|
|
|
|
- strlcpy(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
|
|
|
|
#endif
|
|
#endif
|
|
strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
|
|
strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
|
|
|
|
|