On 3/27/26 1:23 PM, Ilias Apalodimas wrote:

Hello Ilias,

Add a Kconfig option and allow the common code to relocate U-Boot
to the top of the last discovered bank.

The commit message should really clarify the current pitfalls of
enabling this symbol, including the part where ethernet transfers above
4 GiB used to work because of the packet buffer built into U-Boot, and
they will break because the buffer is now relocated above 4 GiB too.

Shall I just add your note from the RFC with a few adjustments? I.e

NOTE: This currently might break platforms. If the ethernet
       controller cannot DMA above 4 GiB, and once U-Boot does
       get relocated above 4 GiB, the packet buffer which is built
       into the U-Boot binary is also relocated above 4 GiB.

This patch should not be applied in the first place, this DOES break things. I think when this patch is safe to be applied, the note will not be needed.

[...]
+++ b/common/board_f.c
@@ -321,6 +321,8 @@ __weak phys_addr_t board_get_usable_ram_top(phys_size_t 
total_size)
                */
               return 0;
   #endif
+     if (IS_ENABLED(CONFIG_RELOCATE_LAST_BANK))
+             fdtdec_setup_mem_ram_top();
Return value may need checking ?

sure, but should we panic ? Or print a message and silently keep the
old reloc address?
Print a message and relocate below 4 GiB , for maximum compatibility maybe ?

Reply via email to