Kernel crashing on startup while trying to allocate space below 0x0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I've cross-compiled Linux 4.16 for a AT91SAM9XE512 MPU which uses an ARMv5TEJ instruction set. I'm using a custom board, bootloader, and device tree. On startup, I receive the following kernel panic:
 
Uncompressing Linux... done, booting the kernel.
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.16.0-rc5-FFAero (root@localhost.localdomain) (gcc version 6.2.0 (GCC)) #3 Sat Mar 17 07:51:27 CDT 2018
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: FFAero
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Kernel panic - not syncing: ERROR: Failed to allocate 0x00002000 bytes below 0x00000000.
[    0.000000] 
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.16.0-rc5-FFAero #3
[    0.000000] Hardware name: Atmel AT91SAM9
[    0.000000] Backtrace: invalid frame pointer 0xc0a01e68
[    0.000000] ---[ end Kernel panic - not syncing: ERROR: Failed to allocate 0x00002000 bytes below 0x00000000.
[    0.000000] 
 
Here's a copy of the stack trace:

(gdb) bt
#0  __loop_delay () at arch/arm/lib/delay-loop.S:58
#1  0xc011f69c in panic ()
#2  0xc0918c9c in memblock_alloc_base (size=8192, align=<optimized out>, max_addr=0) at mm/memblock.c:1229
#3  0xc0918cc4 in memblock_alloc (size=<optimized out>, align=<optimized out>) at mm/memblock.c:1237
#4  0xc0905840 in early_alloc_aligned (sz=3231719088, align=<optimized out>) at arch/arm/mm/mmu.c:724
#5  0xc0905940 in early_alloc (sz=<optimized out>) at arch/arm/mm/mmu.c:731
#6  0xc09060bc in devicemaps_init (mdesc=<optimized out>) at arch/arm/mm/mmu.c:1324
#7  paging_init (mdesc=<optimized out>) at arch/arm/mm/mmu.c:1631
#8  0xc090359c in setup_arch (cmdline_p=0xc0a01fc0) at arch/arm/kernel/setup.c:1120
#9  0xc0900ae8 in start_kernel () at init/main.c:536
#10 0x00000000 in ?? ()
 
While spending the last week tracing this issue back through the kernel source code it looks like the "of_get_flat_dt_prop" method is never returning a valid result for any property under the memory node. My decompiled device tree (dtb -> dts) is available here: https://hastebin.com/wopaxiwawo.c

Does anybody know what I'm doing wrong/how to fix this issue?

Thank you,

Fred Heinecke--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux