ARM: bootm: take into account gd->ram_top
authorPatrice Chotard <patrice.chotard@st.com>
Thu, 13 Feb 2020 18:29:50 +0000 (19:29 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 17 Apr 2020 16:29:43 +0000 (12:29 -0400)
If gd->ram_top has been tuned using board_get_usable_ram_top(),
it must be taken into account when reserving arch lmb.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
arch/arm/lib/bootm.c

index a135bcfc7b55664382bb5f105b7944dbbf55d091..f4b5ca6de004dec95d8b2924984bac040e33da6a 100644 (file)
@@ -75,6 +75,9 @@ void arch_lmb_reserve(struct lmb *lmb)
                        gd->bd->bi_dram[bank].size - 1;
                if (sp > bank_end)
                        continue;
+               if (bank_end > gd->ram_top)
+                       bank_end = gd->ram_top - 1;
+
                lmb_reserve(lmb, sp, bank_end - sp + 1);
                break;
        }