[PATCH v2 0/4] Add relocatable address support for jump and payload firmware

Inochi Amaoto inochiama at outlook.com
Fri Feb 23 00:17:20 PST 2024


If FW_PIC=y is defined, the jump and payload firmware and will
be broken if FW_TEXT_START is wrong. This is not the desired behavior.

Add some new variable to support relocatable address.

build command:
make BUILD_INFO=y DEBUG=1 FW_PIC=y PLATFORM=generic FW_TEXT_START=0x0

test command:
qemu-system-riscv64 -smp cpus=4 -M virt -m 256M \
  -bios build/platform/generic/firmware/fw_payload.bin

Changed from v1:
1. allow to use <X>_OFFSET when FW_PIC=n
2. fix wrong fw_next_address when using offset address.

Inochi Amaoto (4):
  firmware: Add relocatable FW_JUMP_ADDR and FW_JUMP_FDT_ADDR
  firmware: Add relocatable FW_PAYLOAD_FDT_ADDR
  platform: Apply relocatable address
  doc/firmware: add new configuration options for jump and payload
    firmware

 docs/firmware/fw_jump.md     | 17 ++++++++++++++---
 docs/firmware/fw_payload.md  |  6 ++++++
 firmware/fw_jump.S           | 18 ++++++++++++++----
 firmware/fw_payload.S        |  4 ++++
 firmware/objects.mk          |  9 +++++++++
 platform/generic/objects.mk  |  8 ++++----
 platform/template/objects.mk | 17 +++++++++++++++++
 7 files changed, 68 insertions(+), 11 deletions(-)

--
2.43.2




More information about the opensbi mailing list