
On Saturday, January 29, 2011 07:58:37 Michael Schwingen wrote:
I am wondering how CONFIG_ENV_IS_EMBEDDED is supposed to work.
the embedded env stuff is kind of a mess. anyone will to waste/spend time on cleaning it up would be nice.
As far as I understand the code, it is set automatically by environment.h in case the environment is in a sector in NOR flash that overlaps with the u-boot code.
historically, i think that's what the code attempted to do.
However, I see two problems:
- CONFIG_ENV_IS_EMBEDDED does not end up in autoconf.mk - however, it
is used in common/Makefile. This does not cause problems as long as CONFIG_ENV_IS_IN_FLASH is also set, but the switch in the Makefile is either useless or broken.
well, the former cant really show up if the latter isnt defined
- include/common.h also contains #ifdef CONFIG_ENV_IS_EMBEDDED without
including environment.h, so that the definitions inside that block are never reached.
common.h has historically been a dumping ground for crap. relocating that malloc-specific code to a better header would probably be a good idea. -mike