From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Denk Date: Wed, 07 Apr 2004 17:13:41 +0200 Subject: [U-Boot-Users] Re: PATCH: bi_iic_fast[] initialization In-Reply-To: Your message of "Wed, 07 Apr 2004 09:58:48 CDT." <30399.216.110.51.8.1081349928.squirrel@www.orkun.us> Message-ID: <20040407151346.519B1C133F@atlas.denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de In message <30399.216.110.51.8.1081349928.squirrel@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_