[v2,4/4] common: Allow relocations on the top of the last bank

Ilias Apalodimas ilias.apalodimas at linaro.org
Wed Apr 1 22:56:57 CEST 2026


On Wed, 1 Apr 2026 at 22:59, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Ilias,
>
> On 2026-03-31T08:01:10, Ilias Apalodimas <ilias.apalodimas at linaro.org> wrote:
> > diff --git a/common/board_f.c b/common/board_f.c
> > @@ -321,6 +323,19 @@ __weak phys_addr_t board_get_usable_ram_top(phys_size_t total_size)
> > +     if (IS_ENABLED(CONFIG_RELOCATE_LAST_BANK)) {
> > +             phys_addr_t old_top = gd->ram_top;
> > +
> > +             ret = fdtdec_setup_mem_ram_top();
> > +             if (ret)
> > +                     debug("failed to relocate to ram top");
> > +             ret = fdtdec_setup_ram_size();
>
> If fdtdec_setup_mem_ram_top() fails it will restore gd->ram_top to its
> original value and return an error, but then fdtdec_setup_ram_size()
> is still called. That will recalculate gd->ram_size even though the
> ram_top hasn't changed, which seems inconsistent. I think the two
> functions should both succeed or both fail.

yea that's a good point thanks.
/Ilias
>
> Regards,
> Simon


More information about the U-Boot mailing list