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

Sughosh Ganu sughosh.ganu at linaro.org
Mon Dec 16 14:14:08 CET 2024


On Mon, 16 Dec 2024 at 17:12, João Paulo Gonçalves
<jpaulo.silvagoncalves at gmail.com> wrote:
>
> Hello,
>
> U-Boot is not able too boot on imx8mm and imx8mp and gives out of memory
> errors:
>
> U-Boot SPL 2025.01-rc4-00041-g50334151c020 (Dec 15 2024 - 14:02:46 +0000)
> Training FAILED
> DDR configured as single rank
> WDT:   Started watchdog at 30280000 with servicing every 1000ms (60s timeout)
> SEC0:  RNG instantiated
> Normal Boot
> Trying to boot from BOOTROM
> Boot Stage: Primary boot
> Find img info 0x4802f000, size 1116
> Need continue download 1024
> NOTICE:  Do not release JR0 to NS as it can be used by HAB
> NOTICE:  BL31: v2.10.0  (release):android-14.0.0_2.2.0-rc2-0-g7c64d4e86-dirty
> NOTICE:  BL31: Built : 10:35:32, Aug 29 2024
> U-Boot 2025.01-rc4-00041-g50334151c020 (Dec 15 2024 - 14:02:46 +0000)
> CPU:   Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
> CPU:   Industrial temperature grade (-40C to 105C) at 24C
> Reset cause: POR
> DRAM:  4 GiB
> Core:  183 devices, 31 uclasses, devicetree: separate
> WDT:   Started watchdog at 30280000 with servicing every 1000ms (60s timeout)
> out of memory
> ERROR: Out of memory
> MMC:   FSL_SDHC: 1, FSL_SDHC: 2
> Loading Environment from MMC... out of memory
> out of memory
> Adding partition for mmc at 30b60000.blk:1 failed
> *** Warning - No block device, using default environment
> out of memory
> out of memory
> Adding partition for mmc at 30b60000.blk:1 failed
>
> The regression was introduced with commit 1a48b0be93d4 ('lmb: prohibit
> allocations above ram_top even from same bank'). Reverting it, allows U-Boot to
> boot again. The issue seems to occur on modules with >=4Gb of RAM.

Can you show the output of bdinfo. And also print the value of ram_top
while booting the board.

>
> Do you have any idea what might be causing the issue? On our boards, the first
> error occurs in efi_init_early() and then in initr_mmc(), and it happens during
> memory allocation using lmb.

We are not allowing allocations to be made from memory regions above
ram_top. So it would be good to know what ram_top is on your board.

-sughosh

>
> Best Regards,
> João Paulo Gonçalves
>


More information about the U-Boot mailing list