- 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	Thu Mar 25 15:34:42 2004
+++ 25-akpm/arch/s390/kernel/setup.c	Thu Mar 25 15:34:42 2004
@@ -74,7 +74,6 @@ extern int _text,_etext, _edata, _end;
 #include <asm/setup.h>
 
 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	Thu Mar 25 15:34:42 2004
+++ 25-akpm/arch/s390/kernel/vmlinux.lds.S	Thu Mar 25 15:34:42 2004
@@ -77,6 +77,9 @@ SECTIONS
   __setup_start = .;
   .init.setup : { *(.init.setup) }
   __setup_end = .;
+  __early_begin = .;
+  __early_param : { *(__early_param) }
+  __early_end = .;
   __start___param = .;
   __param : { *(__param) }
   __stop___param = .;

_