[PATCH] dlmalloc: Add an option to default malloc to init
Marek
marek.bykowski at gmail.com
Tue Apr 21 12:54:18 CEST 2020
The previous message of mine went out of thread. It should be in thread now.
On Tue, Apr 21, 2020 at 02:21:36AM +0200, Marek wrote:
> >
> > Can you please showcase using this feature somewhere? Thanks!
> >
>
> Yes. First of all, sincere apology for such a massive delay in it.
> I got snowed with the corporation work of mine.
>
> So here is my go at showcasing it. We are in SPL U-Boot running code from
> within the static memory:
> arch/arm/cpu/armv8/start.S:reset vector
> -> arch/arm/cpu/armv8/start.S:main()
> -> arch/arm/lib/crt0_64.S:board_init_f()
> -> /board/<my_board>/common/spl.c:board_init_f()
>
> board_init_f() does mem_malloc_init(malloc_start_in_static, size). It needs
> the malloc for SPI flash to load off some proprietary stuff.
> Note the size of the static memory is limited, so is our malloc size.
>
> Then along it does the DDR memory initialization. Now we have much greater memory
> and can move our malloc allocator onto it. So again it does mem_malloc_init()
> but this time with an address in the DDR memory and a much greater size.
> And this is where this feature comes in hand. Just calling in mem_malloc_init()
> with the updated start addr and the size isn't enough. It also mandates
> resetting the malloc, namely defaulting its bins, and some bookkeeping.
>
> I know there is an early malloc available I can use as the first one but that
> requires managing the two mallocs. This patch proposes to use a single malloc
> suite (dlmalloc) and use it freely around when and how it is needed.
>
> Marek
More information about the U-Boot
mailing list