Browse Source

Revert "env: only build env_embedded and envcrc when needed"

Breaks building on many boards, and no really clean fix available yet.

This reverts commit 6dab6add2d8ee80905234b326abc3de11be1d178.
Wolfgang Denk 15 năm trước cách đây
mục cha
commit
a747a7f310
6 tập tin đã thay đổi với 27 bổ sung13 xóa
  1. 0 5
      README
  2. 3 0
      common/Makefile
  3. 7 0
      common/env_embedded.c
  4. 0 5
      include/common.h
  5. 7 2
      tools/Makefile
  6. 10 1
      tools/envcrc.c

+ 0 - 5
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.

+ 3 - 0
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

+ 7 - 0
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 */

+ 0 - 5
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_ */

+ 7 - 2
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

+ 10 - 1
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;
 }