[U-Boot] ENV_IS_EMBEDDED vs CONFIG_ENV_IS_EMBEDDED

Mike Frysinger vapier at gentoo.org
Fri Jul 24 22:34:32 CEST 2009


On Saturday 11 July 2009 03:47:28 Wolfgang Denk wrote:
> Mike Frysinger wrote:
> > > Yes. It's IMHO silly to have to configure something manually (and
> > > keep it in sync with potential changes of some other defines) when it
> > > is as well possible to have that same value computed automatically at
> > > build time.
> >
> > so i should convert ENV_IS_EMBEDDED to CONFIG_ENV_IS_EMBEDDED or i should
> > add to common code logic to force CONFIG_ENV_IS_EMBEDDED when
> > ENV_IS_EMBEDDED is defined by the board ?
>
> If   it's   possible,    generating    CONFIG_ENV_IS_EMBEDDED    when
> ENV_IS_EMBEDDED  is  defined  would  be  much  better  -  however, my
> understanding is that CONFIG_ENV_IS_EMBEDDED is needed  by  the  make
> proces,,i.   e.   before   actually   running   any  commands,  while
> ENV_IS_EMBEDDED gets computed by the C preprocessor, i. e.  too  late
> for  make  decisions  (unless you copy the part of code that computes
> ENV_IS_EMBEDDED into some special script / file and  run  it  through
> the  C preprocessor - which is not exactly a leaner design either, it
> seems).

well, automating for NOR flash and preventing future bleed is easy to do.  but 
there doesnt seem to be a way for automating for nand and onenand types, so 
board people would still need to opt-in manually for their boards.  how does 
the attached patch look ?  i cant test any of these non-Blackfin boards, but 
the logic should be straight forward ...

i guess part of the problem is that the meaning of ENV_IS_EMBEDDED has changed 
over time.  going by environment.h, it would seem that the original point was 
that the environment is embedded in the runtime address map (between 
monitor_base and monitor_base+monitor_len), but it has since changed to mean 
it is embedded in the u-boot blob as stored in flash.  but for eeprom, nand, 
nvram, and onenand, it means the environment is in a sector that is in the 
middle of the u-boot image stored in flash.

i dont know how you want to document this define, but if you want to revert to 
the original meaning (embedded at runtime), then i dont think it'll be hard 
for the other types to convert.  after all, this should just be a linker 
script issue (punch a hole in the map for the environment).
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-unify-CONFIG_-ENV_IS_EMBEDDED.patch
Type: text/x-patch
Size: 9014 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20090724/ab15eb94/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20090724/ab15eb94/attachment.pgp 


More information about the U-Boot mailing list