LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [patch 00/26] Dynamic kernel command-line
@ 2007-01-18 12:58 Bernhard Walle
  2007-01-18 12:58 ` [patch 01/26] Dynamic kernel command-line - common Bernhard Walle
                   ` (25 more replies)
  0 siblings, 26 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel

This patch has already been posted by Alon Bar-Lev <alon.barlev@gmail.com>
in 2nd Dec 2006. He didn't get any response.  Because I think that this
patch would be really useful being able to increase the command line, I
post this patch again to get some response.

This patches are against 2.6.20-rc4-mm1.

Current implementation stores a static command-line buffer allocated to
COMMAND_LINE_SIZE size. Most architectures stores two copies of this
buffer, one for future reference and one for parameter parsing.

Current kernel command-line size for most architecture is much too small
for module parameters, video settings, initramfs parameters and much
more. The problem is that setting COMMAND_LINE_SIZE to a grater value,
allocates static buffers.

In order to allow a greater command-line size, these buffers should be
dynamically allocated or marked as init disposable buffers, so unused
memory can be released.

This patch renames the static saved_command_line variable into
boot_command_line adding __initdata attribute, so that it can be
disposed after initialization. This rename is required so applications
that use saved_command_line will not be affected by this change.

It reintroduces saved_command_line as dynamically allocated buffer to
match the data in boot_command_line.

It also mark secondary command-line buffer as __initdata, and copies it
to dynamically allocated static_command_line buffer components may hold
reference to it after initialization.

This patch is for linux-2.6.19 and is divided to target each
architecture. I could not check this in any architecture so please
forgive me if I got it wrong.

The per-architecture modification is very simple, use boot_command_line
in place of saved_command_line. The common code is the change into
dynamic command-line.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>


^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 01/26] Dynamic kernel command-line - common
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:58 ` [patch 02/26] Dynamic kernel command-line - alpha Bernhard Walle
                   ` (24 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel, linux-arch; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-common.diff --]
[-- Type: text/plain, Size: 4166 bytes --]

1. Rename saved_command_line into boot_command_line, mark
   as init disposable.
2. Add dynamic allocated saved_command_line.
3. Add dynamic allocated static_command_line.
4. During startup copy:
   boot_command_line into saved_command_line.
   arch command_line into static_command_line.
5. Parse static_command_line and not
   arch command_line, so arch command_line may
   be freed.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 include/linux/init.h |    5 +++--
 init/main.c          |   29 ++++++++++++++++++++++++-----
 2 files changed, 27 insertions(+), 7 deletions(-)

Index: linux-2.6.20-rc4-mm1/include/linux/init.h
===================================================================
--- linux-2.6.20-rc4-mm1.orig/include/linux/init.h
+++ linux-2.6.20-rc4-mm1/include/linux/init.h
@@ -67,7 +67,8 @@ extern initcall_t __con_initcall_start[]
 extern initcall_t __security_initcall_start[], __security_initcall_end[];
 
 /* Defined in init/main.c */
-extern char saved_command_line[];
+extern char __initdata boot_command_line[];
+extern char *saved_command_line;
 extern unsigned int reset_devices;
 
 /* used by init/main.c */
@@ -164,7 +165,7 @@ struct obs_kernel_param {
 #define early_param(str, fn)					\
 	__setup_param(str, fn, fn, 1)
 
-/* Relies on saved_command_line being set */
+/* Relies on boot_command_line being set */
 void __init parse_early_param(void);
 #endif /* __ASSEMBLY__ */
 
Index: linux-2.6.20-rc4-mm1/init/main.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/init/main.c
+++ linux-2.6.20-rc4-mm1/init/main.c
@@ -122,8 +122,12 @@ extern void time_init(void);
 void (*late_time_init)(void);
 extern void softirq_init(void);
 
-/* Untouched command line (eg. for /proc) saved by arch-specific code. */
-char saved_command_line[COMMAND_LINE_SIZE];
+/* Untouched command line saved by arch-specific code. */
+char __initdata boot_command_line[COMMAND_LINE_SIZE];
+/* Untouched saved command line (eg. for /proc) */
+char *saved_command_line;
+/* Command line for parameter parsing */
+static char *static_command_line;
 
 static char *execute_command;
 static char *ramdisk_execute_command;
@@ -406,6 +410,20 @@ static void __init smp_init(void)
 #endif
 
 /*
+ * We need to store the untouched command line for future reference.
+ * We also need to store the touched command line since the parameter
+ * parsing is performed in place, and we should allow a component to
+ * store reference of name/value for future reference.
+ */
+static void __init setup_command_line(char *command_line)
+{
+	saved_command_line = alloc_bootmem(strlen (boot_command_line)+1);
+	static_command_line = alloc_bootmem(strlen (command_line)+1);
+	strcpy (saved_command_line, boot_command_line);
+	strcpy (static_command_line, command_line);
+}
+
+/*
  * We need to finalize in a non-__init function or else race conditions
  * between the root thread and the init thread may cause start_kernel to
  * be reaped by free_initmem before the root thread has proceeded to
@@ -459,7 +477,7 @@ void __init parse_early_param(void)
 		return;
 
 	/* All fall through to do_early_param. */
-	strlcpy(tmp_cmdline, saved_command_line, COMMAND_LINE_SIZE);
+	strlcpy(tmp_cmdline, boot_command_line, COMMAND_LINE_SIZE);
 	parse_args("early options", tmp_cmdline, NULL, 0, do_early_param);
 	done = 1;
 }
