I am running into some issues on a board that is similar to a AT91RM9200-EK
board. It has the same processor, but slightly different nor flash, a nand
flash, and extra peripherals. Both systems will boot the kernel and a
filesystem.
However, when I tftp a file of a certain size (greater than 900k, for
example), the custom board will crash the kernel. If I do a larger file on
the EK board, it works fine (using busybox). In fact, when it tries to
write a file when there is no space, it will stop the transfer without
crashing the kernel.
It normally results in the scheduler in wake_up_common to get out in the
weeds with a bad pointer, and I am wondering if it is something setup
dealing with iomem, mmap or something like it but do not know where to
start.
Basically, it sees a virtual address and I wonder if it is mapped
incorrectly where it thinks it is in place A but really should be in place
B.
I have the strace output below where it is running the tftp transfer. This
is not limited to tftp as I am also running into issues trying to run tiny-x
where it will run just fine on the ek board, but crash on the custom board.
Both have the same exact file system.
ANY thoughts/ideas, things to try would be most welcomed. Thanks!
Christopher
SYS_292(0x5, 0xb6260, 0x204, 0, 0xbee93be4) = 516
write(4, ")))333)))\6\6\006999333999333999)))33"..., 512) = 512
SYS_290(0x5, 0xb6058, 0x4, 0, 0xb6044) = 4
select(6, [5], NULL, NULL, {5, 0}) = 1 (in [5], left {4, 990000})
SYS_292(0x5, 0xb6260, 0x204, 0, 0xbee93be4) = 516
write(4, "\6)))\0\0\000[ 193.500000] Unable to handle kernel paging request
at
virtual address 29292933
[ 193.500000] pgd = c1f4c000
[ 193.500000] [29292933] *pgd=00000000
[ 193.500000] Internal error: Oops: 3 [#1]
[ 193.500000] CPU: 0
[ 193.500000] PC is at __wake_up_common+0x1c/0xa0
[ 193.500000] LR is at __wake_up+0x2c/0x34
[ 193.500000] pc : [<c0032374>] lr : [<c0032424>] Not tainted
[ 193.500000] sp : c1f39ca4 ip : 29292927 fp : c1f39ccc
[ 193.500000] r10: 00000000 r9 : 00000003 r8 : c0280000
[ 193.500000] r7 : 00000200 r6 : c00000c0 r5 : c1f38000 r4 : 00000013
[ 193.500000] r3 : 00000000 r2 : 00000001 r1 : 00000003 r0 : 29292933
[ 193.500000] Flags: nzcv IRQs off FIQs on Mode SVC_32 Segment user
[ 193.500000] Control: C000717F
[ 193.500000] Table: 21F4C000 DAC: 00000015
[ 193.500000] Process tftp (pid: 755, stack limit = 0xc1f38250)
[ 193.500000] Stack: (0xc1f39ca4 to 0xc1f3a000)
[ 193.500000] 9ca0: 00000013 c1f38000 00000200 00000200 c0280000
000b6
464 00000000