Re: [patch 03/26] Dynamic kernel command-line - arm

Alon Bar-Lev
2007-01-18T14:48:14Z

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.