Make getenv() work before relocation.
So far, getenv() would work before relocation is most cases, even
though it was not intended to be used that way. When switching to a
hash table based implementation, this would break a number of boards.
For convenience, we make getenv() check if it's running before
relocation and, if so, use getenv_f() internally.
Note that this is limited to simple cases, as we use a small static
buffer (32 bytes) in the global data for this purpose.
For this reason, it is also not a good idea to convert all current
uses of getenv_f() into getenv() - some of the existing use cases need
to be able to deal with longer variable values, so getenv_f() is still
needed and recommended for use before relocation.
Signed-off-by:
Wolfgang Denk <wd@denx.de>
Showing
- arch/arm/include/asm/global_data.h 3 additions, 8 deletionsarch/arm/include/asm/global_data.h
- arch/avr32/include/asm/global_data.h 2 additions, 1 deletionarch/avr32/include/asm/global_data.h
- arch/blackfin/include/asm/global_data.h 4 additions, 3 deletionsarch/blackfin/include/asm/global_data.h
- arch/i386/include/asm/global_data.h 3 additions, 2 deletionsarch/i386/include/asm/global_data.h
- arch/m68k/include/asm/global_data.h 3 additions, 2 deletionsarch/m68k/include/asm/global_data.h
- arch/microblaze/include/asm/global_data.h 2 additions, 1 deletionarch/microblaze/include/asm/global_data.h
- arch/mips/include/asm/global_data.h 3 additions, 2 deletionsarch/mips/include/asm/global_data.h
- arch/nios2/include/asm/global_data.h 2 additions, 1 deletionarch/nios2/include/asm/global_data.h
- arch/powerpc/include/asm/global_data.h 3 additions, 2 deletionsarch/powerpc/include/asm/global_data.h
- arch/sh/include/asm/global_data.h 4 additions, 3 deletionsarch/sh/include/asm/global_data.h
- arch/sparc/include/asm/global_data.h 4 additions, 3 deletionsarch/sparc/include/asm/global_data.h
- common/cmd_nvedit.c 18 additions, 11 deletionscommon/cmd_nvedit.c
Loading
Please register or sign in to comment