[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