diff options
author | Patrick Delaunay <patrick.delaunay@foss.st.com> | 2021-07-26 11:55:27 +0200 |
---|---|---|
committer | Patrice Chotard <patrice.chotard@foss.st.com> | 2021-08-16 10:49:35 +0200 |
commit | 92b611e8b003e81798ad2cde90f15eb89cfa48c4 (patch) | |
tree | 314d9b50d3989fa7ccd0655432ddcb3d574b13e4 /arch | |
parent | f64d32a27ad00af7445068f78421c24243428c1e (diff) | |
download | u-boot-92b611e8b003e81798ad2cde90f15eb89cfa48c4.tar.gz |
stm32mp: correctly handle board_get_usable_ram_top(0)
The function board_get_usable_ram_top can be called after relocation
with total_size = 0 to get the uppermost pointer that is valid to access
in U-Boot.
When total_size = 0, the reserved memory should be not take in account
with lmb library and 'gd->ram_base + gd->ram_size' can be used.
It is the case today in lib/efi_loader/efi_memory.c:efi_add_known_memory()
and this patch avoids that the reserved memory for OP-TEE is not part of
the EFI available memory regions.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-stm32mp/dram_init.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-stm32mp/dram_init.c b/arch/arm/mach-stm32mp/dram_init.c index 3c097029bda..94f25f34e03 100644 --- a/arch/arm/mach-stm32mp/dram_init.c +++ b/arch/arm/mach-stm32mp/dram_init.c @@ -46,6 +46,9 @@ ulong board_get_usable_ram_top(ulong total_size) phys_addr_t reg; struct lmb lmb; + if (!total_size) + return gd->ram_base + gd->ram_size; + /* found enough not-reserved memory to relocated U-Boot */ lmb_init(&lmb); lmb_add(&lmb, gd->ram_base, gd->ram_size); |