From: Tom Rini - Remove saved_command_line (and saving of the command line). - Call parse_early_options --- 25-akpm/arch/s390/kernel/setup.c | 6 +----- 25-akpm/arch/s390/kernel/vmlinux.lds.S | 3 +++ 2 files changed, 4 insertions(+), 5 deletions(-) diff -puN arch/s390/kernel/setup.c~early-param-s390 arch/s390/kernel/setup.c --- 25/arch/s390/kernel/setup.c~early-param-s390 2004-04-01 02:06:15.901961936 -0800 +++ 25-akpm/arch/s390/kernel/setup.c 2004-04-01 02:06:15.907961024 -0800 @@ -74,7 +74,6 @@ extern int _text,_etext, _edata, _end; #include static char command_line[COMMAND_LINE_SIZE] = { 0, }; - char saved_command_line[COMMAND_LINE_SIZE]; static struct resource code_resource = { "Kernel code", 0x100000, 0 }; static struct resource data_resource = { "Kernel data", 0, 0 }; @@ -373,10 +372,6 @@ void __init setup_arch(char **cmdline_p) data_resource.start = (unsigned long) &_etext; data_resource.end = (unsigned long) &_edata - 1; - /* Save unparsed command line copy for /proc/cmdline */ - memcpy(saved_command_line, COMMAND_LINE, COMMAND_LINE_SIZE); - saved_command_line[COMMAND_LINE_SIZE-1] = '\0'; - for (;;) { /* * "mem=XXX[kKmM]" sets memsize @@ -423,6 +418,7 @@ void __init setup_arch(char **cmdline_p) if (c == ' ' && to > command_line) to--; *to = '\0'; *cmdline_p = command_line; + parse_early_options(cmdline_p); /* * partially used pages are not usable - thus diff -puN arch/s390/kernel/vmlinux.lds.S~early-param-s390 arch/s390/kernel/vmlinux.lds.S --- 25/arch/s390/kernel/vmlinux.lds.S~early-param-s390 2004-04-01 02:06:15.903961632 -0800 +++ 25-akpm/arch/s390/kernel/vmlinux.lds.S 2004-04-01 02:06:15.907961024 -0800 @@ -78,6 +78,9 @@ SECTIONS __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; + __early_begin = .; + __early_param : { *(__early_param) } + __early_end = .; __start___param = .; __param : { *(__param) } __stop___param = .; _