kernel: preserve bootloader command line on MIPS
Somewhere in the conversion of the MIPS architecture code to Device Tree usage, there's been a failure to keep the separate variables holding the kernel command line reconciled between the tree and the bootloader. This patch restores previous functionality that broke. Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44030 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
9a19e9c4b3
commit
a57f4ea38a
2 changed files with 38 additions and 6 deletions
|
@ -1,6 +1,8 @@
|
||||||
--- a/drivers/of/fdt.c
|
Index: linux-3.14.28/drivers/of/fdt.c
|
||||||
+++ b/drivers/of/fdt.c
|
===================================================================
|
||||||
@@ -817,6 +817,9 @@ int __init early_init_dt_scan_chosen(uns
|
--- linux-3.14.28.orig/drivers/of/fdt.c 2015-01-08 10:01:03.000000000 -0800
|
||||||
|
+++ linux-3.14.28/drivers/of/fdt.c 2015-01-17 20:29:51.674740290 -0800
|
||||||
|
@@ -817,6 +817,9 @@
|
||||||
p = of_get_flat_dt_prop(node, "bootargs", &l);
|
p = of_get_flat_dt_prop(node, "bootargs", &l);
|
||||||
if (p != NULL && l > 0)
|
if (p != NULL && l > 0)
|
||||||
strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
|
strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
|
||||||
|
@ -10,3 +12,17 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
||||||
|
Index: linux-3.14.28/arch/mips/kernel/prom.c
|
||||||
|
===================================================================
|
||||||
|
--- linux-3.14.28.orig/arch/mips/kernel/prom.c 2015-01-17 20:30:09.922830766 -0800
|
||||||
|
+++ linux-3.14.28/arch/mips/kernel/prom.c 2015-01-17 20:30:54.095049815 -0800
|
||||||
|
@@ -49,6 +49,9 @@
|
||||||
|
|
||||||
|
void __init __dt_setup_arch(struct boot_param_header *bph)
|
||||||
|
{
|
||||||
|
+ if (boot_command_line[0] == '\0')
|
||||||
|
+ strcpy(boot_command_line, arcs_cmdline);
|
||||||
|
+
|
||||||
|
if (!early_init_dt_scan(bph))
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
--- a/drivers/of/fdt.c
|
Index: linux-3.18.2/drivers/of/fdt.c
|
||||||
+++ b/drivers/of/fdt.c
|
===================================================================
|
||||||
@@ -903,6 +903,9 @@ int __init early_init_dt_scan_chosen(uns
|
--- linux-3.18.2.orig/drivers/of/fdt.c 2015-01-17 20:57:52.419074654 -0800
|
||||||
|
+++ linux-3.18.2/drivers/of/fdt.c 2015-01-17 20:57:52.367074398 -0800
|
||||||
|
@@ -903,6 +903,9 @@
|
||||||
p = of_get_flat_dt_prop(node, "bootargs", &l);
|
p = of_get_flat_dt_prop(node, "bootargs", &l);
|
||||||
if (p != NULL && l > 0)
|
if (p != NULL && l > 0)
|
||||||
strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
|
strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
|
||||||
|
@ -10,3 +12,17 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
||||||
|
Index: linux-3.18.2/arch/mips/kernel/prom.c
|
||||||
|
===================================================================
|
||||||
|
--- linux-3.18.2.orig/arch/mips/kernel/prom.c 2015-01-17 20:57:52.419074654 -0800
|
||||||
|
+++ linux-3.18.2/arch/mips/kernel/prom.c 2015-01-17 20:57:52.415074633 -0800
|
||||||
|
@@ -49,6 +49,9 @@
|
||||||
|
|
||||||
|
void __init __dt_setup_arch(void *bph)
|
||||||
|
{
|
||||||
|
+ if (boot_command_line[0] == '\0')
|
||||||
|
+ strcpy(boot_command_line, arcs_cmdline);
|
||||||
|
+
|
||||||
|
if (!early_init_dt_scan(bph))
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue