[U-Boot] [RFC][PATCH] Replace clunky init sequence architecture

Wolfgang Denk wd at denx.de
Mon Aug 22 22:10:24 CEST 2011


Dear Graeme Russ,

In message <1313670862-31216-1-git-send-email-graeme.russ at gmail.com> you wrote:
> NOTE: This is an x86 only patch - I didn't include x86 in the patch heading
> because it is a proof of concept for a global patch - Sorry for the blatant
> etiquette violation ;)

Don't worry. For an RFC tyhis is OK.

> Replace the init_fnc_t *init_sequence[] style init sequence with one based
> on the Linux __initcall macros.
> 
> Functions are declared as initialisation functions by using the new
> INIT_FUNC() macro. The three parameters to INIT_FUNC() are:
>  - Type - f = pre-relocation (flash), r = post-relocation (RAM)
>  - Sequence - Lower numbers are run first
>  - Function - The function to call during the init sequence

For general remarks please see my previous comment to your older
posting about this topic here:
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/105824


>  For a board to add an arbitrary initialisation function is trivial -
>  simply add a INIT_FUNC() entry with an appropriate sequence number

This is actually hte biffest voncern I have: I cannot imagine how you
will try to figure out the exact init sequence when writing the code
(or, even worse, when reading somebody else's code).

>  I imagine the sequence numbers could be #defined, but I don't exactly
>  now what the linker will do - I use leading zeros in the sequence numbers
>  to ensure correct ordering.

This is another concern: what exactly will the linker do, and
different versions of linkers with differen options and/or levels of
optimization?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Real computer scientists don't comment their  code.  The  identifiers
are so long they can't afford the disk space.


More information about the U-Boot mailing list