From: Inochi Amaoto Date: Fri, 23 Feb 2024 08:18:14 +0000 (+0800) Subject: platform: Apply relocatable address X-Git-Tag: v1.5~105 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2cff7f350f146b72fed1b9bd29f3a72b94eed020;p=platform%2Fkernel%2Fopensbi.git platform: Apply relocatable address Since jump and payload firmware support relocatable address, make general platform use runtime relocatable address. Signed-off-by: Inochi Amaoto Reviewed-by: Anup Patel --- diff --git a/platform/generic/objects.mk b/platform/generic/objects.mk index 136853e..85aa723 100644 --- a/platform/generic/objects.mk +++ b/platform/generic/objects.mk @@ -27,12 +27,12 @@ FW_DYNAMIC=y FW_JUMP=y ifeq ($(PLATFORM_RISCV_XLEN), 32) # This needs to be 4MB aligned for 32-bit system - FW_JUMP_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x400000))) + FW_JUMP_OFFSET=0x400000 else # This needs to be 2MB aligned for 64-bit system - FW_JUMP_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x200000))) + FW_JUMP_OFFSET=0x200000 endif -FW_JUMP_FDT_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x2200000))) +FW_JUMP_FDT_OFFSET=0x2200000 FW_PAYLOAD=y ifeq ($(PLATFORM_RISCV_XLEN), 32) # This needs to be 4MB aligned for 32-bit system @@ -41,4 +41,4 @@ else # This needs to be 2MB aligned for 64-bit system FW_PAYLOAD_OFFSET=0x200000 endif -FW_PAYLOAD_FDT_ADDR=$(FW_JUMP_FDT_ADDR) +FW_PAYLOAD_FDT_OFFSET=$(FW_JUMP_FDT_OFFSET) diff --git a/platform/template/objects.mk b/platform/template/objects.mk index 0025928..b143cbc 100644 --- a/platform/template/objects.mk +++ b/platform/template/objects.mk @@ -63,6 +63,17 @@ FW_JUMP= # This needs to be 4MB aligned for 32-bit support # This needs to be 2MB aligned for 64-bit support # ifeq ($(PLATFORM_RISCV_XLEN), 32) +# FW_JUMP_OFFSET=0x400000 +# else +# FW_JUMP_OFFSET=0x200000 +# endif +# FW_JUMP_FDT_OFFSET=0x2200000 +# +# You can use fixed address for jump firmware as an alternative option, +# but this may fail when setting wrong FW_TEXT_START. Use with caution. +# SBI will prefer "_ADDR" if both "_ADDR" and "_OFFSET" are +# defined +# ifeq ($(PLATFORM_RISCV_XLEN), 32) # FW_JUMP_ADDR=0x80400000 # else # FW_JUMP_ADDR=0x80200000 @@ -84,4 +95,10 @@ FW_PAYLOAD_OFFSET=0x200000 endif # FW_PAYLOAD_ALIGN=0x1000 # FW_PAYLOAD_PATH="path to next boot stage binary image file" +# FW_PAYLOAD_FDT_OFFSET=0x2200000 +# +# You can use fixed address for payload firmware as an alternative option, +# but this may fail when setting wrong FW_TEXT_START. Use with caution. +# SBI will prefer "FW_PAYLOAD_FDT_ADDR" if both "FW_PAYLOAD_FDT_OFFSET" +# and "FW_PAYLOAD_FDT_ADDR" are defined. # FW_PAYLOAD_FDT_ADDR=0x82200000