Re: core_param: call these really, really early.

From: Rusty Russell
Date: Thu Nov 27 2008 - 03:02:45 EST


On Wednesday 26 November 2008 18:38:46 Heiko Carstens wrote:
> On Thu, Nov 20, 2008 at 01:23:41AM +1030, Rusty Russell wrote:
> > As soon as we have command line, so even before early_param. They
> > just set vars, so it makes sense to do them as early as possible.
> >
> > This allows them to replace early_param, and fixes a bug in the new
> > cpu_alloc implementation patches which was a complete PITA to find.
> >
> > Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
>
> [...]
>
> > diff -r 65aebfe44ef1 init/main.c
> > --- a/init/main.c Wed Nov 19 22:47:52 2008 +1030
> > +++ b/init/main.c Wed Nov 19 23:58:08 2008 +1030
> > @@ -569,6 +588,10 @@
> > setup_arch(&command_line);
> > mm_init_owner(&init_mm, &init_task);
> > setup_command_line(command_line);
> > + parse_args("Core params", command_line, __start___core_param,
> > + __stop___core_param - __start___core_param,
> > + unknown_core_ok);
> > +
> > unwind_setup();
> > setup_per_cpu_areas();
> > setup_nr_cpu_ids();
>
> ...but setup_arch() calls parse_early_param(). So how is this earlier
> than early_param?

True, I'd forgotten that most setup_arch()s call parse_early_param (there's a
general call lower down in start_kernel).

I actually think start_kernel should take a char *params as a parameter, but
that's a big multi-arch change I wasn't prepared to hack up just yet.

OK, now have three patches which clean up cmdline handling. They're big :(
Will test a little and post...

Cheers,
Rusty.







--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/