diff --git a/README b/README index 744f6bf590e..dee0e674a18 100644 --- a/README +++ b/README @@ -2305,11 +2305,6 @@ The following definitions that deal with the placement and management of environment data (variable area); in general, we support the following configurations: -- CONFIG_BUILD_ENVCRC: - - Builds up envcrc with the target environment so that external utils - may easily extract it and embed it in final U-Boot images. - - CONFIG_ENV_IS_IN_FLASH: Define this if the environment is in flash memory. diff --git a/common/Makefile b/common/Makefile index a92a75fe9c4..3781738e19a 100644 --- a/common/Makefile +++ b/common/Makefile @@ -52,6 +52,9 @@ COBJS-y += env_common.o COBJS-$(CONFIG_ENV_IS_IN_DATAFLASH) += env_dataflash.o COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_eeprom.o COBJS-$(CONFIG_ENV_IS_EMBEDDED) += env_embedded.o +COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_embedded.o +COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o +COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_embedded.o COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o COBJS-$(CONFIG_ENV_IS_IN_MG_DISK) += env_mgdisk.o COBJS-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o diff --git a/common/env_embedded.c b/common/env_embedded.c index e27e1cd276c..ae6cac4390d 100644 --- a/common/env_embedded.c +++ b/common/env_embedded.c @@ -40,6 +40,11 @@ # define SYM_CHAR #endif +/* + * Generate embedded environment table + * inside U-Boot image, if needed. + */ +#if defined(ENV_IS_EMBEDDED) /* * Only put the environment in it's own section when we are building * U-Boot proper. The host based program "tools/envcrc" does not need @@ -205,3 +210,5 @@ unsigned long env_size __PPCTEXT__ = sizeof(env_t); * Add in absolutes. */ GEN_ABS(env_offset, CONFIG_ENV_OFFSET); + +#endif /* ENV_IS_EMBEDDED */ diff --git a/include/common.h b/include/common.h index 7df9afab2b5..f7c93bf5a6d 100644 --- a/include/common.h +++ b/include/common.h @@ -719,9 +719,4 @@ int cpu_release(int nr, int argc, char *argv[]); #define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1) #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) -/* Pull in stuff for the build system */ -#ifdef DO_DEPS_ONLY -# include -#endif - #endif /* __COMMON_H_ */ diff --git a/tools/Makefile b/tools/Makefile index 2a9a9fd12d5..b04e3f30441 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -69,7 +69,13 @@ include $(TOPDIR)/config.mk BIN_FILES-$(CONFIG_LCD_LOGO) += bmp_logo$(SFX) BIN_FILES-$(CONFIG_VIDEO_LOGO) += bmp_logo$(SFX) BIN_FILES-$(CONFIG_ENV_IS_EMBEDDED) += envcrc$(SFX) -BIN_FILES-$(CONFIG_BUILD_ENVCRC) += envcrc$(SFX) +BIN_FILES-$(CONFIG_ENV_IS_IN_DATAFLASH) += envcrc$(SFX) +BIN_FILES-$(CONFIG_ENV_IS_IN_EEPROM) += envcrc$(SFX) +BIN_FILES-$(CONFIG_ENV_IS_IN_FLASH) += envcrc$(SFX) +BIN_FILES-$(CONFIG_ENV_IS_IN_ONENAND) += envcrc$(SFX) +BIN_FILES-$(CONFIG_ENV_IS_IN_NAND) += envcrc$(SFX) +BIN_FILES-$(CONFIG_ENV_IS_IN_NVRAM) += envcrc$(SFX) +BIN_FILES-$(CONFIG_ENV_IS_IN_SPI_FLASH) += envcrc$(SFX) BIN_FILES-$(CONFIG_CMD_NET) += gen_eth_addr$(SFX) BIN_FILES-$(CONFIG_CMD_LOADS) += img2srec$(SFX) BIN_FILES-$(CONFIG_INCA_IP) += inca-swap-bytes$(SFX) @@ -89,7 +95,6 @@ OBJ_FILES-$(CONFIG_LCD_LOGO) += bmp_logo.o OBJ_FILES-$(CONFIG_VIDEO_LOGO) += bmp_logo.o OBJ_FILES-y += default_image.o OBJ_FILES-$(CONFIG_ENV_IS_EMBEDDED) += envcrc.o -OBJ_FILES-$(CONFIG_BUILD_ENVCRC) += envcrc.o OBJ_FILES-y += fit_image.o OBJ_FILES-$(CONFIG_CMD_NET) += gen_eth_addr.o OBJ_FILES-$(CONFIG_CMD_LOADS) += img2srec.o diff --git a/tools/envcrc.c b/tools/envcrc.c index d1e84b3b637..c8c50d71962 100644 --- a/tools/envcrc.c +++ b/tools/envcrc.c @@ -51,6 +51,10 @@ # if defined(CONFIG_ENV_ADDR_REDUND) && !defined(CONFIG_ENV_SIZE_REDUND) # define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE # endif +# if (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE) && \ + ((CONFIG_ENV_ADDR + CONFIG_ENV_SIZE) <= (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)) +# define ENV_IS_EMBEDDED 1 +# endif # if defined(CONFIG_ENV_ADDR_REDUND) || defined(CONFIG_ENV_OFFSET_REDUND) # define CONFIG_SYS_REDUNDAND_ENVIRONMENT 1 # endif @@ -67,11 +71,14 @@ extern uint32_t crc32 (uint32_t, const unsigned char *, unsigned int); +#ifdef ENV_IS_EMBEDDED extern unsigned int env_size; extern unsigned char environment; +#endif /* ENV_IS_EMBEDDED */ int main (int argc, char **argv) { +#ifdef ENV_IS_EMBEDDED unsigned char pad = 0x00; uint32_t crc; unsigned char *envptr = &environment, @@ -126,6 +133,8 @@ int main (int argc, char **argv) } else { printf ("0x%08X\n", crc); } - +#else + printf ("0\n"); +#endif return EXIT_SUCCESS; }