Hello All. I am currently running into an issue and
can not find a way to resolve it. I have two systems built around a AT91RM9200. First,
the ek board (evaluation kit), I can build the kernel, filesystem, and u-boot
and everything works as it should. System is stable and runs well. Second system, I have a custom board that is very similar to
the ek board but with some differences. First, the flash is a 642D vs the
6416 and I have made the changes necessary for it to recognize through
CFI. Next, the ram is 1 32mb chip vs two 16 mb chips. I have made the
changes to SDRAM controller for that (rows and columns). Finally, there
is also a nand flash on board. I have the nand flash being recognized and
can read and write from it. So, onto the problem. When I boot the custom board, it
can find the filesystem on either the nor flash or the nand flash (I just
change the bootargs in u-boot to point to a different mtdblock). If I
leave it at the login prompt, everything is ok. When I login, it goes to
the prompt and a few seconds later, the kernel crashes and looks to be in
wake_up_common here: static void __wake_up_common(wait_queue_head_t *q, unsigned
int mode,
int nr_exclusive, int sync, void *key) { struct
list_head *tmp, *next; list_for_each_safe(tmp,
next, &q->task_list) { ß------------------------------- wait_queue_t
*curr = list_entry(tmp, wait_queue_t, task_list); unsigned
flags = curr->flags; I am putting the capture below for anyone that can
see. I have done searches around google and some have said that it could
be due to a mtd config issue. However, I am setting up the mtd the same
and have even taken out support for nand flash so that isn’t the
culprit. Has anyone seen this or can anyone give me some ideas of a
way to track this down? uclibc login: root # cd /bin # [ 40.180000] Unable to handle kernel NULL
pointer dereference at virtual add ress 00000000 [ 40.180000] pgd = c1f14000 [ 40.180000] [00000000] *pgd=21eda031,
*pte=00000000, *ppte=00000000 [ 40.180000] Internal error: Oops: 17 [#1] [ 40.180000] Modules linked in: [ 40.180000] CPU: 0 [ 40.180000] PC is at __wake_up_common+0x28/0x98 [ 40.180000] LR is at 0x0 [ 40.180000] pc :
[<c003bf88>] lr : [<00000000>]
Not tainted [ 40.180000] sp : c1f2de50 ip :
c1f2de7c fp : c1f2de78 [ 40.180000] r10: 00000003 r9 :
c1f2de94 r8 : 00000000 [ 40.180000] r7 : 00000001 r6 :
c0000080 r5 : c1d802fc r4 : 00000013 [ 40.180000] r3 : 00000000 r2 :
00000001 r1 : 00000003 r0 : c0000080 [ 40.180000] Flags: nzcv IRQs off
FIQs on Mode SVC_32 Segment user [ 40.180000] Control: C000717F [ 40.180000] Table: 21F14000 DAC: 00000015 [ 40.180000] Process syslogd (pid: 737, stack
limit = 0xc1f2c250) [ 40.180000] Stack: (0xc1f2de50 to 0xc1f2e000) [ 40.180000]
de40:
00000013 c1d802fc c0324 000 00000000 [ 40.180000] de60: c1c07ce4 c1c07c88 00000022
c1f2de90 c1f2de7c c003c024 c003b f70 c1f2de94 [ 40.180000] de80: c0324000 c1f2dea8 c1f2de94
c0054a18 c003c008 c0324000 00000 000 c1f2debc [ 40.180000] dea0: c1f2deac c0062258 c00549f8
c1f2c000 c1f2def8 c1f2dec0 c0078 ad0 c0062224 [ 40.180000] dec0: 00000000 c1c07d78 00000003 c1f2df10
00000000 00000066 000b3 3cd 00000000 [ 40.180000] dee0: 0000005d 00000000 c1f2df18
c1f2df4c c1f2defc c00793ec c0078 7ac 00000000 [ 40.180000] df00: c1c07d20 c1c07d4c c1c07ce4
c1f2df78 00000000 00000066 00022 000 00000000 [ 40.180000] df20: 00000000 c1e8a1a8 000b3370
c1f2df78 000000c3 c1f2c000 c1f2c 000 000000c3 [ 40.180000] df40: c1f2df74 c1f2df50 c0080a58
c0079224 00000000 c1e8a1c8 c1e8a 1a8 c1f2df78 [ 40.180000] df60: 00021fa3 00000000 c1f2dfa4
c1f2df78 c0080bf0 c00809b4 00021 fa3 00000000 [ 40.180000] df80: 00000000 000000c3 000000c3
000b3370 00000004 c002af04 00000 000 c1f2dfa8 [ 40.180000] dfa0: c002ad60 c0080bb4 000000c3
000000c3 00000004 000b3370 00000 0c3 00021fa3 [ 40.180000] dfc0: 000000c3 000000c3 000b3370
00000004 000b3370 00000004 00000 0c3 beed3cac [ 40.180000] dfe0: 000ae328 beed3bd8 0003b558
4005ce0c 20000010 00000004 00000 000 00000000 [ 40.180000] Backtrace: [ 40.180000] [<c003bf60>] (__wake_up_common+0x0/0x98)
from [<c003c024>] (__wak e_up+0x2c/0x34) [ 40.180000] [<c003bff8>]
(__wake_up+0x0/0x34) from [<c0054a18>] (__wake_up_bi t+0x30/0x38) [ 40.180000] r4 = C0324000 [ 40.180000] [<c00549e8>]
(__wake_up_bit+0x0/0x38) from [<c0062258>] (unlock_p age+0x44/0x5c) [ 40.180000] [<c0062214>]
(unlock_page+0x0/0x5c) from [<c0078ad0>] (shmem_getp age+0x334/0x458) [ 40.180000] r4 = C1F2C000 [ 40.180000] [<c007879c>]
(shmem_getpage+0x0/0x458) from [<c00793ec>] (shmem_f ile_write+0x1d8/0x250) [ 40.180000] [<c0079214>]
(shmem_file_write+0x0/0x250) from [<c0080a58>] (vfs_ write+0xb4/0x184) [ 40.180000] [<c00809a4>]
(vfs_write+0x0/0x184) from [<c0080bf0>] (sys_write+0 x4c/0x7c) [ 40.180000] r8 = 00000000 r7 =
00021FA3 r6 = C1F2DF78 r5 = C1E8A1A8 [ 40.180000] r4 = C1E8A1C8 [ 40.180000] [<c0080ba4>]
(sys_write+0x0/0x7c) from [<c002ad60>] (ret_fast_sys call+0x0/0x2c) [ 40.180000] r8 = C002AF04 r7 =
00000004 r6 = 000B3370 r5 = 000000C3 [ 40.180000] r4 = 000000C3 [ 40.180000] Code: e1a0a001 e1a07002 e1a08003
e59b9004 (e59e5000) |