[PATCH 09/26] Dynamic kernel command-line - i386

Alon Bar-Lev
2006-12-02T11:00:46Z

diff -urNp linux-2.6.19.org/arch/i386/kernel/head.S linux-2.6.19/arch/i386/kernel/head.S
--- linux-2.6.19.org/arch/i386/kernel/head.S 2006-11-29 23:57:37.000000000 +0200
+++ linux-2.6.19/arch/i386/kernel/head.S 2006-12-02 11:31:32.000000000 +0200
@@ -97,7 +97,7 @@ ENTRY(startup_32)
movzwl OLD_CL_OFFSET,%esi
addl $(OLD_CL_BASE_ADDR),%esi
2:
- movl $(saved_command_line - __PAGE_OFFSET),%edi
+ movl $(boot_command_line - __PAGE_OFFSET),%edi
movl $(COMMAND_LINE_SIZE/4),%ecx
rep
movsl
diff -urNp linux-2.6.19.org/arch/i386/kernel/setup.c linux-2.6.19/arch/i386/kernel/setup.c
--- linux-2.6.19.org/arch/i386/kernel/setup.c 2006-11-29 23:57:37.000000000 +0200
+++ linux-2.6.19/arch/i386/kernel/setup.c 2006-12-02 11:31:32.000000000 +0200
@@ -145,7 +145,7 @@ unsigned long saved_videomode;
#define RAMDISK_PROMPT_FLAG 0x8000
#define RAMDISK_LOAD_FLAG 0x4000

-static char command_line[COMMAND_LINE_SIZE];
+static char __initdata command_line[COMMAND_LINE_SIZE];

unsigned char __initdata boot_params[PARAM_SIZE];

@@ -1405,7 +1405,7 @@ void __init setup_arch(char **cmdline_p)
print_memory_map("user");
}

- strlcpy(command_line, saved_command_line, COMMAND_LINE_SIZE);
+ strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
*cmdline_p = command_line;

max_low_pfn = setup_memory();