From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Fuchs Date: Tue, 03 Jul 2012 16:51:40 +0200 Subject: [U-Boot] environment access before relocation does not work on (some) arm In-Reply-To: <20120629112655.631D02000C7@gemini.denx.de> References: <4FED7877.2020505@esd.eu> <20120629112655.631D02000C7@gemini.denx.de> Message-ID: <4FF306FC.9040305@esd.eu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, On 29.06.2012 13:26, Wolfgang Denk wrote: > Dear Matthias Fuchs, > > In message <4FED7877.2020505@esd.eu> you wrote: >> >> I just noticed that using getenv (and friends) >> does not work on ARM (namely i.MX28) from board_init_f() >> after running through the init_sequence. > > This is normal, and documented. Before relocation, you must not use > getenv(). Yes, I am aware of this. I even think that the getenv() implementation falls back to getenv_f() before relocation. > >> Env access does not work before env_relocate() in board_init_r(). > > It does, but you have to play by the rules, i. e. use getenv_f() > instead. Yes, I did not care about where my env comes from :-) So env_sf.c does not support an early env at all. Running on an i.MX28 with env in a SPI flash I probably need SPI support in my SPL and an improved env_sf.c. ... and all this to get CONFIG_PRAM working in arch/arm/lib/board.c. So I will stuck at using a constant pram value for the moment. This works. > >> Didn't this behave different sometimes before? Even after the big >> env rework? > > No. The use of getenv() before relocation has never been supported. > It may have worked (by pure chance) on some systems, but that's all. Of course. My question was not very precise. Matthias > > Best regards, > > Wolfgang Denk >