diff --git a/blob/fw_common.ldS b/blob/fw_common.ldS index eac7edec..3761d62f 100644 --- a/blob/fw_common.ldS +++ b/blob/fw_common.ldS @@ -7,7 +7,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ - . = PLAT_TEXT_START; + . = FW_TEXT_START; PROVIDE(_fw_start = .); diff --git a/blob/fw_payload.elf.ldS b/blob/fw_payload.elf.ldS index 9420f08c..201338b5 100644 --- a/blob/fw_payload.elf.ldS +++ b/blob/fw_payload.elf.ldS @@ -14,7 +14,7 @@ SECTIONS { #include "fw_common.ldS" - . = PLAT_TEXT_START + FW_PAYLOAD_OFFSET; + . = FW_TEXT_START + FW_PAYLOAD_OFFSET; .payload : { diff --git a/blob/objects.mk b/blob/objects.mk index 29c2f95c..d1bfbdbe 100644 --- a/blob/objects.mk +++ b/blob/objects.mk @@ -12,6 +12,10 @@ blob-cflags-y = blob-asflags-y = blob-ldflags-y = +ifdef FW_TEXT_START +blob-cppflags-y += -DFW_TEXT_START=$(FW_TEXT_START) +endif + blob-bins-$(FW_JUMP) += fw_jump.bin ifdef FW_JUMP_ADDR blob-cppflags-$(FW_JUMP) += -DFW_JUMP_ADDR=$(FW_JUMP_ADDR) diff --git a/plat/qemu/sifive_u/config.mk b/plat/qemu/sifive_u/config.mk index c856f652..66dc8de2 100644 --- a/plat/qemu/sifive_u/config.mk +++ b/plat/qemu/sifive_u/config.mk @@ -11,7 +11,6 @@ plat-cppflags-y = -DPLAT_NAME="QEMU SiFive Unleashed" plat-cppflags-y+= -DPLAT_HART_COUNT=1 plat-cppflags-y+= -DPLAT_HART_STACK_SIZE=8192 -plat-cppflags-y+= -DPLAT_TEXT_START=0x80000000 # Compiler flags plat-cflags-y =-mabi=lp64 -march=rv64imafdc -mcmodel=medany @@ -24,6 +23,7 @@ PLAT_SERIAL_SIFIVE_UART=y PLAT_SYS_CLINT=y # Blobs to build +FW_TEXT_START=0x80000000 FW_JUMP=y FW_JUMP_ADDR=0x80200000 FW_JUMP_FDT_OFFSET=0x2000000 diff --git a/plat/qemu/virt/config.mk b/plat/qemu/virt/config.mk index e922df85..99c08cb4 100644 --- a/plat/qemu/virt/config.mk +++ b/plat/qemu/virt/config.mk @@ -11,7 +11,6 @@ plat-cppflags-y = -DPLAT_NAME="QEMU Virt Machine" plat-cppflags-y+= -DPLAT_HART_COUNT=8 plat-cppflags-y+= -DPLAT_HART_STACK_SIZE=8192 -plat-cppflags-y+= -DPLAT_TEXT_START=0x80000000 # Compiler flags plat-cflags-y =-mabi=lp64 -march=rv64imafdc -mcmodel=medany @@ -24,6 +23,7 @@ PLAT_SERIAL_UART8250=y PLAT_SYS_CLINT=y # Blobs to build +FW_TEXT_START=0x80000000 FW_JUMP=y FW_JUMP_ADDR=0x80200000 FW_JUMP_FDT_OFFSET=0x2000000 diff --git a/plat/sifive/hifive_u540/config.mk b/plat/sifive/hifive_u540/config.mk index 2dc0ac53..164fcdd3 100644 --- a/plat/sifive/hifive_u540/config.mk +++ b/plat/sifive/hifive_u540/config.mk @@ -11,7 +11,6 @@ plat-cppflags-y = -DPLAT_NAME="SiFive HiFive U540" plat-cppflags-y+= -DPLAT_HART_COUNT=1 plat-cppflags-y+= -DPLAT_HART_STACK_SIZE=8192 -plat-cppflags-y+= -DPLAT_TEXT_START=0x80000000 # Compiler flags plat-cflags-y =-mabi=lp64 -march=rv64imafdc -mcmodel=medany @@ -24,6 +23,7 @@ PLAT_SERIAL_SIFIVE_UART=y PLAT_SYS_CLINT=y # Blobs to build +FW_TEXT_START=0x80000000 FW_JUMP=y FW_JUMP_ADDR=0x80200000 FW_JUMP_FDT_OFFSET=0x2000000