[PATCH 2/2] ARM: rockchip: initialize PBL malloc

Ahmad Fatoum a.fatoum at pengutronix.de
Mon May 18 09:20:21 PDT 2026


Hello,

On 5/18/26 5:32 PM, Sascha Hauer wrote:
> Rockchip uses compressed firmware binaries. Depending on the compression
> algorithm we might use early malloc space for decompressing. Initialize
> the PBL malloc space to the memory end to make pbl_malloc() work. This
> memory area will be overwritten later in barebox_pbl_start(), but it's
> ok as the memory is only needed during decompression of the firmware
> files.
> 
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>

Reviewed-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
Tested-by: Ahmad Fatoum <a.fatoum at pengutronix.de>

> ---
>  arch/arm/mach-rockchip/atf.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/mach-rockchip/atf.c b/arch/arm/mach-rockchip/atf.c
> index 3e2e18ac29..03e03c9122 100644
> --- a/arch/arm/mach-rockchip/atf.c
> +++ b/arch/arm/mach-rockchip/atf.c
> @@ -173,6 +173,7 @@ static void rockchip_atf_load_bl31(void *fdt)
>  	unsigned long bl31_ep;
>  
>  	mmu_early_enable(membase[0], memsize[0]);
> +	pbl_malloc_init(membase[0] + memsize[0] - SZ_128K, SZ_128K);

It would be cool if we could use the same malloc area that would be used
in barebox_pbl_start(), but I guess that's not possible, because it's
unfortunately based on the barebox proper load address, which is now
known here. Let's hope this won't clash with any future use..

Thanks,
Ahmad

>  
>  	bl31_ep = load_elf64_image_phdr(&bl31);
>  

-- 
Pengutronix e.K.                  |                             |
Steuerwalder Str. 21              | http://www.pengutronix.de/  |
31137 Hildesheim, Germany         | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list