@@ -509,6 +527,7 @@ asmlinkage void __init start_kernel(void
 	printk(KERN_NOTICE);
 	printk(linux_banner);
 	setup_arch(&command_line);
+	setup_command_line(command_line);
 	unwind_setup();
 	setup_per_cpu_areas();
 	smp_prepare_boot_cpu();	/* arch-specific boot-cpu hooks */
@@ -526,9 +545,9 @@ asmlinkage void __init start_kernel(void
 	preempt_disable();
 	build_all_zonelists();
 	page_alloc_init();
-	printk(KERN_NOTICE "Kernel command line: %s\n", saved_command_line);
+	printk(KERN_NOTICE "Kernel command line: %s\n", boot_command_line);
 	parse_early_param();
-	parse_args("Booting kernel", command_line, __start___param,
+	parse_args("Booting kernel", static_command_line, __start___param,
 		   __stop___param - __start___param,
 		   &unknown_bootoption);
 	if (!irqs_disabled()) {

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 02/26] Dynamic kernel command-line - alpha
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
  2007-01-18 12:58 ` [patch 01/26] Dynamic kernel command-line - common Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:58 ` [patch 03/26] Dynamic kernel command-line - arm Bernhard Walle
                   ` (23 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-alpha.diff --]
[-- Type: text/plain, Size: 1351 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/alpha/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/alpha/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/alpha/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/alpha/kernel/setup.c
@@ -122,7 +122,7 @@ static void get_sysnames(unsigned long, 
 			 char **, char **);
 static void determine_cpu_caches (unsigned int);
 
-static char command_line[COMMAND_LINE_SIZE];
+static char __initdata command_line[COMMAND_LINE_SIZE];
 
 /*
  * The format of "screen_info" is strange, and due to early
@@ -547,7 +547,7 @@ setup_arch(char **cmdline_p)
 	} else {
 		strlcpy(command_line, COMMAND_LINE, sizeof command_line);
 	}
-	strcpy(saved_command_line, command_line);
+	strcpy(boot_command_line, command_line);
 	*cmdline_p = command_line;
 
 	/* 
@@ -589,7 +589,7 @@ setup_arch(char **cmdline_p)
 	}
 
 	/* Replace the command line, now that we've killed it with strsep.  */
-	strcpy(command_line, saved_command_line);
+	strcpy(command_line, boot_command_line);
 
 	/* If we want SRM console printk echoing early, do it now. */
 	if (alpha_using_srm && srmcons_output) {

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
  2007-01-18 12:58 ` [patch 01/26] Dynamic kernel command-line - common Bernhard Walle
  2007-01-18 12:58 ` [patch 02/26] Dynamic kernel command-line - alpha Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 14:14   ` Russell King
  2007-01-18 12:58 ` [patch 04/26] Dynamic kernel command-line - arm26 Bernhard Walle
                   ` (22 subsequent siblings)
  25 siblings, 1 reply; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-arm.diff --]
[-- Type: text/plain, Size: 1400 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/arm/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/arm/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/arm/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/arm/kernel/setup.c
@@ -106,7 +106,7 @@ unsigned long phys_initrd_size __initdat
 static struct meminfo meminfo __initdata = { 0, };
 static const char *cpu_name;
 static const char *machine_name;
-static char command_line[COMMAND_LINE_SIZE];
+static char __initdata command_line[COMMAND_LINE_SIZE];
 
 static char default_command_line[COMMAND_LINE_SIZE] __initdata = CONFIG_CMDLINE;
 static union { char c[4]; unsigned long l; } endian_test __initdata = { { 'l', '?', '?', 'b' } };
@@ -803,8 +803,8 @@ void __init setup_arch(char **cmdline_p)
 	init_mm.end_data   = (unsigned long) &_edata;
 	init_mm.brk	   = (unsigned long) &_end;
 
-	memcpy(saved_command_line, from, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE-1] = '\0';
+	memcpy(boot_command_line, from, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
 	parse_cmdline(cmdline_p, from);
 	paging_init(&meminfo, mdesc);
 	request_standard_resources(&meminfo, mdesc);

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 04/26] Dynamic kernel command-line - arm26
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (2 preceding siblings ...)
  2007-01-18 12:58 ` [patch 03/26] Dynamic kernel command-line - arm Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:58 ` [patch 05/26] Dynamic kernel command-line - avr32 Bernhard Walle
                   ` (21 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-arm26.diff --]
[-- Type: text/plain, Size: 1302 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/arm26/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/arm26/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/arm26/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/arm26/kernel/setup.c
@@ -80,7 +80,7 @@ unsigned long phys_initrd_size __initdat
 static struct meminfo meminfo __initdata = { 0, };
 static struct proc_info_item proc_info;
 static const char *machine_name;
-static char command_line[COMMAND_LINE_SIZE];
+static char __initdata command_line[COMMAND_LINE_SIZE];
 
 static char default_command_line[COMMAND_LINE_SIZE] __initdata = CONFIG_CMDLINE;
 
@@ -492,8 +492,8 @@ void __init setup_arch(char **cmdline_p)
 	init_mm.end_data   = (unsigned long) &_edata;
 	init_mm.brk	   = (unsigned long) &_end;
 
-	memcpy(saved_command_line, from, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE-1] = '\0';
+	memcpy(boot_command_line, from, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
 	parse_cmdline(&meminfo, cmdline_p, from);
 	bootmem_init(&meminfo);
 	paging_init(&meminfo);

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 05/26] Dynamic kernel command-line - avr32
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (3 preceding siblings ...)
  2007-01-18 12:58 ` [patch 04/26] Dynamic kernel command-line - arm26 Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:58 ` [patch 06/26] Dynamic kernel command-line - cris Bernhard Walle
                   ` (20 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev, Haavard Skinnemoen

[-- Attachment #1: dynamic-kernel-command-line-avr32.diff --]
[-- Type: text/plain, Size: 1447 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com>

---
 arch/avr32/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/avr32/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/avr32/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/avr32/kernel/setup.c
@@ -44,7 +44,7 @@ struct avr32_cpuinfo boot_cpu_data = {
 };
 EXPORT_SYMBOL(boot_cpu_data);
 
-static char command_line[COMMAND_LINE_SIZE];
+static char __initdata command_line[COMMAND_LINE_SIZE];
 
 /*
  * Should be more than enough, but if you have a _really_ complex
@@ -202,7 +202,7 @@ __tagtable(ATAG_MEM, parse_tag_mem);
 
 static int __init parse_tag_cmdline(struct tag *tag)
 {
-	strlcpy(saved_command_line, tag->u.cmdline.cmdline, COMMAND_LINE_SIZE);
+	strlcpy(boot_command_line, tag->u.cmdline.cmdline, COMMAND_LINE_SIZE);
 	return 0;
 }
 __tagtable(ATAG_CMDLINE, parse_tag_cmdline);
@@ -294,7 +294,7 @@ void __init setup_arch (char **cmdline_p
 	init_mm.end_data = (unsigned long) &_edata;
 	init_mm.brk = (unsigned long) &_end;
 
-	strlcpy(command_line, saved_command_line, COMMAND_LINE_SIZE);
+	strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
 	*cmdline_p = command_line;
 	parse_early_param();
 

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 06/26] Dynamic kernel command-line - cris
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (4 preceding siblings ...)
  2007-01-18 12:58 ` [patch 05/26] Dynamic kernel command-line - avr32 Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:58 ` [patch 07/26] Dynamic kernel command-line - frv Bernhard Walle
                   ` (19 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-cris.diff --]
[-- Type: text/plain, Size: 1241 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set cris_command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/cris/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/cris/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/cris/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/cris/kernel/setup.c
@@ -29,7 +29,7 @@ struct screen_info screen_info;
 extern int root_mountflags;
 extern char _etext, _edata, _end;
 
-char cris_command_line[COMMAND_LINE_SIZE] = { 0, };
+char __initdata cris_command_line[COMMAND_LINE_SIZE] = { 0, };
 
 extern const unsigned long text_start, edata; /* set by the linker script */
 extern unsigned long dram_start, dram_end;
@@ -153,8 +153,8 @@ setup_arch(char **cmdline_p)
 #endif
 
 	/* Save command line for future references. */
-	memcpy(saved_command_line, cris_command_line, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE - 1] = '\0';
+	memcpy(boot_command_line, cris_command_line, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE - 1] = '\0';
 
 	/* give credit for the CRIS port */
 	show_etrax_copyright();

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 07/26] Dynamic kernel command-line - frv
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (5 preceding siblings ...)
  2007-01-18 12:58 ` [patch 06/26] Dynamic kernel command-line - cris Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:58 ` [patch 08/26] Dynamic kernel command-line - h8300 Bernhard Walle
                   ` (18 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-frv.diff --]
[-- Type: text/plain, Size: 1428 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/frv/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/frv/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/frv/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/frv/kernel/setup.c
@@ -110,7 +110,7 @@ unsigned long __initdata num_mappedpages
 
 struct cpuinfo_frv __nongprelbss boot_cpu_data;
 
-char command_line[COMMAND_LINE_SIZE];
+char __initdata command_line[COMMAND_LINE_SIZE];
 char __initdata redboot_command_line[COMMAND_LINE_SIZE];
 
 #ifdef CONFIG_PM
@@ -762,7 +762,7 @@ void __init setup_arch(char **cmdline_p)
 	printk("uClinux FR-V port done by Red Hat Inc <dhowells@redhat.com>\n");
 #endif
 
-	memcpy(saved_command_line, redboot_command_line, COMMAND_LINE_SIZE);
+	memcpy(boot_command_line, redboot_command_line, COMMAND_LINE_SIZE);
 
 	determine_cpu();
 	determine_clocks(1);
@@ -803,7 +803,7 @@ void __init setup_arch(char **cmdline_p)
 #endif
 
 	/* deal with the command line - RedBoot may have passed one to the kernel */
-	memcpy(command_line, saved_command_line, sizeof(command_line));
+	memcpy(command_line, boot_command_line, sizeof(command_line));
 	*cmdline_p = &command_line[0];
 	parse_cmdline_early(command_line);
 

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 08/26] Dynamic kernel command-line - h8300
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (6 preceding siblings ...)
  2007-01-18 12:58 ` [patch 07/26] Dynamic kernel command-line - frv Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:58 ` [patch 09/26] Dynamic kernel command-line - i386 Bernhard Walle
                   ` (17 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-h8300.diff --]
[-- Type: text/plain, Size: 1159 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/h8300/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/h8300/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/h8300/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/h8300/kernel/setup.c
@@ -54,7 +54,7 @@ unsigned long rom_length;
 unsigned long memory_start;
 unsigned long memory_end;
 
-char command_line[COMMAND_LINE_SIZE];
+char __initdata command_line[COMMAND_LINE_SIZE];
 
 extern int _stext, _etext, _sdata, _edata, _sbss, _ebss, _end;
 extern int _ramstart, _ramend;
@@ -154,8 +154,8 @@ void __init setup_arch(char **cmdline_p)
 #endif
 	/* Keep a copy of command line */
 	*cmdline_p = &command_line[0];
-	memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE-1] = 0;
+	memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE-1] = 0;
 
 #ifdef DEBUG
 	if (strlen(*cmdline_p)) 

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 09/26] Dynamic kernel command-line - i386
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (7 preceding siblings ...)
  2007-01-18 12:58 ` [patch 08/26] Dynamic kernel command-line - h8300 Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:58 ` [patch 10/26] Dynamic kernel command-line - ia64 Bernhard Walle
                   ` (16 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-i386.diff --]
[-- Type: text/plain, Size: 1545 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/i386/kernel/head.S  |    2 +-
 arch/i386/kernel/setup.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/i386/kernel/head.S
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/i386/kernel/head.S
+++ linux-2.6.20-rc4-mm1/arch/i386/kernel/head.S
@@ -104,7 +104,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
Index: linux-2.6.20-rc4-mm1/arch/i386/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/i386/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/i386/kernel/setup.c
@@ -133,7 +133,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];
 
@@ -577,7 +577,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();

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 10/26] Dynamic kernel command-line - ia64
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (8 preceding siblings ...)
  2007-01-18 12:58 ` [patch 09/26] Dynamic kernel command-line - i386 Bernhard Walle
@ 2007-01-18 12:58 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 11/26] Dynamic kernel command-line - m32r Bernhard Walle
                   ` (15 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-ia64.diff --]
[-- Type: text/plain, Size: 2173 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/ia64/kernel/efi.c   |    4 ++--
 arch/ia64/kernel/sal.c   |    4 ++--
 arch/ia64/kernel/setup.c |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/ia64/kernel/efi.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/ia64/kernel/efi.c
+++ linux-2.6.20-rc4-mm1/arch/ia64/kernel/efi.c
@@ -413,11 +413,11 @@ efi_init (void)
 	efi_char16_t *c16;
 	u64 efi_desc_size;
 	char *cp, vendor[100] = "unknown";
-	extern char saved_command_line[];
+	extern char __initdata boot_command_line[];
 	int i;
 
 	/* it's too early to be able to use the standard kernel command line support... */
-	for (cp = saved_command_line; *cp; ) {
+	for (cp = boot_command_line; *cp; ) {
 		if (memcmp(cp, "mem=", 4) == 0) {
 			mem_limit = memparse(cp + 4, &cp);
 		} else if (memcmp(cp, "max_addr=", 9) == 0) {
Index: linux-2.6.20-rc4-mm1/arch/ia64/kernel/sal.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/ia64/kernel/sal.c
+++ linux-2.6.20-rc4-mm1/arch/ia64/kernel/sal.c
@@ -194,9 +194,9 @@ static void __init
 chk_nointroute_opt(void)
 {
 	char *cp;
-	extern char saved_command_line[];
+	extern char __initdata boot_command_line[];
 
-	for (cp = saved_command_line; *cp; ) {
+	for (cp = boot_command_line; *cp; ) {
 		if (memcmp(cp, "nointroute", 10) == 0) {
 			no_int_routing = 1;
 			printk ("no_int_routing on\n");
Index: linux-2.6.20-rc4-mm1/arch/ia64/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/ia64/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/ia64/kernel/setup.c
@@ -463,7 +463,7 @@ setup_arch (char **cmdline_p)
 	ia64_patch_vtop((u64) __start___vtop_patchlist, (u64) __end___vtop_patchlist);
 
 	*cmdline_p = __va(ia64_boot_param->command_line);
-	strlcpy(saved_command_line, *cmdline_p, COMMAND_LINE_SIZE);
+	strlcpy(boot_command_line, *cmdline_p, COMMAND_LINE_SIZE);
 
 	efi_init();
 	io_port_init();

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 11/26] Dynamic kernel command-line - m32r
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (9 preceding siblings ...)
  2007-01-18 12:58 ` [patch 10/26] Dynamic kernel command-line - ia64 Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 12/26] Dynamic kernel command-line - m68k Bernhard Walle
                   ` (14 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-m32r.diff --]
[-- Type: text/plain, Size: 1219 bytes --]

1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/m32r/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/m32r/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/m32r/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/m32r/kernel/setup.c
@@ -64,7 +64,7 @@ struct screen_info screen_info = {
 
 extern int root_mountflags;
 
-static char command_line[COMMAND_LINE_SIZE];
+static char __initdata command_line[COMMAND_LINE_SIZE];
 
 static struct resource data_resource = {
 	.name   = "Kernel data",
@@ -95,8 +95,8 @@ static __inline__ void parse_mem_cmdline
 	int usermem = 0;
 
 	/* 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';
+	memcpy(boot_command_line, COMMAND_LINE, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
 
 	memory_start = (unsigned long)CONFIG_MEMORY_START+PAGE_OFFSET;
 	memory_end = memory_start+(unsigned long)CONFIG_MEMORY_SIZE;

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 12/26] Dynamic kernel command-line - m68k
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (10 preceding siblings ...)
  2007-01-18 12:59 ` [patch 11/26] Dynamic kernel command-line - m32r Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 13/26] Dynamic kernel command-line - m68knommu Bernhard Walle
                   ` (13 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-m68k.diff --]
[-- Type: text/plain, Size: 791 bytes --]


Rename saved_command_line into boot_command_line.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/m68k/kernel/setup.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.20-rc4-mm1/arch/m68k/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/m68k/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/m68k/kernel/setup.c
@@ -256,7 +256,7 @@ void __init setup_arch(char **cmdline_p)
 	init_mm.brk = (unsigned long) &_end;
 
 	*cmdline_p = m68k_command_line;
-	memcpy(saved_command_line, *cmdline_p, CL_SIZE);
+	memcpy(boot_command_line, *cmdline_p, CL_SIZE);
 
 	/* Parse the command line for arch-specific options.
 	 * For the m68k, this is currently only "debug=xxx" to enable printing

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 13/26] Dynamic kernel command-line - m68knommu
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (11 preceding siblings ...)
  2007-01-18 12:59 ` [patch 12/26] Dynamic kernel command-line - m68k Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 14/26] Dynamic kernel command-line - mips Bernhard Walle
                   ` (12 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-m68knommu.diff --]
[-- Type: text/plain, Size: 1134 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/m68knommu/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/m68knommu/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/m68knommu/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/m68knommu/kernel/setup.c
@@ -44,7 +44,7 @@ unsigned long memory_end;
 EXPORT_SYMBOL(memory_start);
 EXPORT_SYMBOL(memory_end);
 
-char command_line[COMMAND_LINE_SIZE];
+char __initdata command_line[COMMAND_LINE_SIZE];
 
 /* setup some dummy routines */
 static void dummy_waitbut(void)
@@ -231,8 +231,8 @@ void setup_arch(char **cmdline_p)
 
 	/* Keep a copy of command line */
 	*cmdline_p = &command_line[0];
-	memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE-1] = 0;
+	memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE-1] = 0;
 
 #ifdef DEBUG
 	if (strlen(*cmdline_p))

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 14/26] Dynamic kernel command-line - mips
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (12 preceding siblings ...)
  2007-01-18 12:59 ` [patch 13/26] Dynamic kernel command-line - m68knommu Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 15/26] Dynamic kernel command-line - parisc Bernhard Walle
                   ` (11 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-mips.diff --]
[-- Type: text/plain, Size: 730 bytes --]


Rename saved_command_line into boot_command_line.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/mips/kernel/setup.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.20-rc4-mm1/arch/mips/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/mips/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/mips/kernel/setup.c
@@ -452,7 +452,7 @@ static void __init arch_mem_init(char **
 	print_memory_map();
 
 	strlcpy(command_line, arcs_cmdline, sizeof(command_line));
-	strlcpy(saved_command_line, command_line, COMMAND_LINE_SIZE);
+	strlcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
 
 	*cmdline_p = command_line;
 

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 15/26] Dynamic kernel command-line - parisc
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (13 preceding siblings ...)
  2007-01-18 12:59 ` [patch 14/26] Dynamic kernel command-line - mips Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 16/26] Dynamic kernel command-line - powerpc Bernhard Walle
                   ` (10 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-parisc.diff --]
[-- Type: text/plain, Size: 2167 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/parisc/kernel/setup.c |    8 ++++----
 arch/parisc/mm/init.c      |    4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/parisc/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/parisc/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/parisc/kernel/setup.c
@@ -45,7 +45,7 @@
 #include <asm/io.h>
 #include <asm/setup.h>
 
-char	command_line[COMMAND_LINE_SIZE] __read_mostly;
+char	__initdata command_line[COMMAND_LINE_SIZE] __read_mostly;
 
 /* Intended for ccio/sba/cpu statistics under /proc/bus/{runway|gsc} */
 struct proc_dir_entry * proc_runway_root __read_mostly = NULL;
@@ -71,9 +71,9 @@ void __init setup_cmdline(char **cmdline
 	/* boot_args[0] is free-mem start, boot_args[1] is ptr to command line */
 	if (boot_args[0] < 64) {
 		/* called from hpux boot loader */
-		saved_command_line[0] = '\0';
+		boot_command_line[0] = '\0';
 	} else {
-		strcpy(saved_command_line, (char *)__va(boot_args[1]));
+		strcpy(boot_command_line, (char *)__va(boot_args[1]));
 
 #ifdef CONFIG_BLK_DEV_INITRD
 		if (boot_args[2] != 0) /* did palo pass us a ramdisk? */
@@ -84,7 +84,7 @@ void __init setup_cmdline(char **cmdline
 #endif
 	}
 
-	strcpy(command_line, saved_command_line);
+	strcpy(command_line, boot_command_line);
 	*cmdline_p = command_line;
 }
 
Index: linux-2.6.20-rc4-mm1/arch/parisc/mm/init.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/parisc/mm/init.c
+++ linux-2.6.20-rc4-mm1/arch/parisc/mm/init.c
@@ -77,12 +77,12 @@ static void __init mem_limit_func(void)
 {
 	char *cp, *end;
 	unsigned long limit;
-	extern char saved_command_line[];
+	extern char __initdata boot_command_line[];
 
 	/* We need this before __setup() functions are called */
 
 	limit = MAX_MEM;
-	for (cp = saved_command_line; *cp; ) {
+	for (cp = boot_command_line; *cp; ) {
 		if (memcmp(cp, "mem=", 4) == 0) {
 			cp += 4;
 			limit = memparse(cp, &end);

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 16/26] Dynamic kernel command-line - powerpc
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (14 preceding siblings ...)
  2007-01-18 12:59 ` [patch 15/26] Dynamic kernel command-line - parisc Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 17/26] Dynamic kernel command-line - ppc Bernhard Walle
                   ` (9 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-powerpc.diff --]
[-- Type: text/plain, Size: 2765 bytes --]


Rename saved_command_line into boot_command_line.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/powerpc/kernel/legacy_serial.c     |    2 +-
 arch/powerpc/kernel/prom.c              |    2 +-
 arch/powerpc/kernel/udbg.c              |    2 +-
 arch/powerpc/platforms/powermac/setup.c |    4 ++--
 4 files changed, 5 insertions(+), 5 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/powerpc/kernel/legacy_serial.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/powerpc/kernel/legacy_serial.c
+++ linux-2.6.20-rc4-mm1/arch/powerpc/kernel/legacy_serial.c
@@ -498,7 +498,7 @@ static int __init check_legacy_serial_co
 	DBG(" -> check_legacy_serial_console()\n");
 
 	/* The user has requested a console so this is already set up. */
-	if (strstr(saved_command_line, "console=")) {
+	if (strstr(boot_command_line, "console=")) {
 		DBG(" console was specified !\n");
 		return -EBUSY;
 	}
Index: linux-2.6.20-rc4-mm1/arch/powerpc/kernel/prom.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/powerpc/kernel/prom.c
+++ linux-2.6.20-rc4-mm1/arch/powerpc/kernel/prom.c
@@ -991,7 +991,7 @@ void __init early_init_devtree(void *par
 	of_scan_flat_dt(early_init_dt_scan_memory, NULL);
 
 	/* Save command line for /proc/cmdline and then parse parameters */
-	strlcpy(saved_command_line, cmd_line, COMMAND_LINE_SIZE);
+	strlcpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE);
 	parse_early_param();
 
 	/* Reserve LMB regions used by kernel, initrd, dt, etc... */
Index: linux-2.6.20-rc4-mm1/arch/powerpc/kernel/udbg.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/powerpc/kernel/udbg.c
+++ linux-2.6.20-rc4-mm1/arch/powerpc/kernel/udbg.c
@@ -146,7 +146,7 @@ void __init disable_early_printk(void)
 {
 	if (!early_console_initialized)
 		return;
-	if (strstr(saved_command_line, "udbg-immortal")) {
+	if (strstr(boot_command_line, "udbg-immortal")) {
 		printk(KERN_INFO "early console immortal !\n");
 		return;
 	}
Index: linux-2.6.20-rc4-mm1/arch/powerpc/platforms/powermac/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/powerpc/platforms/powermac/setup.c
+++ linux-2.6.20-rc4-mm1/arch/powerpc/platforms/powermac/setup.c
@@ -506,8 +506,8 @@ void note_bootable_part(dev_t dev, int p
 	if ((goodness <= current_root_goodness) &&
 	    ROOT_DEV != DEFAULT_ROOT_DEVICE)
 		return;
-	p = strstr(saved_command_line, "root=");
-	if (p != NULL && (p == saved_command_line || p[-1] == ' '))
+	p = strstr(boot_command_line, "root=");
+	if (p != NULL && (p == boot_command_line || p[-1] == ' '))
 		return;
 
 	if (!found_boot) {

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 17/26] Dynamic kernel command-line - ppc
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (15 preceding siblings ...)
  2007-01-18 12:59 ` [patch 16/26] Dynamic kernel command-line - powerpc Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 18/26] Dynamic kernel command-line - s390 Bernhard Walle
                   ` (8 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-ppc.diff --]
[-- Type: text/plain, Size: 2616 bytes --]


Rename saved_command_line into boot_command_line.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/ppc/kernel/setup.c         |    2 +-
 arch/ppc/platforms/lopec.c      |    2 +-
 arch/ppc/platforms/pplus.c      |    2 +-
 arch/ppc/platforms/prep_setup.c |    4 ++--
 4 files changed, 5 insertions(+), 5 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/ppc/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/ppc/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/ppc/kernel/setup.c
@@ -543,7 +543,7 @@ void __init setup_arch(char **cmdline_p)
 	init_mm.brk = (unsigned long) klimit;
 
 	/* Save unparsed command line copy for /proc/cmdline */
-	strlcpy(saved_command_line, cmd_line, COMMAND_LINE_SIZE);
+	strlcpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE);
 	*cmdline_p = cmd_line;
 
 	parse_early_param();
Index: linux-2.6.20-rc4-mm1/arch/ppc/platforms/lopec.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/ppc/platforms/lopec.c
+++ linux-2.6.20-rc4-mm1/arch/ppc/platforms/lopec.c
@@ -344,7 +344,7 @@ lopec_setup_arch(void)
 		 if (bootargs != NULL) {
 			 strcpy(cmd_line, bootargs);
 			 /* again.. */
-			 strcpy(saved_command_line, cmd_line);
+			 strcpy(boot_command_line, cmd_line);
 		}
 	}
 #endif
Index: linux-2.6.20-rc4-mm1/arch/ppc/platforms/pplus.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/ppc/platforms/pplus.c
+++ linux-2.6.20-rc4-mm1/arch/ppc/platforms/pplus.c
@@ -592,7 +592,7 @@ static void __init pplus_setup_arch(void
 		if (bootargs != NULL) {
 			strcpy(cmd_line, bootargs);
 			/* again.. */
-			strcpy(saved_command_line, cmd_line);
+			strcpy(boot_command_line, cmd_line);
 		}
 	}
 #endif
Index: linux-2.6.20-rc4-mm1/arch/ppc/platforms/prep_setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/ppc/platforms/prep_setup.c
+++ linux-2.6.20-rc4-mm1/arch/ppc/platforms/prep_setup.c
@@ -634,7 +634,7 @@ static void __init prep_init_sound(void)
 	/*
 	 * Find a way to push these informations to the cs4232 driver
 	 * Give it out with printk, when not in cmd_line?
-	 * Append it to  cmd_line and saved_command_line?
+	 * Append it to  cmd_line and boot_command_line?
 	 * Format is cs4232=io,irq,dma,dma2
 	 */
 }
@@ -897,7 +897,7 @@ prep_setup_arch(void)
 		 if (bootargs != NULL) {
 			 strcpy(cmd_line, bootargs);
 			 /* again.. */
-			 strcpy(saved_command_line, cmd_line);
+			 strcpy(boot_command_line, cmd_line);
 		}
 	}
 

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 18/26] Dynamic kernel command-line - s390
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (16 preceding siblings ...)
  2007-01-18 12:59 ` [patch 17/26] Dynamic kernel command-line - ppc Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 19/26] Dynamic kernel command-line - sh Bernhard Walle
                   ` (7 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-s390.diff --]
[-- Type: text/plain, Size: 766 bytes --]


Rename saved_command_line into boot_command_line.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/s390/kernel/setup.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.20-rc4-mm1/arch/s390/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/s390/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/s390/kernel/setup.c
@@ -625,7 +625,7 @@ setup_arch(char **cmdline_p)
 #endif /* CONFIG_64BIT */
 
 	/* Save unparsed command line copy for /proc/cmdline */
-	strlcpy(saved_command_line, COMMAND_LINE, COMMAND_LINE_SIZE);
+	strlcpy(boot_command_line, COMMAND_LINE, COMMAND_LINE_SIZE);
 
 	*cmdline_p = COMMAND_LINE;
 	*(*cmdline_p + COMMAND_LINE_SIZE - 1) = '\0';

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 19/26] Dynamic kernel command-line - sh
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (17 preceding siblings ...)
  2007-01-18 12:59 ` [patch 18/26] Dynamic kernel command-line - s390 Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 20/26] Dynamic kernel command-line - sh64 Bernhard Walle
                   ` (6 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev, Paul Mundt

[-- Attachment #1: dynamic-kernel-command-line-sh.diff --]
[-- Type: text/plain, Size: 1360 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>

---
 arch/sh/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/sh/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/sh/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/sh/kernel/setup.c
@@ -75,7 +75,7 @@ static struct sh_machine_vector* __init 
 #define RAMDISK_PROMPT_FLAG		0x8000
 #define RAMDISK_LOAD_FLAG		0x4000
 
-static char command_line[COMMAND_LINE_SIZE] = { 0, };
+static char __initdata command_line[COMMAND_LINE_SIZE] = { 0, };
 
 static struct resource code_resource = { .name = "Kernel code", };
 static struct resource data_resource = { .name = "Kernel data", };
@@ -90,8 +90,8 @@ static inline void parse_cmdline (char *
 	int len = 0;
 
 	/* 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';
+	memcpy(boot_command_line, COMMAND_LINE, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
 
 	memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START;
 	memory_end = memory_start + __MEMORY_SIZE;

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 20/26] Dynamic kernel command-line - sh64
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (18 preceding siblings ...)
  2007-01-18 12:59 ` [patch 19/26] Dynamic kernel command-line - sh Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 21/26] Dynamic kernel command-line - sparc Bernhard Walle
                   ` (5 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev, Paul Mundt

[-- Attachment #1: dynamic-kernel-command-line-sh64.diff --]
[-- Type: text/plain, Size: 1291 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>

---
 arch/sh64/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/sh64/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/sh64/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/sh64/kernel/setup.c
@@ -83,7 +83,7 @@ extern int sh64_tlb_init(void);
 #define RAMDISK_PROMPT_FLAG		0x8000
 #define RAMDISK_LOAD_FLAG		0x4000
 
-static char command_line[COMMAND_LINE_SIZE] = { 0, };
+static char __initdata command_line[COMMAND_LINE_SIZE] = { 0, };
 unsigned long long memory_start = CONFIG_MEMORY_START;
 unsigned long long memory_end = CONFIG_MEMORY_START + (CONFIG_MEMORY_SIZE_IN_MB * 1024 * 1024);
 
@@ -95,8 +95,8 @@ static inline void parse_mem_cmdline (ch
 	int len = 0;
 
 	/* 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';
+	memcpy(boot_command_line, COMMAND_LINE, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
 
 	for (;;) {
 	  /*

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 21/26] Dynamic kernel command-line - sparc
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (19 preceding siblings ...)
  2007-01-18 12:59 ` [patch 20/26] Dynamic kernel command-line - sh64 Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 22/26] Dynamic kernel command-line - sparc64 Bernhard Walle
                   ` (4 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-sparc.diff --]
[-- Type: text/plain, Size: 1346 bytes --]


Rename saved_command_line into boot_command_line.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/sparc/kernel/setup.c       |    2 +-
 arch/sparc/kernel/sparc_ksyms.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/sparc/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/sparc/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/sparc/kernel/setup.c
@@ -246,7 +246,7 @@ void __init setup_arch(char **cmdline_p)
 
 	/* Initialize PROM console and command line. */
 	*cmdline_p = prom_getbootargs();
-	strcpy(saved_command_line, *cmdline_p);
+	strcpy(boot_command_line, *cmdline_p);
 
 	/* Set sparc_cpu_model */
 	sparc_cpu_model = sun_unknown;
Index: linux-2.6.20-rc4-mm1/arch/sparc/kernel/sparc_ksyms.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/sparc/kernel/sparc_ksyms.c
+++ linux-2.6.20-rc4-mm1/arch/sparc/kernel/sparc_ksyms.c
@@ -229,7 +229,7 @@ EXPORT_SYMBOL(prom_getproplen);
 EXPORT_SYMBOL(prom_getproperty);
 EXPORT_SYMBOL(prom_node_has_property);
 EXPORT_SYMBOL(prom_setprop);
-EXPORT_SYMBOL(saved_command_line);
+EXPORT_SYMBOL(boot_command_line);
 EXPORT_SYMBOL(prom_apply_obio_ranges);
 EXPORT_SYMBOL(prom_feval);
 EXPORT_SYMBOL(prom_getbool);

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 22/26] Dynamic kernel command-line - sparc64
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (20 preceding siblings ...)
  2007-01-18 12:59 ` [patch 21/26] Dynamic kernel command-line - sparc Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 23/26] Dynamic kernel command-line - um Bernhard Walle
                   ` (3 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-sparc64.diff --]
[-- Type: text/plain, Size: 1363 bytes --]


Rename saved_command_line into boot_command_line.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---
 arch/sparc64/kernel/setup.c         |    2 +-
 arch/sparc64/kernel/sparc64_ksyms.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/sparc64/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/sparc64/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/sparc64/kernel/setup.c
@@ -315,7 +315,7 @@ void __init setup_arch(char **cmdline_p)
 {
 	/* Initialize PROM console and command line. */
 	*cmdline_p = prom_getbootargs();
-	strcpy(saved_command_line, *cmdline_p);
+	strcpy(boot_command_line, *cmdline_p);
 
 	if (tlb_type == hypervisor)
 		printk("ARCH: SUN4V\n");
Index: linux-2.6.20-rc4-mm1/arch/sparc64/kernel/sparc64_ksyms.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/sparc64/kernel/sparc64_ksyms.c
+++ linux-2.6.20-rc4-mm1/arch/sparc64/kernel/sparc64_ksyms.c
@@ -253,7 +253,7 @@ EXPORT_SYMBOL(prom_getproplen);
 EXPORT_SYMBOL(prom_getproperty);
 EXPORT_SYMBOL(prom_node_has_property);
 EXPORT_SYMBOL(prom_setprop);
-EXPORT_SYMBOL(saved_command_line);
+EXPORT_SYMBOL(boot_command_line);
 EXPORT_SYMBOL(prom_finddevice);
 EXPORT_SYMBOL(prom_feval);
 EXPORT_SYMBOL(prom_getbool);

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 23/26] Dynamic kernel command-line - um
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (21 preceding siblings ...)
  2007-01-18 12:59 ` [patch 22/26] Dynamic kernel command-line - sparc64 Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 24/26] Dynamic kernel command-line - v850 Bernhard Walle
                   ` (2 subsequent siblings)
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-um.diff --]
[-- Type: text/plain, Size: 1372 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---

---
 arch/um/include/user_util.h |    2 +-
 arch/um/kernel/um_arch.c    |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/um/include/user_util.h
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/um/include/user_util.h
+++ linux-2.6.20-rc4-mm1/arch/um/include/user_util.h
@@ -38,7 +38,7 @@ extern unsigned long long highmem;
 
 extern char host_info[];
 
-extern char saved_command_line[];
+extern char __initdata boot_command_line[];
 
 extern unsigned long _stext, _etext, _sdata, _edata, __bss_start, _end;
 extern unsigned long _unprotected_end;
Index: linux-2.6.20-rc4-mm1/arch/um/kernel/um_arch.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/um/kernel/um_arch.c
+++ linux-2.6.20-rc4-mm1/arch/um/kernel/um_arch.c
@@ -482,7 +482,7 @@ void __init setup_arch(char **cmdline_p)
 	atomic_notifier_chain_register(&panic_notifier_list,
 			&panic_exit_notifier);
 	paging_init();
-        strlcpy(saved_command_line, command_line, COMMAND_LINE_SIZE);
+	strlcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
  	*cmdline_p = command_line;
 	setup_hostinfo();
 }

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 24/26] Dynamic kernel command-line - v850
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (22 preceding siblings ...)
  2007-01-18 12:59 ` [patch 23/26] Dynamic kernel command-line - um Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 25/26] Dynamic kernel command-line - x86_64 Bernhard Walle
  2007-01-18 12:59 ` [patch 26/26] Dynamic kernel command-line - xtensa Bernhard Walle
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-v850.diff --]
[-- Type: text/plain, Size: 1145 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---

---
 arch/v850/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/v850/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/v850/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/v850/kernel/setup.c
@@ -42,7 +42,7 @@ extern char _root_fs_image_start __attri
 extern char _root_fs_image_end __attribute__ ((__weak__));
 
 
-char command_line[COMMAND_LINE_SIZE];
+char __initdata command_line[COMMAND_LINE_SIZE];
 
 /* Memory not used by the kernel.  */
 static unsigned long total_ram_pages;
@@ -64,8 +64,8 @@ void __init setup_arch (char **cmdline)
 {
 	/* Keep a copy of command line */
 	*cmdline = command_line;
-	memcpy (saved_command_line, command_line, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE - 1] = '\0';
+	memcpy (boot_command_line, command_line, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE - 1] = '\0';
 
 	console_verbose ();
 

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 25/26] Dynamic kernel command-line - x86_64
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (23 preceding siblings ...)
  2007-01-18 12:59 ` [patch 24/26] Dynamic kernel command-line - v850 Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  2007-01-18 12:59 ` [patch 26/26] Dynamic kernel command-line - xtensa Bernhard Walle
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-x86_64.diff --]
[-- Type: text/plain, Size: 2953 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---

---
 arch/x86_64/kernel/head64.c    |    4 ++--
 arch/x86_64/kernel/setup.c     |    6 +++---
 include/asm-x86_64/bootsetup.h |    2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

Index: linux-2.6.20-rc4-mm1/include/asm-x86_64/bootsetup.h
===================================================================
--- linux-2.6.20-rc4-mm1.orig/include/asm-x86_64/bootsetup.h
+++ linux-2.6.20-rc4-mm1/include/asm-x86_64/bootsetup.h
@@ -31,7 +31,7 @@ extern char x86_boot_params[BOOT_PARAM_S
 #define EDD_MBR_SIG_NR (*(unsigned char *) (PARAM+EDD_MBR_SIG_NR_BUF))
 #define EDD_MBR_SIGNATURE ((unsigned int *) (PARAM+EDD_MBR_SIG_BUF))
 #define EDD_BUF     ((struct edd_info *) (PARAM+EDDBUF))
-#define COMMAND_LINE saved_command_line
+#define COMMAND_LINE boot_command_line
 
 #define RAMDISK_IMAGE_START_MASK  	0x07FF
 #define RAMDISK_PROMPT_FLAG		0x8000
Index: linux-2.6.20-rc4-mm1/arch/x86_64/kernel/head64.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/x86_64/kernel/head64.c
+++ linux-2.6.20-rc4-mm1/arch/x86_64/kernel/head64.c
@@ -34,7 +34,7 @@ static void __init clear_bss(void)
 #define OLD_CL_BASE_ADDR        0x90000
 #define OLD_CL_OFFSET           0x90022
 
-extern char saved_command_line[];
+extern char __initdata boot_command_line[];
 
 static void __init copy_bootdata(char *real_mode_data)
 {
@@ -50,7 +50,7 @@ static void __init copy_bootdata(char *r
 		new_data = OLD_CL_BASE_ADDR + * (u16 *) OLD_CL_OFFSET;
 	}
 	command_line = (char *) ((u64)(new_data));
-	memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE);
+	memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
 }
 
 void __init x86_64_start_kernel(char * real_mode_data)
Index: linux-2.6.20-rc4-mm1/arch/x86_64/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/x86_64/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/x86_64/kernel/setup.c
@@ -100,7 +100,7 @@ EXPORT_SYMBOL_GPL(edid_info);
 
 extern int root_mountflags;
 
-char command_line[COMMAND_LINE_SIZE];
+char __initdata command_line[COMMAND_LINE_SIZE];
 
 struct resource standard_io_resources[] = {
 	{ .name = "dma1", .start = 0x00, .end = 0x1f,
@@ -343,7 +343,7 @@ static void discover_ebda(void)
 
 void __init setup_arch(char **cmdline_p)
 {
-	printk(KERN_INFO "Command line: %s\n", saved_command_line);
+	printk(KERN_INFO "Command line: %s\n", boot_command_line);
 
  	ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV);
  	screen_info = SCREEN_INFO;
@@ -373,7 +373,7 @@ void __init setup_arch(char **cmdline_p)
 
 	early_identify_cpu(&boot_cpu_data);
 
-	strlcpy(command_line, saved_command_line, COMMAND_LINE_SIZE);
+	strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
 	*cmdline_p = command_line;
 
 	parse_early_param();

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [patch 26/26] Dynamic kernel command-line - xtensa
  2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
                   ` (24 preceding siblings ...)
  2007-01-18 12:59 ` [patch 25/26] Dynamic kernel command-line - x86_64 Bernhard Walle
@ 2007-01-18 12:59 ` Bernhard Walle
  25 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-18 12:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: Alon Bar-Lev

