[PATCH v6 7/7] doc: Add a warning about using RELOC_ADDR_TOP

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue Jun 9 15:15:49 CEST 2026


Since devices that can't DMA above 4GiB will misbehave with this option
enabled add a warning on the documentation.

Reviewed-by: Simon Glass <sjg at chromium.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
---
 doc/develop/memory.rst | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/doc/develop/memory.rst b/doc/develop/memory.rst
index 5177229630d1..3da39bb6c664 100644
--- a/doc/develop/memory.rst
+++ b/doc/develop/memory.rst
@@ -111,6 +111,15 @@ U-Boot Proper Flow
       This follows the same as in SPL flow. In board_init_f(), a part of memory
       is reserved at the end of RAM (see reserve_* functions in init_sequence_f)
 
+   #. Relocation address
+
+      By default U-Boot will try to relocate below the 4GiB boundary. If
+      RELOC_ADDR_TOP is enabled U-Boot will look into the dram bank config of
+      gd->dram[] and try to relocate to the highest available bank. Use this
+      with caution as devices that can only DMA below 4GiB will misbehave
+      since their buffers may be allocated above the 32-bit boundary.
+      Boards can override thre relocation address via board_get_usable_ram_top().
+
    #. Code Relocation
 
       relocate_code() is called which relocates U-Boot code from the current
-- 
2.43.0



More information about the U-Boot mailing list