Просмотр исходного кода

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 <[email protected]>
Álvaro Fernández Rojas 5 лет назад
Родитель
Сommit
9eb9d0baa0
1 измененных файлов с 10 добавлено и 12 удалено
  1. 10 12
      target/linux/bcm63xx/image/Makefile

+ 10 - 12
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 [email protected]
 	$(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="[email protected]" \
 		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