[-- Attachment #1: dynamic-kernel-command-line-xtensa.diff --]
[-- Type: text/plain, Size: 1260 bytes --]


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---

---
 arch/xtensa/kernel/setup.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.20-rc4-mm1/arch/xtensa/kernel/setup.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/arch/xtensa/kernel/setup.c
+++ linux-2.6.20-rc4-mm1/arch/xtensa/kernel/setup.c
@@ -78,7 +78,7 @@ extern unsigned long loops_per_jiffy;
 
 /* Command line specified as configuration option. */
 
-static char command_line[COMMAND_LINE_SIZE];
+static char __initdata command_line[COMMAND_LINE_SIZE];
 
 #ifdef CONFIG_CMDLINE_BOOL
 static char default_command_line[COMMAND_LINE_SIZE] __initdata = CONFIG_CMDLINE;
@@ -253,8 +253,8 @@ void __init setup_arch(char **cmdline_p)
 	extern int mem_reserve(unsigned long, unsigned long, int);
 	extern void bootmem_init(void);
 
-	memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE-1] = '\0';
+	memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
 	*cmdline_p = command_line;
 
 	/* Reserve some memory regions */

-- 

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 12:58 ` [patch 03/26] Dynamic kernel command-line - arm Bernhard Walle
@ 2007-01-18 14:14   ` Russell King
  2007-01-18 14:48     ` Alon Bar-Lev
  2007-01-18 15:31     ` Tomas Carnecky
  0 siblings, 2 replies; 54+ messages in thread
