diff options
-rw-r--r-- | README | 5 | ||||
-rw-r--r-- | common/Makefile | 3 | ||||
-rw-r--r-- | common/env_embedded.c | 7 | ||||
-rw-r--r-- | include/common.h | 5 | ||||
-rw-r--r-- | tools/Makefile | 9 | ||||
-rw-r--r-- | tools/envcrc.c | 11 |
6 files changed, 27 insertions, 13 deletions
@@ -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 a92a75f..3781738 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 e27e1cd..ae6cac4 100644 --- a/common/env_embedded.c +++ b/common/env_embedded.c @@ -41,6 +41,11 @@ #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 * a seperate section. Note that ENV_CRC is only defined when building @@ -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 7df9afa..f7c93bf 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 <environment.h> -#endif - #endif /* __COMMON_H_ */ diff --git a/tools/Makefile b/tools/Makefile index 2a9a9fd1..b04e3f3 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 d1e84b3..c8c50d7 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; } |