diff options
-rw-r--r-- | target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c | 7 | ||||
-rw-r--r-- | target/linux/adm5120-2.6/patches/140-cmdline_hack.patch | 23 |
2 files changed, 6 insertions, 24 deletions
diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c index 63e5b8602..1cbbbc2de 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c @@ -100,11 +100,14 @@ char *prom_getenv(char *envname) } +extern char _image_cmdline; /* * initialize the prom module. */ void __init prom_init(void) { + char *cmd; + adm5120_info_init(); /* you should these macros defined in include/asm/bootinfo.h */ @@ -112,7 +115,9 @@ void __init prom_init(void) mips_machtype = adm5120_board.mach_type; /* init command line, register a default kernel command line */ - strcpy(&(arcs_cmdline[0]), CONFIG_CMDLINE); + cmd = &_image_cmdline + 8; + if( strlen(cmd) > 0) strcpy( &(arcs_cmdline[0]), cmd); + else strcpy(&(arcs_cmdline[0]), CONFIG_CMDLINE); /* init memory map */ prom_meminit(); diff --git a/target/linux/adm5120-2.6/patches/140-cmdline_hack.patch b/target/linux/adm5120-2.6/patches/140-cmdline_hack.patch index d72073dfb..3e84056e5 100644 --- a/target/linux/adm5120-2.6/patches/140-cmdline_hack.patch +++ b/target/linux/adm5120-2.6/patches/140-cmdline_hack.patch @@ -25,26 +25,3 @@ diff -ur linux.old/arch/mips/kernel/head.S linux.dev/arch/mips/kernel/head.S EXPORT(stext) # used for profiling EXPORT(_stext) -diff -ur linux.old/arch/mips/adm5120/prom.c linux.dev/arch/mips/adm5120/prom.c ---- linux.old/arch/mips/adm5120/prom.c 2006-12-06 17:30:27.000000000 +0100 -+++ linux.dev/arch/mips/adm5120/prom.c 2006-12-06 17:41:40.000000000 +0100 -@@ -100,6 +100,7 @@ - } - - -+extern char _image_cmdline; - /* - * initialize the prom module. - */ -@@ -112,8 +112,10 @@ - mips_machtype = adm5120_board.mach_type; - - /* init command line, register a default kernel command line */ -- strcpy(&(arcs_cmdline[0]), CONFIG_CMDLINE); -+ char *cmd = &_image_cmdline + 8; -+ if( strlen(cmd) > 0) strcpy( &(arcs_cmdline[0]), cmd); -+ else strcpy(&(arcs_cmdline[0]), CONFIG_CMDLINE); - - /* init memory map */ - prom_meminit(); - } |