[PATCH] Revert "arm: bootm: Disable LMB reservation for command line and board info on arm64"

Marek Vasut marex at denx.de
Thu Jul 29 17:01:09 CEST 2021


On 7/29/21 9:22 AM, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka at siemens.com>
> 
> This reverts commit 2359fa7a87848626bcbd3399e92c657595880cd7.
> 
> While the goal is valid and there is surely unused memory in that area,
> we also have a lot of crucial things still located at the top-of-memory
> while running lmb_alloc_base. Such things are the page table (tlb_addr),
> relocated U-Boot and the active stack. Possibly more. So this patch was
> premature, we will need relocations of those things first if we want to
> use the range.
> 
> Fixes booting on the IOT2050, but likely also on other boards. It got
> stuck on relocating the FDT - over the relocated U-Boot code.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
> ---
> 
> Practically,
> 
> void arch_lmb_reserve(struct lmb *lmb)
> {
> 	lmb_reserve(lmb, gd->relocaddr, gd->ram_top - gd->relocaddr);
> }

So this is wrong and breaks a use case on rcar3, where there is more 
stuff which should not be reserved until the ram top.

I suspect the real fix here is to protect only the stack and tlb on 
arm64, not just everything from current stack bottom to ram top ?


More information about the U-Boot mailing list