[PATCH v2 2/4] firmware: Add relocatable FW_PAYLOAD_FDT_ADDR
Inochi Amaoto
inochiama at outlook.com
Fri Feb 23 00:18:13 PST 2024
The fw_payload.bin has the same issue as described in previous patch.
But only FW_PAYLOAD_FDT_ADDR is affected.
Add FW_PAYLOAD_FDT_OFFSET to identify relocatable payload fdt address.
Signed-off-by: Inochi Amaoto <inochiama at outlook.com>
---
firmware/fw_payload.S | 4 ++++
firmware/objects.mk | 3 +++
2 files changed, 7 insertions(+)
diff --git a/firmware/fw_payload.S b/firmware/fw_payload.S
index c53a3bb..3c8433e 100644
--- a/firmware/fw_payload.S
+++ b/firmware/fw_payload.S
@@ -46,6 +46,10 @@ fw_save_info:
fw_next_arg1:
#ifdef FW_PAYLOAD_FDT_ADDR
li a0, FW_PAYLOAD_FDT_ADDR
+#elif defined(FW_PAYLOAD_FDT_OFFSET)
+ lla a0, _fw_start
+ li a1, FW_PAYLOAD_FDT_OFFSET
+ add a0, a0, a1
#else
add a0, a1, zero
#endif
diff --git a/firmware/objects.mk b/firmware/objects.mk
index fef090a..3ae0a28 100644
--- a/firmware/objects.mk
+++ b/firmware/objects.mk
@@ -65,6 +65,9 @@ ifdef FW_PAYLOAD_ALIGN
firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_ALIGN=$(FW_PAYLOAD_ALIGN)
endif
+ifdef FW_PAYLOAD_FDT_OFFSET
+firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_FDT_OFFSET=$(FW_PAYLOAD_FDT_OFFSET)
+endif
ifdef FW_PAYLOAD_FDT_ADDR
firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_FDT_ADDR=$(FW_PAYLOAD_FDT_ADDR)
endif
--
2.43.2
More information about the opensbi
mailing list