summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/fw_payload.elf.ldS4
-rw-r--r--firmware/objects.mk4
-rw-r--r--firmware/payloads/dummy.elf.ldS4
3 files changed, 12 insertions, 0 deletions
diff --git a/firmware/fw_payload.elf.ldS b/firmware/fw_payload.elf.ldS
index 0713f43..7106005 100644
--- a/firmware/fw_payload.elf.ldS
+++ b/firmware/fw_payload.elf.ldS
@@ -14,7 +14,11 @@ SECTIONS
{
#include "fw_base.ldS"
+#ifdef FW_PAYLOAD_OFFSET
. = FW_TEXT_START + FW_PAYLOAD_OFFSET;
+#else
+ . = ALIGN(FW_PAYLOAD_ALIGN);
+#endif
.payload :
{
diff --git a/firmware/objects.mk b/firmware/objects.mk
index 18a1fbc..b579ba6 100644
--- a/firmware/objects.mk
+++ b/firmware/objects.mk
@@ -35,6 +35,10 @@ firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_PATH=$(FW_PAYLOAD_PATH_FINAL)
ifdef FW_PAYLOAD_OFFSET
firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_OFFSET=$(FW_PAYLOAD_OFFSET)
endif
+ifdef FW_PAYLOAD_ALIGN
+firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_ALIGN=$(FW_PAYLOAD_ALIGN)
+endif
+
ifdef FW_PAYLOAD_FDT_PATH
firmware-genflags-$(FW_PAYLOAD) += -DFW_PAYLOAD_FDT_PATH=$(FW_PAYLOAD_FDT_PATH)
endif
diff --git a/firmware/payloads/dummy.elf.ldS b/firmware/payloads/dummy.elf.ldS
index b4d9f75..d0854d5 100644
--- a/firmware/payloads/dummy.elf.ldS
+++ b/firmware/payloads/dummy.elf.ldS
@@ -12,7 +12,11 @@ ENTRY(_start)
SECTIONS
{
+#ifdef FW_PAYLOAD_OFFSET
. = FW_TEXT_START + FW_PAYLOAD_OFFSET;
+#else
+ . = ALIGN(FW_PAYLOAD_ALIGN);
+#endif
PROVIDE(_payload_start = .);