summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-12-02 16:42:17 -0500
committerTom Rini <trini@konsulko.com>2022-12-22 10:31:47 -0500
commit6bd2372094ab4827547ec0d3e5a258b72810cafd (patch)
tree876ffd8e8541f085ed5945b3afa40b4c911bf466
parent2440b5bb523b004af43a1090e1a4134231702416 (diff)
downloadu-boot-6bd2372094ab4827547ec0d3e5a258b72810cafd.tar.gz
env: Rework ENV_IS_EMBEDDED and related logic slightly
- Drop CONFIG_BUILD_ENVCRC as this is never set directly but instead means ENV_IS_EMBEDDED, so reference that in code and rename the Makefile usage to BUILD_ENVCRC. - Remove extra-$(CONFIG_ENV_IS_EMBEDDED) line as it could never be true, and likely why there is an extra- line for CONFIG_ENV_IS_IN_FLASH (the only use case today of embedded environments). - With these slight changes we can then see that using the calculated symbol of ENV_IS_EMBEDDED is the right thing to use in any code which needs to know this situation and can remove CONFIG_ENV_IS_EMBEDDED entirely. Signed-off-by: Tom Rini <trini@konsulko.com>
-rw-r--r--README5
-rw-r--r--env/Makefile1
-rw-r--r--env/embedded.c2
-rw-r--r--include/env_internal.h23
-rw-r--r--tools/Makefile5
-rw-r--r--tools/envcrc.c10
6 files changed, 7 insertions, 39 deletions
diff --git a/README b/README
index 103562bbbe..3fef1d2afa 100644
--- a/README
+++ b/README
@@ -1542,11 +1542,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.
-
BE CAREFUL! The first access to the environment happens quite early
in U-Boot initialization (when we try to get the setting of for the
console baudrate). You *MUST* have mapped your NVRAM area then, or
diff --git a/env/Makefile b/env/Makefile
index c4ad654328..bb6e24b396 100644
--- a/env/Makefile
+++ b/env/Makefile
@@ -11,7 +11,6 @@ obj-$(CONFIG_$(SPL_TPL_)ENV_SUPPORT) += flags.o
ifndef CONFIG_SPL_BUILD
obj-y += callback.o
obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
-extra-$(CONFIG_ENV_IS_EMBEDDED) += embedded.o
obj-$(CONFIG_ENV_IS_IN_EEPROM) += embedded.o
extra-$(CONFIG_ENV_IS_IN_FLASH) += embedded.o
obj-$(CONFIG_ENV_IS_IN_NVRAM) += embedded.o
diff --git a/env/embedded.c b/env/embedded.c
index 27fb45bf8c..7cbe54c56e 100644
--- a/env/embedded.c
+++ b/env/embedded.c
@@ -27,7 +27,7 @@
* Generate embedded environment table
* inside U-Boot image, if needed.
*/
-#if defined(ENV_IS_EMBEDDED) || defined(CONFIG_BUILD_ENVCRC)
+#if defined(ENV_IS_EMBEDDED)
/*
* Put the environment in the .text section when we are building
* U-Boot proper. The host based program "tools/envcrc" does not need
diff --git a/include/env_internal.h b/include/env_internal.h
index f30fd6159d..aee6b3e48f 100644
--- a/include/env_internal.h
+++ b/include/env_internal.h
@@ -41,10 +41,6 @@
(CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
# define ENV_IS_EMBEDDED
# endif
-# ifdef CONFIG_ENV_IS_EMBEDDED
-# error "do not define CONFIG_ENV_IS_EMBEDDED in your board config"
-# error "it is calculated automatically for you"
-# endif
#endif /* CONFIG_ENV_IS_IN_FLASH */
#if defined(CONFIG_ENV_IS_IN_NAND)
@@ -57,23 +53,6 @@ extern unsigned long nand_env_oob_offset;
# endif /* CONFIG_ENV_OFFSET_OOB */
#endif /* CONFIG_ENV_IS_IN_NAND */
-/*
- * For the flash types where embedded env is supported, but it cannot be
- * calculated automatically (i.e. NAND), take the board opt-in.
- */
-#if defined(CONFIG_ENV_IS_EMBEDDED) && !defined(ENV_IS_EMBEDDED)
-# define ENV_IS_EMBEDDED
-#endif
-
-/* The build system likes to know if the env is embedded */
-#ifdef DO_DEPS_ONLY
-# ifdef ENV_IS_EMBEDDED
-# ifndef CONFIG_ENV_IS_EMBEDDED
-# define CONFIG_ENV_IS_EMBEDDED
-# endif
-# endif
-#endif
-
#include "compiler.h"
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
@@ -88,7 +67,7 @@ extern unsigned long nand_env_oob_offset;
* If the environment is in RAM, allocate extra space for it in the malloc
* region.
*/
-#if defined(CONFIG_ENV_IS_EMBEDDED)
+#if defined(ENV_IS_EMBEDDED)
#define TOTAL_MALLOC_LEN CONFIG_SYS_MALLOC_LEN
#elif (CONFIG_ENV_ADDR + CONFIG_ENV_SIZE < CONFIG_SYS_MONITOR_BASE) || \
(CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) || \
diff --git a/tools/Makefile b/tools/Makefile
index 80bc62befc..edfa40903d 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -36,21 +36,20 @@ endif
subdir-$(HOST_TOOLS_ALL) += gdb
# Merge all the different vars for envcrc into one
-ENVCRC-$(CONFIG_ENV_IS_EMBEDDED) = y
ENVCRC-$(CONFIG_ENV_IS_IN_EEPROM) = y
ENVCRC-$(CONFIG_ENV_IS_IN_FLASH) = y
ENVCRC-$(CONFIG_ENV_IS_IN_ONENAND) = y
ENVCRC-$(CONFIG_ENV_IS_IN_NAND) = y
ENVCRC-$(CONFIG_ENV_IS_IN_NVRAM) = y
ENVCRC-$(CONFIG_ENV_IS_IN_SPI_FLASH) = y
-CONFIG_BUILD_ENVCRC ?= $(ENVCRC-y)
+BUILD_ENVCRC ?= $(ENVCRC-y)
hostprogs-$(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER) += atmel_pmecc_params
hostprogs-$(CONFIG_VIDEO_LOGO) += bmp_logo
HOSTCFLAGS_bmp_logo.o := -pedantic
-hostprogs-$(CONFIG_BUILD_ENVCRC) += envcrc
+hostprogs-$(BUILD_ENVCRC) += envcrc
envcrc-objs := envcrc.o lib/crc32.o env/embedded.o lib/sha1.o
hostprogs-$(CONFIG_CMD_NET) += gen_eth_addr
diff --git a/tools/envcrc.c b/tools/envcrc.c
index a021c785ae..550f31038b 100644
--- a/tools/envcrc.c
+++ b/tools/envcrc.c
@@ -40,10 +40,6 @@
# endif
#endif /* CONFIG_ENV_IS_IN_FLASH */
-#if defined(ENV_IS_EMBEDDED) && !defined(CONFIG_BUILD_ENVCRC)
-# define CONFIG_BUILD_ENVCRC
-#endif
-
#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
# define ENV_HEADER_SIZE (sizeof(uint32_t) + 1)
#else
@@ -53,17 +49,17 @@
#define ENV_SIZE (CONFIG_ENV_SIZE - ENV_HEADER_SIZE)
-#ifdef CONFIG_BUILD_ENVCRC
+#ifdef ENV_IS_EMBEDDED
# include <env_internal.h>
extern unsigned int env_size;
extern env_t embedded_environment;
-#endif /* CONFIG_BUILD_ENVCRC */
+#endif /* ENV_IS_EMBEDDED */
extern uint32_t crc32(uint32_t, const unsigned char *, unsigned int);
int main (int argc, char **argv)
{
-#ifdef CONFIG_BUILD_ENVCRC
+#ifdef ENV_IS_EMBEDDED
unsigned char pad = 0x00;
uint32_t crc;
unsigned char *envptr = (unsigned char *)&embedded_environment,