[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