From: Russell King @ 2007-01-18 14:14 UTC (permalink / raw)
  To: Bernhard Walle; +Cc: linux-kernel, Alon Bar-Lev

On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote:
> 2. Set command_line as __initdata.

You can't.

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

Uninitialised data is placed in the BSS.  Adding __initdata to BSS
data causes grief.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 14:14   ` Russell King
@ 2007-01-18 14:48     ` Alon Bar-Lev
  2007-01-18 15:31     ` Tomas Carnecky
  1 sibling, 0 replies; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-18 14:48 UTC (permalink / raw)
  To: Bernhard Walle, linux-kernel, Alon Bar-Lev

On 1/18/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote:
> > 2. Set command_line as __initdata.
>
> You can't.
>
> > -static char command_line[COMMAND_LINE_SIZE];
> > +static char __initdata command_line[COMMAND_LINE_SIZE];
>
> Uninitialised data is placed in the BSS.  Adding __initdata to BSS
> data causes grief.

Thanks for the reply!

There are many places in kernel that uses __initdata for uninitialized
variables.

For example:

./drivers/ide/ide.c:static int __initdata probe_ali14xx;
./drivers/ide/ide.c:static int __initdata probe_umc8672;
./drivers/ide/ide.c:static int __initdata probe_dtc2278;
./drivers/ide/ide.c:static int __initdata probe_ht6560b;
./drivers/ide/ide.c:static int __initdata probe_qd65xx;
static int __initdata is_chipset_set[MAX_HWIFS];

So all these current places are wrong?
If I initialize the data will it be OK.

Best Regards,
Alon Bar-Lev.

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 15:31     ` Tomas Carnecky
@ 2007-01-18 15:23       ` Russell King
  2007-01-18 15:31         ` Alon Bar-Lev
                           ` (3 more replies)
  0 siblings, 4 replies; 54+ messages in thread
From: Russell King @ 2007-01-18 15:23 UTC (permalink / raw)
  To: Tomas Carnecky; +Cc: Bernhard Walle, linux-kernel, Alon Bar-Lev

On Thu, Jan 18, 2007 at 04:31:51PM +0100, Tomas Carnecky wrote:
> Russell King wrote:
> > On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote: 
> >> -static char command_line[COMMAND_LINE_SIZE];
> >> +static char __initdata command_line[COMMAND_LINE_SIZE];
> > 
> > Uninitialised data is placed in the BSS.  Adding __initdata to BSS
> > data causes grief.
> > 
> 
> Static variables are implicitly initialized to zero. Does that also
> count as initialization?

No.  As I say, they're placed in the BSS.  The BSS is zeroed as part of
the C runtime initialisation.

If you want to place a variable in a specific section, it must be
explicitly initialised.  Eg,

static char __initdata command_line[COMMAND_LINE_SIZE] = "";

However, there is a bigger question here: that is the tradeoff between
making this variable part of the on-disk kernel image, but throw away
the memory at runtime, or to leave it in the BSS where it will not be
part of the on-disk kernel image, but will not be thrown away at
runtime.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 15:23       ` Russell King
@ 2007-01-18 15:31         ` Alon Bar-Lev
  2007-01-19 12:38         ` Bernhard Walle
                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-18 15:31 UTC (permalink / raw)
  To: Tomas Carnecky, Bernhard Walle, linux-kernel, Alon Bar-Lev

