mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 07:04:28 +00:00
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>
This commit is contained in:
parent
2440b5bb52
commit
6bd2372094
6 changed files with 7 additions and 39 deletions
5
README
5
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
|
||||
|
|
1
env/Makefile
vendored
1
env/Makefile
vendored
|
@ -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
|
||||
|
|
2
env/embedded.c
vendored
2
env/embedded.c
vendored
|
@ -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
|
||||
|
|
|
@ -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) || \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in a new issue