summaryrefslogtreecommitdiff
path: root/Kconfig
diff options
context:
space:
mode:
authorMarek Vasut <[email protected]>2026-03-16 00:54:05 +0100
committerTom Rini <[email protected]>2026-03-27 13:29:31 -0600
commitd9eee3d17882ec40f8ca5e231046bbf287ab4369 (patch)
treefae19e970eea019143c8f152fc507c70601aa578 /Kconfig
parente20405860790d344035464e29e0eb237b42284ea (diff)
arm: relocate: Introduce data-only relocation mode
Introduce new mode of relocation which relocates only data, not code. This is mainly meant to relocate data to read-write portion of the RAM, while the code remains in read-only portion of the RAM from which it is allowed to execute. This split configuration is present on various secure cores. The result of the relocation is U-Boot running at its original address, data relocated to the end of DRAM, but with added read-write area offset. The U-Boot binary area is not reserved from the end of the DRAM in this relocation mode, because U-Boot itself is not relocated. Signed-off-by: Marek Vasut <[email protected]>
Diffstat (limited to 'Kconfig')
-rw-r--r--Kconfig17
1 files changed, 17 insertions, 0 deletions
diff --git a/Kconfig b/Kconfig
index b52331d6ff2..1679bba5d75 100644
--- a/Kconfig
+++ b/Kconfig
@@ -474,6 +474,23 @@ config SKIP_RELOCATE
Skips relocation of U-Boot allowing for systems that have extremely
limited RAM to run U-Boot.
+config SKIP_RELOCATE_CODE
+ bool "Skips relocation of U-Boot code to end of RAM"
+ help
+ Skips relocation of U-Boot code to the end of RAM, but still does
+ relocate data to the end of RAM. This is mainly meant to relocate
+ data to read-write portion of the RAM, while the code remains in
+ read-only portion of the RAM from which it is allowed to execute.
+ This split configuration is present on various secure cores.
+
+config SKIP_RELOCATE_CODE_DATA_OFFSET
+ hex "Offset of read-write data memory from read-only text memory"
+ default 0x0
+ depends on SKIP_RELOCATE_CODE
+ help
+ Offset of the read-write memory which contains data, from read-only
+ memory which contains executable text.
+
endif # EXPERT
config PHYS_64BIT