On 1/18/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> If you want to place a variable in a specific section, it must be
> explicitly initialised.  Eg,
>
> static char __initdata command_line[COMMAND_LINE_SIZE] = "";
>
> However, there is a bigger question here: that is the tradeoff between
> making this variable part of the on-disk kernel image, but throw away
> the memory at runtime, or to leave it in the BSS where it will not be
> part of the on-disk kernel image, but will not be thrown away at
> runtime.

This patch is a result of trying to extend the kernel command-line
size on x86 to more than 256 bytes. People requested to not allocate a
larger buffers for small systems.

I don't know who should decide the tradeoff...

So what you basically say is that many modules need to be fixed...
./arch/avr32/boards/atstk1000/setup.c
./arch/frv/kernel/setup.c
./arch/i386/kernel/acpi/boot.c
./arch/i386/kernel/mpparse.c
./arch/i386/kernel/setup.c
./arch/ia64/kernel/setup.c
<many more>

Best Regards,
Alon Bar-Lev.

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 14:14   ` Russell King
  2007-01-18 14:48     ` Alon Bar-Lev
@ 2007-01-18 15:31     ` Tomas Carnecky
  2007-01-18 15:23       ` Russell King
  1 sibling, 1 reply; 54+ messages in thread
From: Tomas Carnecky @ 2007-01-18 15:31 UTC (permalink / raw)
  To: Bernhard Walle, linux-kernel, Alon Bar-Lev

Russell King wrote:
> On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote: 
>> -static char command_line[COMMAND_LINE_SIZE];
>> +static char __initdata command_line[COMMAND_LINE_SIZE];
> 
> Uninitialised data is placed in the BSS.  Adding __initdata to BSS
> data causes grief.
> 

Static variables are implicitly initialized to zero. Does that also
count as initialization?

tom



^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 15:23       ` Russell King
  2007-01-18 15:31         ` Alon Bar-Lev
@ 2007-01-19 12:38         ` Bernhard Walle
  2007-01-22 19:56         ` Andrew Morton
  2007-01-22 22:14         ` Bernhard Walle
  3 siblings, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-19 12:38 UTC (permalink / raw)
  To: Tomas Carnecky, linux-kernel, Alon Bar-Lev

[-- Attachment #1: Type: text/plain, Size: 719 bytes --]

* Russell King <rmk+lkml@arm.linux.org.uk> [2007-01-18 16:23]:
> 
> However, there is a bigger question here: that is the tradeoff between
> making this variable part of the on-disk kernel image, but throw away
> the memory at runtime, or to leave it in the BSS where it will not be
> part of the on-disk kernel image, but will not be thrown away at
> runtime.

Are 1024 bytes of a bigger kernel image really a problem? And even,
normally kernel images are compressed, and compressing 1024 zeros
can be compressed very well.

I think saving memory is more important than saving disk space. I know
that most ARM device use flash disk, but also most ARM devices have
limited RAM.


Regards,
  Bernhard

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 15:23       ` Russell King
  2007-01-18 15:31         ` Alon Bar-Lev
  2007-01-19 12:38         ` Bernhard Walle
@ 2007-01-22 19:56         ` Andrew Morton
  2007-01-22 20:00           ` Russell King
  2007-01-22 20:31           ` Alon Bar-Lev
  2007-01-22 22:14         ` Bernhard Walle
  3 siblings, 2 replies; 54+ messages in thread
