[REGRESSION] Out of memory error: unable to boot on imx8mp/imx8mm

Sughosh Ganu sughosh.ganu at linaro.org
Mon Dec 16 20:07:38 CET 2024


On Tue, 17 Dec 2024 at 00:33, Francesco Dolcini <francesco at dolcini.it> wrote:
>
> Hello,
>
> On Mon, Dec 16, 2024 at 11:28:42AM -0300, João Paulo Gonçalves wrote:
> > Hi Sughosh,
> >
> > > Can you show the output of bdinfo. And also print the value of ram_top
> > > while booting the board.
> > >
> >
> > Below are ram_top and bdinfo:
>
> We briefly discussed this off list, what is likely happen is that our
> heap is after 0xFFFFFFFF, or said in a simpler way in the 64-bit address
> space, while ram top is at the 4GB boundary.
>
> The solution seems to either move the heap down or move ram top up.

I am not sure I understand. Isn't the heap memory part of the U-Boot
image, meaning it will always be below the ram_top? How do you have
this configuration where the heap is above ram_top? Can you point me
to the code where the heap is getting set above ram_top.

-sughosh

>
>
> >
> > U-Boot 2025.01-rc4-00025-g4ff8ecd9b14e-dirty (Dec 16 2024 - 11:21:18 -0300)
> >
> > CPU:   Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
> > CPU:   Industrial temperature grade (-40C to 105C) at 51C
> > Reset cause: POR
> > DRAM:  Ram top: FFFFFFFF
> > 8 GiB
> > ...
> > Verdin iMX8MP # bdinfo
> > boot_params = 0x0000000000000000
> > DRAM bank   = 0x0000000000000000
> > -> start    = 0x0000000040000000
> > -> size     = 0x00000000c0000000
> > DRAM bank   = 0x0000000000000001
> > -> start    = 0x0000000100000000
> > -> size     = 0x0000000140000000
> > flashstart  = 0x0000000000000000
> > flashsize   = 0x0000000000000000
> > flashoffset = 0x0000000000000000
> > baudrate    = 115200 bps
> > relocaddr   = 0x00000000ffece000
> > reloc off   = 0x00000000bfcce000
> > Build       = 64-bit
> > current eth = ethernet at 30bf0000
> > ethaddr     = 6e:79:12:b6:72:24
> > IP addr     = <NULL>
> > fdt_blob    = 0x00000000ffab8450
> > lmb_dump_all:
> >  memory.count = 0x1
> >  memory[0]      [0x40000000-0x23fffffff], 0x200000000 bytes, flags: none
> >  reserved.count = 0x1
> >  reserved[0]    [0xffffffff-0x23fffffff], 0x140000001 bytes, flags: no-overwrite
> > devicetree  = separate
> > arch_number = 0x0000000000000000
> > TLB addr    = 0x00000000fffd0000
> > irq_sp      = 0x00000000ffab8440
> > sp start    = 0x00000000ffab8440
> > Early malloc usage: d620 / 10000
> >
> >
> > Best Regards,
> > João Paulo Gonçalves


More information about the U-Boot mailing list