summaryrefslogtreecommitdiff
path: root/target/linux/rb532-2.6/patches/140-cmdline_hack.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-26 01:08:41 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-10-26 01:08:41 +0000
commit99f2f68b6fb7caad7689ae9ad73da43f54ac0337 (patch)
tree0d11d9505339e326cf674abd1dabea62d804a1d0 /target/linux/rb532-2.6/patches/140-cmdline_hack.patch
parente307e204725ca8fedba7c780ca28b195a91d1f88 (diff)
Add NAND flash/YAFFS2 patches for RB532 by David Goodenough
Read the kernel command line from an otherwise unused area of the kernel image (will be used for changing the command line on the fly when copying the system from CF to NAND) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5296 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/rb532-2.6/patches/140-cmdline_hack.patch')
-rw-r--r--target/linux/rb532-2.6/patches/140-cmdline_hack.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/rb532-2.6/patches/140-cmdline_hack.patch b/target/linux/rb532-2.6/patches/140-cmdline_hack.patch
new file mode 100644
index 0000000000..55cf8889f6
--- /dev/null
+++ b/target/linux/rb532-2.6/patches/140-cmdline_hack.patch
@@ -0,0 +1,33 @@
+diff -ur linux.old/arch/mips/kernel/head.S linux.dev/arch/mips/kernel/head.S
+--- linux.old/arch/mips/kernel/head.S 2006-10-26 00:11:13.000000000 +0200
++++ linux.dev/arch/mips/kernel/head.S 2006-10-26 02:40:10.000000000 +0200
+@@ -132,6 +132,8 @@
+
+ j kernel_entry
+ nop
++ nop
++EXPORT(_image_cmdline)
+
+ /*
+ * Reserved space for exception handlers.
+diff -ur linux.old/arch/mips/rb500/prom.c linux.dev/arch/mips/rb500/prom.c
+--- linux.old/arch/mips/rb500/prom.c 2006-10-26 00:11:14.000000000 +0200
++++ linux.dev/arch/mips/rb500/prom.c 2006-10-26 02:40:46.000000000 +0200
+@@ -128,6 +128,7 @@
+ /* FIXME: STUB */
+ }
+
++extern char _image_cmdline;
+ void __init prom_setup_cmdline(void){
+ char cmd_line[CL_SIZE];
+ char *cp;
+@@ -163,6 +164,9 @@
+ strcpy(cp,prom_argv[i]);
+ cp+=strlen(prom_argv[i]);
+ }
++ *(cp++) = ' ';
++ strcpy(cp,&_image_cmdline);
++ cp += strlen(&_image_cmdline);
+
+ i=strlen(arcs_cmdline);
+ if (i>0){