From: Andrew Morton @ 2007-01-22 19:56 UTC (permalink / raw)
  To: Russell King; +Cc: tom, bwalle, linux-kernel, alon.barlev

> On Thu, 18 Jan 2007 15:23:26 +0000 Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> On Thu, Jan 18, 2007 at 04:31:51PM +0100, Tomas Carnecky wrote:
> > Russell King wrote:
> > > On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote: 
> > >> -static char command_line[COMMAND_LINE_SIZE];
> > >> +static char __initdata command_line[COMMAND_LINE_SIZE];
> > > 
> > > Uninitialised data is placed in the BSS.  Adding __initdata to BSS
> > > data causes grief.
> > > 
> > 
> > Static variables are implicitly initialized to zero. Does that also
> > count as initialization?
> 
> No.  As I say, they're placed in the BSS.  The BSS is zeroed as part of
> the C runtime initialisation.

I don't understand the objection.  With the above change, command_line[]
will end up consuming COMMAND_LINE_SIZE bytes of .data.init and will be
reliably initialized to all-zeros by the compiler (won't it?)

> If you want to place a variable in a specific section, it must be
> explicitly initialised.  Eg,
> 
> static char __initdata command_line[COMMAND_LINE_SIZE] = "";
> 
> However, there is a bigger question here: that is the tradeoff between
> making this variable part of the on-disk kernel image, but throw away
> the memory at runtime, or to leave it in the BSS where it will not be
> part of the on-disk kernel image, but will not be thrown away at
> runtime.

Yes, it'll take some space in vmlinux.  We could perhaps create a new
__initbss to prevent that, I assume.


^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-22 19:56         ` Andrew Morton
@ 2007-01-22 20:00           ` Russell King
  2007-01-22 20:31           ` Alon Bar-Lev
  1 sibling, 0 replies; 54+ messages in thread
From: Russell King @ 2007-01-22 20:00 UTC (permalink / raw)
  To: Andrew Morton; +Cc: tom, bwalle, linux-kernel, alon.barlev

On Mon, Jan 22, 2007 at 11:56:50AM -0800, Andrew Morton wrote:
> > On Thu, 18 Jan 2007 15:23:26 +0000 Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> > On Thu, Jan 18, 2007 at 04:31:51PM +0100, Tomas Carnecky wrote:
> > > Russell King wrote:
> > > > On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote: 
> > > >> -static char command_line[COMMAND_LINE_SIZE];
> > > >> +static char __initdata command_line[COMMAND_LINE_SIZE];
> > > > 
> > > > Uninitialised data is placed in the BSS.  Adding __initdata to BSS
> > > > data causes grief.
> > > > 
> > > 
> > > Static variables are implicitly initialized to zero. Does that also
> > > count as initialization?
> > 
> > No.  As I say, they're placed in the BSS.  The BSS is zeroed as part of
> > the C runtime initialisation.
> 
> I don't understand the objection.  With the above change, command_line[]
> will end up consuming COMMAND_LINE_SIZE bytes of .data.init and will be
> reliably initialized to all-zeros by the compiler (won't it?)

You're reading into this something that was never there.  The mail you
are replying to is an explanatory one, not an objecting one.

My "objection" (if you want to call it that, it was more an observation)
was that merely adding an __initdata to an uninitialised variable has in
the past caused complaints from compilers about section mismatches and
the like.

Maybe compilers are now smarter though.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-22 19:56         ` Andrew Morton
  2007-01-22 20:00           ` Russell King
@ 2007-01-22 20:31           ` Alon Bar-Lev
  2007-01-22 20:44             ` Andrew Morton
  1 sibling, 1 reply; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-22 20:31 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Russell King, tom, bwalle, linux-kernel

Hello Andrew,

Can I do anything more in order to be closer to merge?
Some general comments... or should I CC other people etc...
I submitted this several times but got almost no architecture to ACK.

I just don't know how we can progress with this issue... All we wanted
is to break the 256 limit in x86...

Best Regards,
Alon Bar-Lev.

On 1/22/07, Andrew Morton <akpm@osdl.org> wrote:
> > On Thu, 18 Jan 2007 15:23:26 +0000 Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> > On Thu, Jan 18, 2007 at 04:31:51PM +0100, Tomas Carnecky wrote:
> > > Russell King wrote:
> > > > On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote:
> > > >> -static char command_line[COMMAND_LINE_SIZE];
> > > >> +static char __initdata command_line[COMMAND_LINE_SIZE];
> > > >
> > > > Uninitialised data is placed in the BSS.  Adding __initdata to BSS
> > > > data causes grief.
> > > >
> > >
> > > Static variables are implicitly initialized to zero. Does that also
> > > count as initialization?
> >
> > No.  As I say, they're placed in the BSS.  The BSS is zeroed as part of
> > the C runtime initialisation.
>
> I don't understand the objection.  With the above change, command_line[]
> will end up consuming COMMAND_LINE_SIZE bytes of .data.init and will be
> reliably initialized to all-zeros by the compiler (won't it?)
>
> > If you want to place a variable in a specific section, it must be
> > explicitly initialised.  Eg,
> >
> > static char __initdata command_line[COMMAND_LINE_SIZE] = "";
> >
> > However, there is a bigger question here: that is the tradeoff between
> > making this variable part of the on-disk kernel image, but throw away
> > the memory at runtime, or to leave it in the BSS where it will not be
> > part of the on-disk kernel image, but will not be thrown away at
> > runtime.
>
> Yes, it'll take some space in vmlinux.  We could perhaps create a new
> __initbss to prevent that, I assume.
>
>

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-22 20:31           ` Alon Bar-Lev
@ 2007-01-22 20:44             ` Andrew Morton
  2007-01-22 20:58               ` Bernhard Walle
  0 siblings, 1 reply; 54+ messages in thread
From: Andrew Morton @ 2007-01-22 20:44 UTC (permalink / raw)
  To: Alon Bar-Lev; +Cc: Russell King, tom, bwalle, linux-kernel

On Mon, 22 Jan 2007 22:31:48 +0200
"Alon Bar-Lev" <alon.barlev@gmail.com> wrote:

> Hello Andrew,
> 
> Can I do anything more in order to be closer to merge?

Avoid top-posting? ;)

> Some general comments... or should I CC other people etc...
> I submitted this several times but got almost no architecture to ACK.
> 
> I just don't know how we can progress with this issue... All we wanted
> is to break the 256 limit in x86...

yes, the patches looked reasonable-looking.  But iirc they were against
2.6.19 which is prehistoric.  Please redo and resend against a development
kernel.


^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-22 20:44             ` Andrew Morton
@ 2007-01-22 20:58               ` Bernhard Walle
  2007-01-22 21:02                 ` Alon Bar-Lev
  0 siblings, 1 reply; 54+ messages in thread
From: Bernhard Walle @ 2007-01-22 20:58 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Alon Bar-Lev, Russell King, tom, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 833 bytes --]

* Andrew Morton <akpm@osdl.org> [2007-01-22 21:44]:
> 
> > Some general comments... or should I CC other people etc...
> > I submitted this several times but got almost no architecture to ACK.
> > 
> > I just don't know how we can progress with this issue... All we wanted
> > is to break the 256 limit in x86...
> 
> yes, the patches looked reasonable-looking.  But iirc they were against
> 2.6.19 which is prehistoric.  Please redo and resend against a development
> kernel.

I refreshed the patches from Alon against 2.6.20-rc4-mm1. Or was I
totally wrong?



Regards,
Bernhard
-- 
SUSE LINUX Products GmbH                E-Mail:  bwalle@suse.de
Maxfeldstr. 5                           Phone:   +49 (911) 74053-0
90409 Nürnberg, Germany
OpenPGP DDAF6454: F61F 34CC 09CA FB82 C9F6  BA4B 8865 3696 DDAF 6454

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-22 20:58               ` Bernhard Walle
@ 2007-01-22 21:02                 ` Alon Bar-Lev
  0 siblings, 0 replies; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-22 21:02 UTC (permalink / raw)
  To: Andrew Morton, Alon Bar-Lev, Russell King, tom, linux-kernel

On 1/22/07, Bernhard Walle <bwalle@suse.de> wrote:
> I refreshed the patches from Alon against 2.6.20-rc4-mm1. Or was I
> totally wrong?

I don't know what is "Avoid top-posting? ;)" I hope it is a good thing... :)
I will look at it again and submit it as requested.

Thank you,
Alon Bar-Lev.

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-18 15:23       ` Russell King
                           ` (2 preceding siblings ...)
  2007-01-22 19:56         ` Andrew Morton
@ 2007-01-22 22:14         ` Bernhard Walle
  2007-01-22 22:27           ` Russell King
  3 siblings, 1 reply; 54+ messages in thread
From: Bernhard Walle @ 2007-01-22 22:14 UTC (permalink / raw)
  To: Tomas Carnecky, linux-kernel, Alon Bar-Lev

* Russell King <rmk+lkml@arm.linux.org.uk> [2007-01-18 16:23]:
> On Thu, Jan 18, 2007 at 04:31:51PM +0100, Tomas Carnecky wrote:
> > Russell King wrote:
> > > On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote: 
> > >> -static char command_line[COMMAND_LINE_SIZE];
> > >> +static char __initdata command_line[COMMAND_LINE_SIZE];
> > > 
> > > Uninitialised data is placed in the BSS.  Adding __initdata to BSS
> > > data causes grief.
> > > 
> > 
> > Static variables are implicitly initialized to zero. Does that also
> > count as initialization?
> 
> No.  As I say, they're placed in the BSS.  The BSS is zeroed as part of
> the C runtime initialisation.
> 
> If you want to place a variable in a specific section, it must be
> explicitly initialised.  Eg,
> 
> static char __initdata command_line[COMMAND_LINE_SIZE] = "";

Why? It must be initialised if you rely on a initialised value in the
code. But I don't think that this in in case here. Can you tell me the
code where you read from command_line before writing to it?

Thanks.


Regards,
Bernhard

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-22 22:14         ` Bernhard Walle
@ 2007-01-22 22:27           ` Russell King
  2007-01-22 22:42             ` Bernhard Walle
  2007-01-23 10:37             ` Alon Bar-Lev
  0 siblings, 2 replies; 54+ messages in thread
From: Russell King @ 2007-01-22 22:27 UTC (permalink / raw)
  To: Tomas Carnecky, linux-kernel, Alon Bar-Lev

On Mon, Jan 22, 2007 at 11:14:00PM +0100, Bernhard Walle wrote:
> * Russell King <rmk+lkml@arm.linux.org.uk> [2007-01-18 16:23]:
> > On Thu, Jan 18, 2007 at 04:31:51PM +0100, Tomas Carnecky wrote:
> > > Russell King wrote:
> > > > On Thu, Jan 18, 2007 at 01:58:52PM +0100, Bernhard Walle wrote: 
> > > >> -static char command_line[COMMAND_LINE_SIZE];
> > > >> +static char __initdata command_line[COMMAND_LINE_SIZE];
> > > > 
> > > > Uninitialised data is placed in the BSS.  Adding __initdata to BSS
> > > > data causes grief.
> > > > 
> > > 
> > > Static variables are implicitly initialized to zero. Does that also
> > > count as initialization?
> > 
> > No.  As I say, they're placed in the BSS.  The BSS is zeroed as part of
> > the C runtime initialisation.
> > 
> > If you want to place a variable in a specific section, it must be
> > explicitly initialised.  Eg,
> > 
> > static char __initdata command_line[COMMAND_LINE_SIZE] = "";
> 
> Why? It must be initialised if you rely on a initialised value in the
> code.

