2009-02-23 22:08:05 External Memory Addressing Error
hong li (CHINA)
Message: 69781
Hi
Everyone, recently, in order to exchange data between CoreA and CoreB on bf561 platform, I write a driver under uClinux 2008r1.5-RC3, However, When I call the ioctl system call about twenty times, happen error as follow:
External Memory Addressing Error
Kernel OOPS in progress
HW Error context
CURRENT PROCESS:
COMM=avsession PID=118
TEXT = 0x00380000-0x003e0570 DATA = 0x03230570-0x0323f5fc
BSS = 0x0323f5fc-0x008a0000 USER-STACK = 0x008bfe60
return address: [0xffa01b66]; contents of:
0xffa01b40: 56c1 6019 54cb 020b 181b 44d2 0d52 1007
0xffa01b50: 3212 e0a2 2003 984b 9a03 0010 6ffa e0a4
0xffa01b60: 2004 3449 9c0b [c803] 1800 9203 9c0b 9203
0xffa01b70: 601b 54da 0c03 3289 1002 0010 3213 e0a2
SEQUENCER STATUS: Not tainted
SEQSTAT: 0000c03f IPEND: 8030 SYSCFG: 0006
HWERRCAUSE: 0x3
EXCAUSE : 0x3f
physical IVG15 asserted : <0xffa00e58> { _evt_system_call + 0x0 }
logical irq 6 mapped : <0xffa00250> { _timer_interrupt + 0x0 }
logical irq 34 mapped : <0x000b56e4> { _dma_irq_handler + 0x0 }
logical irq 35 mapped : <0x000a7e08> { _bfin_serial_dma_rx_int + 0x0 }
logical irq 36 mapped : <0x000a7d70> { _bfin_serial_dma_tx_int + 0x0 }
logical irq 62 mapped : <0x000090b0> { _coreb_dma_interrupt + 0x0 }
logical irq 76 mapped : <0x000b0c10> { _dm9000_interrupt + 0x0 }
RETE: <0x00000000> /* Maybe null pointer? */
RETN: <0x00b7c000> [ avsession + 0x0 ]
RETX: <0x009ce7a6> [ /lib/libuClibc-0.9.29.so + 0xe7a6 ]
RETS: <0x001c2130> { :smi:_smi_read + 0x124 }
PC : <0xffa01b66> { _memcpy + 0x3a }
PROCESSOR STATE:
R0 : 00a00004 R1 : 00000003 R2 : 00006c4b R3 : fcb0eb70
R4 : 00006c4b R5 : feb1a034 R6 : 00a00004 R7 : 00006c48
P0 : 00a05fcc P1 : feb1a034 P2 : 00001b11 P3 : 03248fe8
P4 : 001c2aa0 P5 : 001c2aa4 FP : 00b7eb88 SP : 00b7bdb0
LB0: ffa01b66 LT0: ffa01b66 LC0: 0000031f
LB1: 03266fc9 LT1: 03266f90 LC1: 00000000
B0 : 0000001e L0 : 00000000 M0 : 00000000 I0 : 00000000
B1 : 00000000 L1 : 00000000 M1 : 00000000 I1 : feb20000
B2 : 00000000 L2 : 00000000 M2 : 00000000 I2 : 00000000
B3 : 00000000 L3 : 00000000 M3 : 00000000 I3 : 00b7eb80
A0.w: 00000001 A0.x: 00000000 A1.w: 00000001 A1.x: 00000000
USP : 00b7eb7c ASTAT: 02002001
Hardware Trace:
0 Target : <0x00004938> { _trap_c + 0x0 }
Source : <0xffa00d88> { _evt_ivhw + 0x8c }
1 Target : <0xffa00d6a> { _evt_ivhw + 0x6e }
Source : <0xffa00d66> { _evt_ivhw + 0x6a }
2 Target : <0xffa00cfc> { _evt_ivhw + 0x0 }
Source : <0xffa01b66> { _memcpy + 0x3a }
3 Target : <0xffa01b5c> { _memcpy + 0x30 }
Source : <0xffa01b4e> { _memcpy + 0x22 }
4 Target : <0xffa01b2c> { _memcpy + 0x0 }
Source : <0x001c212e> { :smi:_smi_read + 0x122 }
5 Target : <0x001c211e> { :smi:_smi_read + 0x112 }
Source : <0x001c20be> { :smi:_smi_read + 0xb2 }
6 Target : <0x001c20bc> { :smi:_smi_read + 0xb0 }
Source : <0xffa001cc> { __access_ok + 0xb4 }
7 Target : <0xffa001bc> { __access_ok + 0xa4 }
Source : <0xffa00142> { __access_ok + 0x2a }
8 Target : <0xffa00118> { __access_ok + 0x0 }
Source : <0x001c20ba> { :smi:_smi_read + 0xae }
9 Target : <0x001c20a4> { :smi:_smi_read + 0x98 }
Source : <0x001c208a> { :smi:_smi_read + 0x7e }
10 Target : <0x001c203a> { :smi:_smi_read + 0x2e }
Source : <0x001c202e> { :smi:_smi_read + 0x22 }
11 Target : <0x001c200c> { :smi:_smi_read + 0x0 }
Source : <0x00037548> { _vfs_read + 0x80 }
12 Target : <0x00037532> { _vfs_read + 0x6a }
Source : <0x0008619c> { _dummy_file_permission + 0x8 }
13 Target : <0x00086194> { _dummy_file_permission + 0x0 }
Source : <0x00037530> { _vfs_read + 0x68 }
14 Target : <0x00037518> { _vfs_read + 0x50 }
Source : <0x00036e94> { _rw_verify_area + 0x84 }
15 Target : <0x00036e80> { _rw_verify_area + 0x70 }
Source : <0x00036e58> { _rw_verify_area + 0x48 }
Stack from 00b7bd90:
000000a0 ffa00d8c ffc00014 00006c48 00a00004 00000000 00000000 00000006
009ce7a6 00008030 0000c03f 00000000 00b7c000 009ce7a6 ffa01b66 001c2130
00a00004 02002001 03266fc9 ffa01b66 03266f90 ffa01b66 00000000 0000031f
00000001 00000000 00000001 00000000 00000000 00000000 00000000 0000001e
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00b7eb80 00000000 feb20000 00000000 00b7eb7c 00b7eb88 001c2aa4 001c2aa0
Call Trace:
[<00001b11>] _arch_ptrace+0x75/0x508
[<00006c48>] _dma_insl+0x88/0xb8
[<00006c4b>] _dma_insl+0x8b/0xb8
[<00006c4b>] _dma_insl+0x8b/0xb8
[<00006c48>] _dma_insl+0x88/0xb8
[<0003754a>] _vfs_read+0x82/0xf4
[<00025200>] ___find_symbol+0x90/0x208
[<00025200>] ___find_symbol+0x90/0x208
[<0001fc68>] _sys_nanosleep+0x58/0x5c
[<00037866>] _sys_read+0x32/0x64
[<00025200>] ___find_symbol+0x90/0x208
[<00037834>] _sys_read+0x0/0x64
[<00025200>] ___find_symbol+0x90/0x208
[<00008000>] _l1_data_A_sram_alloc+0x20/0x34
[<00025200>] ___find_symbol+0x90/0x208
[<00025200>] ___find_symbol+0x90/0x208
Modules linked in: smi
Kernel panic - not syncing: Kernel exception
My driver is in attachment.
Any reply is Thanks!!
Hong
smi.c
QuoteReplyEditDelete
2009-02-23 22:32:57 Re: External Memory Addressing Error
Mike Frysinger (UNITED STATES)
Message: 69782
please read the documentation:
docs.blackfin.uclinux.org/doku.php?id=uclinux-dist:debugging_applications#analyzing_traces
QuoteReplyEditDelete
2009-02-23 23:44:34 Re: External Memory Addressing Error
hong li (CHINA)
Message: 69783
Mike
Thanks, read the documentation firstly
Hong