diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-10-06 04:42:33 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-06-14 20:01:03 -0400 |
commit | 67c2829b646bb5b859088b36fbc89e971b9c1960 (patch) | |
tree | f99e779e584e5fb02aadd9012992f31a19b84e1a | |
parent | 31f30c9eb60d9ab0bd702e31f66345f99b34bdc6 (diff) | |
download | u-boot-imx-67c2829b646bb5b859088b36fbc89e971b9c1960.zip u-boot-imx-67c2829b646bb5b859088b36fbc89e971b9c1960.tar.gz u-boot-imx-67c2829b646bb5b859088b36fbc89e971b9c1960.tar.bz2 |
Blackfin: support embedding the environment into loader files (LDRs)
For the most part, the Blackfin processor boots files in the LDR format
rather than binary/ELF files. So we want to export the environment as a
raw blob to the LDR utility so it can embed it at the right location.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | blackfin_config.mk | 7 |
2 files changed, 8 insertions, 0 deletions
@@ -323,6 +323,7 @@ $(obj)u-boot.bin: $(obj)u-boot $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ $(obj)u-boot.ldr: $(obj)u-boot + $(obj)tools/envcrc --binary > $(obj)env-ldr.o $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS) $(obj)u-boot.ldr.hex: $(obj)u-boot.ldr diff --git a/blackfin_config.mk b/blackfin_config.mk index 05077c8..00e3bfc 100644 --- a/blackfin_config.mk +++ b/blackfin_config.mk @@ -23,6 +23,8 @@ CONFIG_BFIN_CPU := $(strip $(subst ",,$(CONFIG_BFIN_CPU))) CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE))) +CONFIG_ENV_OFFSET := $(strip $(subst ",,$(CONFIG_ENV_OFFSET))) +CONFIG_ENV_SIZE := $(strip $(subst ",,$(CONFIG_ENV_SIZE))) PLATFORM_RELFLAGS += -ffixed-P5 -fomit-frame-pointer -mno-fdpic PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN @@ -43,6 +45,11 @@ LDR_FLAGS += --bmode $(subst BFIN_BOOT_,,$(CONFIG_BFIN_BOOT_MODE)) LDR_FLAGS += --use-vmas ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS) LDR_FLAGS += --initcode $(obj)cpu/$(CPU)/initcode.o +ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_UART) +ifneq ($(ENV_IS_EMBEDDED_CUSTOM),ENV_IS_EMBEDDED_CUSTOM) +LDR_FLAGS += --punchit $$(($(CONFIG_ENV_OFFSET))):$$(($(CONFIG_ENV_SIZE))):$(obj)env-ldr.o +endif +endif endif ifneq (,$(findstring s,$(MAKEFLAGS))) LDR_FLAGS += --quiet |