That comment most certainly is 100% incorrect.  The following:

static char foo[16];

has a well defined value when you read from it before writing to it.
If you think otherwise, suggest you read any specification of the C
language.

> But I don't think that this in in case here. Can you tell me the
> code where you read from command_line before writing to it?

That wasn't my point.

Anyway, here's what the GCC manual has to say about use of
__attribute__((section)) on variables:

`section ("SECTION-NAME")'
     Use the `section' attribute with an _initialized_ definition of a
     _global_ variable, as shown in the example.  GCC issues a warning
     and otherwise ignores the `section' attribute in uninitialized
     variable declarations.

     You may only use the `section' attribute with a fully initialized
     global definition because of the way linkers work.  The linker
     requires each object be defined once, with the exception that
     uninitialized variables tentatively go in the `common' (or `bss')
     section and can be multiply "defined".  You can force a variable
     to be initialized with the `-fno-common' flag or the `nocommon'
     attribute.

which reflects precisely what I've been saying concerning the addition
of __initdata.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-22 22:27           ` Russell King
@ 2007-01-22 22:42             ` Bernhard Walle
  2007-01-23 10:37             ` Alon Bar-Lev
  1 sibling, 0 replies; 54+ messages in thread
From: Bernhard Walle @ 2007-01-22 22:42 UTC (permalink / raw)
  To: Tomas Carnecky, linux-kernel, Alon Bar-Lev

* Russell King <rmk+lkml@arm.linux.org.uk> [2007-01-22 23:27]:
> 
> which reflects precisely what I've been saying concerning the addition
> of __initdata.

100 % correct, thanks.


Regards,
Bernhard

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-22 22:27           ` Russell King
  2007-01-22 22:42             ` Bernhard Walle
@ 2007-01-23 10:37             ` Alon Bar-Lev
  2007-01-23 10:41               ` Russell King
  1 sibling, 1 reply; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-23 10:37 UTC (permalink / raw)
  To: Tomas Carnecky, linux-kernel, Alon Bar-Lev

On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> which reflects precisely what I've been saying concerning the addition
> of __initdata.

Great!
So what do you thing we should do?

Modify this:
char __initdata boot_command_line[COMMAND_LINE_SIZE];

Into:
char __initdata boot_command_line[COMMAND_LINE_SIZE] = {0};

Or:
static char __initdata _boot_command_line[COMMAND_LINE_SIZE];
char __initdata *boot_command_line = _boot_command_line;

Or any other option... I will glad to receive any convention you see right.

Best Regards,
Alon Bar-Lev.

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-23 10:37             ` Alon Bar-Lev
@ 2007-01-23 10:41               ` Russell King
  2007-01-23 10:50                 ` Alon Bar-Lev
  0 siblings, 1 reply; 54+ messages in thread
From: Russell King @ 2007-01-23 10:41 UTC (permalink / raw)
  To: Alon Bar-Lev; +Cc: Tomas Carnecky, linux-kernel

On Tue, Jan 23, 2007 at 12:37:06PM +0200, Alon Bar-Lev wrote:
> On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> >which reflects precisely what I've been saying concerning the addition
> >of __initdata.
> 
> Great!
> So what do you thing we should do?
> 
> Modify this:
> char __initdata boot_command_line[COMMAND_LINE_SIZE];
> 
> Into:
> char __initdata boot_command_line[COMMAND_LINE_SIZE] = {0};
> 
> Or:
> static char __initdata _boot_command_line[COMMAND_LINE_SIZE];
> char __initdata *boot_command_line = _boot_command_line;
> 
> Or any other option... I will glad to receive any convention you see right.

See Message-ID: <20070118152326.GC31418@flint.arm.linux.org.uk> sent on
18 January in this thread.  Such strings might as well be initialised to
an empty string.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-23 10:41               ` Russell King
@ 2007-01-23 10:50                 ` Alon Bar-Lev
  2007-01-23 10:53                   ` Russell King
  0 siblings, 1 reply; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-23 10:50 UTC (permalink / raw)
  To: Alon Bar-Lev, Tomas Carnecky, linux-kernel

On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> See Message-ID: <20070118152326.GC31418@flint.arm.linux.org.uk> sent on
> 18 January in this thread.  Such strings might as well be initialised to
> an empty string.

So it will be fine if I initialize it to "" and remove the static from
the your example?
BTW: Is there a difference between "" and initialize it to {0}?

Thanks for you help!
Alon Bar-Lev.

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-23 10:50                 ` Alon Bar-Lev
@ 2007-01-23 10:53                   ` Russell King
  2007-01-23 10:59                     ` Alon Bar-Lev
  2007-01-23 11:31                     ` Alon Bar-Lev
  0 siblings, 2 replies; 54+ messages in thread
From: Russell King @ 2007-01-23 10:53 UTC (permalink / raw)
  To: Alon Bar-Lev; +Cc: Tomas Carnecky, linux-kernel

On Tue, Jan 23, 2007 at 12:50:15PM +0200, Alon Bar-Lev wrote:
> On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> >See Message-ID: <20070118152326.GC31418@flint.arm.linux.org.uk> sent on
> >18 January in this thread.  Such strings might as well be initialised to
> >an empty string.
> 
> So it will be fine if I initialize it to "" and remove the static from
> the your example?

Why do you want to remove the static?

> BTW: Is there a difference between "" and initialize it to {0}?

Not in the end result.  However, "" is a string but {0} is an array.
So, "" helps to say to the reader "we're treating this as a string".
Also, "" is quicker to type than {0}.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-23 10:53                   ` Russell King
@ 2007-01-23 10:59                     ` Alon Bar-Lev
  2007-01-23 11:31                     ` Alon Bar-Lev
  1 sibling, 0 replies; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-23 10:59 UTC (permalink / raw)
  To: Alon Bar-Lev, Tomas Carnecky, linux-kernel

On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> Why do you want to remove the static?

Since current design declare a buffer in main.c which is used by arch
specific startup code, mainly setup.c.

Regards,
Alon Bar-Lev.

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-23 10:53                   ` Russell King
  2007-01-23 10:59                     ` Alon Bar-Lev
@ 2007-01-23 11:31                     ` Alon Bar-Lev
  2007-01-23 11:54                       ` Russell King
  1 sibling, 1 reply; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-23 11:31 UTC (permalink / raw)
  To: Alon Bar-Lev, Tomas Carnecky, linux-kernel

On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> > So it will be fine if I initialize it to "" and remove the static from
> > the your example?
>
> Why do you want to remove the static?

Rossell, I am confused.
There are many places in kernel where there is static __initdata
without initialization. Should all these be corrected too? Or your
comment applies only to none static global data?

Best Regards,
Alon Bar-Lev.

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-23 11:31                     ` Alon Bar-Lev
@ 2007-01-23 11:54                       ` Russell King
  2007-01-23 11:59                         ` Alon Bar-Lev
  0 siblings, 1 reply; 54+ messages in thread
From: Russell King @ 2007-01-23 11:54 UTC (permalink / raw)
  To: Alon Bar-Lev; +Cc: Tomas Carnecky, linux-kernel

On Tue, Jan 23, 2007 at 01:31:25PM +0200, Alon Bar-Lev wrote:
> On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> >> So it will be fine if I initialize it to "" and remove the static from
> >> the your example?
> >
> >Why do you want to remove the static?
> 
> Rossell, I am confused.
> There are many places in kernel where there is static __initdata
> without initialization. Should all these be corrected too? Or your
> comment applies only to none static global data?

>From what I remembered from previous mails on this list (which is what
caused me to pick up on this), and what I later quoted from the gcc
manual, all those places (where something is marked __initdata but is
not explicitly initialised) would appear to be incorrect.

So they should probably be fixed up.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-23 11:54                       ` Russell King
@ 2007-01-23 11:59                         ` Alon Bar-Lev
  2007-01-23 12:43                           ` Russell King
  0 siblings, 1 reply; 54+ messages in thread
From: Alon Bar-Lev @ 2007-01-23 11:59 UTC (permalink / raw)
  To: Alon Bar-Lev, Tomas Carnecky, linux-kernel, Andrew Morton

On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> > Rossell, I am confused.
> > There are many places in kernel where there is static __initdata
> > without initialization. Should all these be corrected too? Or your
> > comment applies only to none static global data?
>
> From what I remembered from previous mails on this list (which is what
> caused me to pick up on this), and what I later quoted from the gcc
> manual, all those places (where something is marked __initdata but is
> not explicitly initialised) would appear to be incorrect.
>
> So they should probably be fixed up.

Well... A lot of places in the kernel needs to be fixed, regardless
this patch... I can probably creat a patch for this as well... But
since I don't an expert in this one... We need to be sure this should
be fixed.

Best Regards,
Alon Bar-Lev.

^ permalink raw reply	[flat|nested] 54+ messages in thread

* Re: [patch 03/26] Dynamic kernel command-line - arm
  2007-01-23 11:59                         ` Alon Bar-Lev
@ 2007-01-23 12:43                           ` Russell King
  0 siblings, 0 replies; 54+ messages in thread
From: Russell King @ 2007-01-23 12:43 UTC (permalink / raw)
  To: Alon Bar-Lev; +Cc: Tomas Carnecky, linux-kernel, Andrew Morton

On Tue, Jan 23, 2007 at 01:59:14PM +0200, Alon Bar-Lev wrote:
> On 1/23/07, Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> >> Rossell, I am confused.
> >> There are many places in kernel where there is static __initdata
> >> without initialization. Should all these be corrected too? Or your
> >> comment applies only to none static global data?
> >
> >From what I remembered from previous mails on this list (which is what
> >caused me to pick up on this), and what I later quoted from the gcc
> >manual, all those places (where something is marked __initdata but is
> >not explicitly initialised) would appear to be incorrect.
> >
> >So they should probably be fixed up.
> 
> Well... A lot of places in the kernel needs to be fixed, regardless
> this patch... I can probably creat a patch for this as well... But
> since I don't an expert in this one... We need to be sure this should
> be fixed.

Don't particularly care; the amount of time spent discussing this issue
is becoming rather rediculous, so I'd rather we reached some conclusion
very soon; to this end this is going to be my last response on this
subject.

I suggest that we leave what's already there, but any new instances we
create are correct to the gcc manual.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [PATCH 06/26] Dynamic kernel command-line - cris
  2006-12-02 10:47 [PATCH 00/26] Dynamic kernel command-line Alon Bar-Lev
