more flexable configuration for image itb build

Change-Id: I16a819e627d987374f20808242dbefbcfc5fd603
This commit is contained in:
zhouxl 2024-03-13 19:23:47 +08:00 committed by zhangmeng
parent 500d91f49b
commit 09cec7d366
2 changed files with 25 additions and 6 deletions

View file

@ -70,6 +70,21 @@ $(obj)/Image.zst: $(obj)/Image FORCE
$(obj)/loader.bin: $(obj)/loader FORCE $(obj)/loader.bin: $(obj)/loader FORCE
$(call if_changed,objcopy) $(call if_changed,objcopy)
ifdef CONFIG_32BIT
ADDR_BITS := 32
ADDR_CELLS := 1
else
ADDR_BITS := 64
ADDR_CELLS := 2
endif
IMAGE_LOAD_ADDRESS := $(CONFIG_IMAGE_LOAD_OFFSET)
IMAGE_ENTRY_ADDRESS := $(CONFIG_IMAGE_LOAD_OFFSET)
IMAGE_ALGO := crc32
IMAGE_COMPRESS := none
IMAGE_SOURCE_FILE := Image
quiet_cmd_its_cat = CAT $@ quiet_cmd_its_cat = CAT $@
cmd_its_cat = cat $(real-prereqs) >$@ cmd_its_cat = cat $(real-prereqs) >$@
@ -79,12 +94,16 @@ $(obj)/Image.its.S: $(addprefix $(srctree)/arch/riscv/generic/,$(ITS_INPUTS)) FO
quiet_cmd_cpp_its_S = ITS $@ quiet_cmd_cpp_its_S = ITS $@
cmd_cpp_its_S = $(CPP) -P -C -o $@ $< \ cmd_cpp_its_S = $(CPP) -P -C -o $@ $< \
-DKERNEL_NAME="\"Linux $(KERNELRELEASE)\"" \ -DKERNEL_NAME="\"Linux $(KERNELRELEASE)\"" \
-DIMAGE_BINARY="\"$(4)\"" \
-DIMAGE_COMPRESSION="\"$(2)\"" \ -DIMAGE_COMPRESSION="\"$(2)\"" \
-DIMAGE_CHECK_ALGORITHM="\"$(3)\"" -DIMAGE_CHECK_ALGORITHM="\"$(3)\"" \
-DIMAGE_BINARY="\"$(4)\"" \
-DIMAGE_LOAD_ADDRESS=$(IMAGE_LOAD_ADDRESS) \
-DIMAGE_ENTRY_ADDRESS=$(IMAGE_ENTRY_ADDRESS) \
-DADDR_BITS=$(ADDR_BITS) \
-DADDR_CELLS=$(ADDR_CELLS)
$(obj)/Image.its: $(obj)/Image.its.S $(obj)/Image FORCE $(obj)/Image.its: $(obj)/Image.its.S $(obj)/Image FORCE
$(call if_changed,cpp_its_S,none,crc32,Image) $(call if_changed,cpp_its_S,$(IMAGE_COMPRESS),$(IMAGE_ALGO),$(IMAGE_SOURCE_FILE))
quiet_cmd_itb-image = ITB $@ quiet_cmd_itb-image = ITB $@
cmd_itb-image = \ cmd_itb-image = \

View file

@ -3,7 +3,7 @@
/ { / {
description = KERNEL_NAME; description = KERNEL_NAME;
#address-cells = <2>; #address-cells = <ADDR_CELLS>;
images { images {
kernel { kernel {
@ -13,8 +13,8 @@
arch = "riscv"; arch = "riscv";
os = "linux"; os = "linux";
compression = IMAGE_COMPRESSION; compression = IMAGE_COMPRESSION;
load = <0x0 0x1400000>; load = /bits/ ADDR_BITS <IMAGE_LOAD_ADDRESS>;
entry = <0x0 0x1400000>; entry = /bits/ ADDR_BITS <IMAGE_ENTRY_ADDRESS>;
hash { hash {
algo = IMAGE_CHECK_ALGORITHM; algo = IMAGE_CHECK_ALGORITHM;
}; };