1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-10-10 20:46:37 +02:00

lmb: make LMB memory map persistent and global

The current LMB API's for allocating and reserving memory use a
per-caller based memory view. Memory allocated by a caller can then be
overwritten by another caller. Make these allocations and reservations
persistent using the alloced list data structure.

Two alloced lists are declared -- one for the available(free) memory,
and one for the used memory. Once full, the list can then be extended
at runtime.

[sjg: Use a stack to store pointer of lmb struct when running lmb tests]

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
[sjg: Optimise the logic to add a region in lmb_add_region_flags()]
This commit is contained in:
Sughosh Ganu
2024-08-26 17:29:18 +05:30
committed by Tom Rini
parent a368850ae2
commit ed17a33fed
39 changed files with 717 additions and 749 deletions

View File

@@ -42,7 +42,7 @@ static ulong get_sp(void)
return ret;
}
void arch_lmb_reserve(struct lmb *lmb)
void arch_lmb_reserve(void)
{
arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 16384);
arch_lmb_reserve_generic(get_sp(), gd->ram_top, 16384);
}