@ 2006-12-02 10:50 ` Alon Bar-Lev
  0 siblings, 0 replies; 54+ messages in thread
From: Alon Bar-Lev @ 2006-12-02 10:50 UTC (permalink / raw)
  To: linux-arch, linux-kernel


1. Rename saved_command_line into boot_command_line.
2. Set cris_command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---

diff -urNp linux-2.6.19.org/arch/cris/kernel/setup.c linux-2.6.19/arch/cris/kernel/setup.c
--- linux-2.6.19.org/arch/cris/kernel/setup.c	2006-11-29 23:57:37.000000000 +0200
+++ linux-2.6.19/arch/cris/kernel/setup.c	2006-12-02 11:31:32.000000000 +0200
@@ -29,7 +29,7 @@ struct screen_info screen_info;
 extern int root_mountflags;
 extern char _etext, _edata, _end;
 
-char cris_command_line[COMMAND_LINE_SIZE] = { 0, };
+char __initdata cris_command_line[COMMAND_LINE_SIZE] = { 0, };
 
 extern const unsigned long text_start, edata; /* set by the linker script */
 extern unsigned long dram_start, dram_end;
@@ -153,8 +153,8 @@ setup_arch(char **cmdline_p)
 #endif
 
 	/* Save command line for future references. */
-	memcpy(saved_command_line, cris_command_line, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE - 1] = '\0';
+	memcpy(boot_command_line, cris_command_line, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE - 1] = '\0';
 
 	/* give credit for the CRIS port */
 	show_etrax_copyright();

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [PATCH 06/26] Dynamic kernel command-line - cris
  2006-09-03 22:15 [PATCH 00/26] Dynamic kernel command-line - Resend please ignore last Alon Bar-Lev
@ 2006-09-03 22:18 ` Alon Bar-Lev
  0 siblings, 0 replies; 54+ messages in thread
From: Alon Bar-Lev @ 2006-09-03 22:18 UTC (permalink / raw)
  To: Andi Kleen
  Cc: Matt Domsch, Andrew Morton, linux-kernel, johninsd, davej, Riley,
	trini, davem, ecd, jj, anton, wli, lethal, rc, spyro, rth, avr32,
	hskinnemoen, starvik, ralf, matthew, grundler, geert, zippel,
	paulus, schwidefsky, heiko.carstens, uclinux-v850, chris


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---

diff -urNp linux-2.6.18-rc5-mm1.org/arch/cris/kernel/setup.c linux-2.6.18-rc5-mm1/arch/cris/kernel/setup.c
--- linux-2.6.18-rc5-mm1.org/arch/cris/kernel/setup.c	2006-09-03 18:56:48.000000000 +0300
+++ linux-2.6.18-rc5-mm1/arch/cris/kernel/setup.c	2006-09-03 20:58:59.000000000 +0300
@@ -29,7 +29,7 @@ struct screen_info screen_info;
 extern int root_mountflags;
 extern char _etext, _edata, _end;
 
-char cris_command_line[COMMAND_LINE_SIZE] = { 0, };
+char __initdata cris_command_line[COMMAND_LINE_SIZE] = { 0, };
 
 extern const unsigned long text_start, edata; /* set by the linker script */
 extern unsigned long dram_start, dram_end;
@@ -153,8 +153,8 @@ setup_arch(char **cmdline_p)
 #endif
 
 	/* Save command line for future references. */
-	memcpy(saved_command_line, cris_command_line, COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE - 1] = '\0';
+	memcpy(boot_command_line, cris_command_line, COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE - 1] = '\0';
 
 	/* give credit for the CRIS port */
 	show_etrax_copyright();

-- 
VGER BF report: H 0

^ permalink raw reply	[flat|nested] 54+ messages in thread

* [PATCH 06/26] Dynamic kernel command-line - cris
  2006-09-03 21:50 [PATCH 00/26] Dynamic kernel command-line Alon Bar-Lev
@ 2006-09-03 21:55 ` Alon Bar-Lev
  0 siblings, 0 replies; 54+ messages in thread
From: Alon Bar-Lev @ 2006-09-03 21:55 UTC (permalink / raw)
  To: Andi Kleen
  Cc: Matt Domsch, Andrew Morton, linux-kernel, johninsd, davej, Riley,
	trini, davem, ecd, jj, anton, wli, lethal, rc, spyro, rth, avr32,
	hskinnemoen, starvik, ralf, matthew, grundler, geert, zippel,
	paulus, schwidefsky, heiko.carstens, uclinux-v850, chris


1. Rename saved_command_line into boot_command_line.
2. Set command_line as __initdata.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>

---

diff -urNp linux-2.6.18-rc5-mm1.org/arch/cris/kernel/setup.c 
linux-2.6.18-rc5-mm1/arch/cris/kernel/setup.c
--- linux-2.6.18-rc5-mm1.org/arch/cris/kernel/setup.c	
2006-09-03 18:56:48.000000000 +0300
+++ linux-2.6.18-rc5-mm1/arch/cris/kernel/setup.c	2006-09-03 
20:58:59.000000000 +0300
@@ -29,7 +29,7 @@ struct screen_info screen_info;
 extern int root_mountflags;
 extern char _etext, _edata, _end;
 
-char cris_command_line[COMMAND_LINE_SIZE] = { 0, };
+char __initdata cris_command_line[COMMAND_LINE_SIZE] = { 
0, };
 
 extern const unsigned long text_start, edata; /* set by the 
linker script */
 extern unsigned long dram_start, dram_end;
@@ -153,8 +153,8 @@ setup_arch(char **cmdline_p)
 #endif
 
 	/* Save command line for future references. */
-	memcpy(saved_command_line, cris_command_line, 
COMMAND_LINE_SIZE);
-	saved_command_line[COMMAND_LINE_SIZE - 1] = '\0';
+	memcpy(boot_command_line, cris_command_line, 
COMMAND_LINE_SIZE);
+	boot_command_line[COMMAND_LINE_SIZE - 1] = '\0';
 
 	/* give credit for the CRIS port */
 	show_etrax_copyright();

-- 
VGER BF report: U 0.491704

^ permalink raw reply	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2007-01-23 12:43 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-18 12:58 [patch 00/26] Dynamic kernel command-line Bernhard Walle
2007-01-18 12:58 ` [patch 01/26] Dynamic kernel command-line - common Bernhard Walle
2007-01-18 12:58 ` [patch 02/26] Dynamic kernel command-line - alpha Bernhard Walle
2007-01-18 12:58 ` [patch 03/26] Dynamic kernel command-line - arm Bernhard Walle
2007-01-18 14:14   ` Russell King
2007-01-18 14:48     ` Alon Bar-Lev
2007-01-18 15:31     ` Tomas Carnecky
2007-01-18 15:23       ` Russell King
2007-01-18 15:31         ` Alon Bar-Lev
2007-01-19 12:38         ` Bernhard Walle
2007-01-22 19:56         ` Andrew Morton
2007-01-22 20:00           ` Russell King
2007-01-22 20:31           ` Alon Bar-Lev
2007-01-22 20:44             ` Andrew Morton
2007-01-22 20:58               ` Bernhard Walle
2007-01-22 21:02                 ` Alon Bar-Lev
2007-01-22 22:14         ` Bernhard Walle
2007-01-22 22:27           ` Russell King
2007-01-22 22:42             ` Bernhard Walle
2007-01-23 10:37             ` Alon Bar-Lev
2007-01-23 10:41               ` Russell King
2007-01-23 10:50                 ` Alon Bar-Lev
2007-01-23 10:53                   ` Russell King
2007-01-23 10:59                     ` Alon Bar-Lev
2007-01-23 11:31                     ` Alon Bar-Lev
2007-01-23 11:54                       ` Russell King
2007-01-23 11:59                         ` Alon Bar-Lev
2007-01-23 12:43                           ` Russell King
2007-01-18 12:58 ` [patch 04/26] Dynamic kernel command-line - arm26 Bernhard Walle
2007-01-18 12:58 ` [patch 05/26] Dynamic kernel command-line - avr32 Bernhard Walle
2007-01-18 12:58 ` [patch 06/26] Dynamic kernel command-line - cris Bernhard Walle
2007-01-18 12:58 ` [patch 07/26] Dynamic kernel command-line - frv Bernhard Walle
2007-01-18 12:58 ` [patch 08/26] Dynamic kernel command-line - h8300 Bernhard Walle
2007-01-18 12:58 ` [patch 09/26] Dynamic kernel command-line - i386 Bernhard Walle
2007-01-18 12:58 ` [patch 10/26] Dynamic kernel command-line - ia64 Bernhard Walle
2007-01-18 12:59 ` [patch 11/26] Dynamic kernel command-line - m32r Bernhard Walle
2007-01-18 12:59 ` [patch 12/26] Dynamic kernel command-line - m68k Bernhard Walle
2007-01-18 12:59 ` [patch 13/26] Dynamic kernel command-line - m68knommu Bernhard Walle
2007-01-18 12:59 ` [patch 14/26] Dynamic kernel command-line - mips Bernhard Walle
2007-01-18 12:59 ` [patch 15/26] Dynamic kernel command-line - parisc Bernhard Walle
2007-01-18 12:59 ` [patch 16/26] Dynamic kernel command-line - powerpc Bernhard Walle
2007-01-18 12:59 ` [patch 17/26] Dynamic kernel command-line - ppc Bernhard Walle
2007-01-18 12:59 ` [patch 18/26] Dynamic kernel command-line - s390 Bernhard Walle
2007-01-18 12:59 ` [patch 19/26] Dynamic kernel command-line - sh Bernhard Walle
2007-01-18 12:59 ` [patch 20/26] Dynamic kernel command-line - sh64 Bernhard Walle
2007-01-18 12:59 ` [patch 21/26] Dynamic kernel command-line - sparc Bernhard Walle
2007-01-18 12:59 ` [patch 22/26] Dynamic kernel command-line - sparc64 Bernhard Walle
2007-01-18 12:59 ` [patch 23/26] Dynamic kernel command-line - um Bernhard Walle
2007-01-18 12:59 ` [patch 24/26] Dynamic kernel command-line - v850 Bernhard Walle
2007-01-18 12:59 ` [patch 25/26] Dynamic kernel command-line - x86_64 Bernhard Walle
2007-01-18 12:59 ` [patch 26/26] Dynamic kernel command-line - xtensa Bernhard Walle
  -- strict thread matches above, loose matches on Subject: below --
2006-12-02 10:47 [PATCH 00/26] Dynamic kernel command-line Alon Bar-Lev
2006-12-02 10:50 ` [PATCH 06/26] Dynamic kernel command-line - cris Alon Bar-Lev
2006-09-03 22:15 [PATCH 00/26] Dynamic kernel command-line - Resend please ignore last Alon Bar-Lev
2006-09-03 22:18 ` [PATCH 06/26] Dynamic kernel command-line - cris Alon Bar-Lev
2006-09-03 21:50 [PATCH 00/26] Dynamic kernel command-line Alon Bar-Lev
2006-09-03 21:55 ` [PATCH 06/26] Dynamic kernel command-line - cris Alon Bar-Lev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).