From: Álvaro Fernández Rojas Date: Sun, 7 Jun 2020 08:55:53 +0000 (+0200) Subject: bcm63xx: image: support device-specific load address X-Git-Tag: v21.02.0-rc1~2532 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=9eb9d0baa0b2f4f3487f53d0c7d44c619194b42d;p=openwrt%2Fstaging%2Fhauke.git bcm63xx: image: support device-specific load address Some CFEs are located at the address currently used for relocation and lzma loader load address, so we need to provide a way to override it. Signed-off-by: Álvaro Fernández Rojas --- diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index 294db6eb32..90d87f7bd4 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -13,14 +13,6 @@ LOADER_ENTRY = 0x80a00000 # RAM start + 10M, for relocate RAMSIZE = 0x02000000 # 32MB LZMA_TEXT_START = 0x81800000 # 32MB - 8MB -LOADER_MAKEOPTS= \ - KDIR=$(KDIR) \ - LOADER_ADDR=$(LOADER_ENTRY) \ - KERNEL_ADDR=$(KERNEL_LOADADDR) \ - RAMSIZE=$(RAMSIZE) \ - LZMA_TEXT_START=$(LZMA_TEXT_START) \ - CHIP_ID=$(CHIP_ID) - RELOCATE_MAKEOPTS= \ CACHELINE_SIZE=16 \ KERNEL_ADDR=$(KERNEL_LOADADDR) \ @@ -44,7 +36,12 @@ endef define Build/loader-lzma rm -rf $@.src $(MAKE) -C lzma-loader \ - $(LOADER_MAKEOPTS) \ + KDIR=$(KDIR) \ + LOADER_ADDR=$(if $(DEVICE_LOADADDR),$(DEVICE_LOADADDR),$(LOADER_ENTRY)) \ + KERNEL_ADDR=$(KERNEL_LOADADDR) \ + RAMSIZE=$(RAMSIZE) \ + LZMA_TEXT_START=$(LZMA_TEXT_START) \ + CHIP_ID=$(CHIP_ID) \ PKG_BUILD_DIR="$@.src" \ TARGET_DIR="$(dir $@)" \ LOADER_DATA="$@" \ @@ -172,8 +169,8 @@ define Build/cfe-jffs2-kernel $(TOPDIR)/scripts/cfe-bin-header.py \ --input-file $@ \ --output-file $@-kernel/vmlinux.lz \ - --load-addr $(LOADER_ENTRY) \ - --entry-addr $(LOADER_ENTRY) + --load-addr $(if $(DEVICE_LOADADDR),$(DEVICE_LOADADDR),$(LOADER_ENTRY)) \ + --entry-addr $(if $(DEVICE_LOADADDR),$(DEVICE_LOADADDR),$(LOADER_ENTRY)) # The JFFS2 partition creation should result in the following # layout: @@ -310,8 +307,9 @@ define Device/Default CHIP_ID := SOC = bcm$$(CHIP_ID) DEVICE_DTS = $$(SOC)-$(subst _,-,$(1)) + DEVICE_LOADADDR := endef -DEVICE_VARS += CHIP_ID +DEVICE_VARS += CHIP_ID DEVICE_LOADADDR ATH5K_PACKAGES := kmod-ath5k wpad-basic ATH9K_PACKAGES := kmod-ath9k wpad-basic