[PATCH] stm32mp: correctly handle board_get_usable_ram_top(0)
Patrice CHOTARD
patrice.chotard at foss.st.com
Mon Aug 16 09:26:30 CEST 2021
Hi Patrick
On 7/26/21 11:55 AM, Patrick Delaunay wrote:
> The function board_get_usable_ram_top can to 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 at foss.st.com>
> ---
> Patch to correct the UEFI support for STM32MP platform
> after Heinrich's remark on patch [1].
>
> [1] efi_loader: replace board_get_usable_ram_top by gd->ram_top
> http://patchwork.ozlabs.org/project/uboot/patch/20210709124630.1.I212e7cd96724368b8272300c59c2a1c1f227ed67@changeid/
>
> arch/arm/mach-stm32mp/dram_init.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm/mach-stm32mp/dram_init.c b/arch/arm/mach-stm32mp/dram_init.c
> index 3c097029bd..94f25f34e0 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);
>
Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
Thanks
Patrice
More information about the U-Boot
mailing list