From: Patrice Chotard <[email protected]>

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 <[email protected]>
Reviewed-by: Patrick DELAUNAY <[email protected]>
Signed-off-by: Patrick Delaunay <[email protected]>
---

 arch/arm/lib/bootm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index a135bcfc7b..f4b5ca6de0 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -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;
        }
-- 
2.17.1

Reply via email to