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

Sascha Hauer s.hauer at pengutronix.de
Mon May 18 11:24:38 PDT 2026


On 2026-05-18 18:20, Ahmad Fatoum wrote:
> 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..

Yes, that's the problem. I am not exactly happy with this solution
either, but haven't found anything better.

Sascha

--
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