[U-Boot-Users] Re: PATCH: bi_iic_fast[] initialization
Wolfgang Denk
wd at denx.de
Wed Apr 7 17:13:41 CEST 2004
In message <30399.216.110.51.8.1081349928.squirrel at www.orkun.us> you wrote:
>
> > I think you should rework this patch. At the moment, you call
> > getenv() in board_init_f() - but board_init_f() is still running from
> > flash, which means that we don't have a full C runtime environment
> > (uninitialized BSS, no writable data, limited stack space) so the use
> > of getenv() is not allowd in that function. You may use getenv_r()
> > instead.
>
> I can convert it to use getenv_r() or I think it would be better to move
> that section dealing with initialization of bi_iic_fast[] flags to
> board_init_r(). bi_iic_fast[] is not used by u-boot itself. It is passed
> to Linux.
Then move it to board_init_r(), please.
> Personally, the most appropriate place to initialize such things would be
> right before u-boot boots the OS. The immediate changes to the environment
> would also be captured without forcing an environment save and reset as
> well.
Be careful, though. Not everybody uses the same path to boot a kernel.
> 1) Fix in board_init_f() using getenv_r()
> 2) Fix by moving to board_init_r()
Go for 2.
> 3) Create a new function (say board_init_preboot) and move that section
> into it. Hook board_init_preboot() to the existing boot functions (boot,
> bootm etc. somehow)
No, please not yet another xxx_init_pre_before_early_reallybefore_preinit
function.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
He had quite a powerful intellect, but it was as powerful like a
locomotive, and ran on rails and was therefore almost impossible to
steer. - Terry Pratchett, _Lords and Ladies_
More information about the U-Boot
mailing list