This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Precise External Abort Exception: AM3892 Processor

We are getting an Exception in our PCIe driver when we try to access a PCI register in our FPGA.  Can you help us find out the cause of these exceptions.

 

They do not happen often but when they do it is a big problem.

 

We have a Cyclone IV FPGA connected to the TI processor via PCIe (2 lanes; Gen1)

 

Thanks in advance for all of your help.

-mike Hilley

*************************************************************************************************

Exception address is in R3.  It is the SGDMA Status register

 

Time: 0000000425.151, Thread: 156,    dlNone, CAerNCRSerialFPGA::ResetTx()

Time: 0000000425.172, Thread: 156,    dlNone, CAerFile::Open(/dev/sda5, 0x00000001) NCRHack[1]

Time: 0000000425.172, Thread: 156, dlWarning, CAerFile::Open(/dev/sda5): 6

Time: 0000000425.172, Thread: 156,    dlNone, CAerNCRSerialFPGA::Open() flowTx /dev/sda5 Size[2147483648] Blocks[524288 0x00080000]

Time: 0000000425.172, Thread: 156,  dlNotice, TxThread() pFPGA->Open() ulLength[-2147483648] nProgressEvents[20] nBlockSize[4096] nMod[26214]

Time: 0000000425.172, Thread: 156,    dlNone, CAerFile::Open(/dev/sda5, 0x00000001) NCRHack[1]

Time: 0000000425.172, Thread: 156, dlWarning, CAerFile::Open(/dev/sda5): 6

 

 

Unhandled fault: Precise External Abort on non-linefetch (0x1008) at 0xe0034000

Internal error: : 1008 [#1]

last sysfs file: /sys/devices/platform/ahci.0/host1/target1:0:0/1:0:0:0/block/sda/dev

Modules linked in: g_file_storage altfpgaNCR

CPU: 0    Not tainted  (2.6.37 #1)

PC is at do_sgdma+0x7a0/0xa98 [altfpgaNCR]

LR is at schedule_timeout+0x160/0x190

pc : [<bf001398>]    lr : [<c0216d88>]    psr: 80000013

sp : dfba9ec0  ip : dfba9e30  fp : dfba9f3c

r10: 000003e4  r9 : 00000000  r8 : ffffffff

r7 : 43c30f80  r6 : 00003e20  r5 : 00003e00  r4 : bf003610

r3 : e0034000  r2 : e0034010  r1 : bf003610  r0 : 00000000

Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user

Control: 10c5387d  Table: 9fba4019  DAC: 00000015

Process Zipper (pid: 161, stack limit = 0xdfba82e8)

Stack: (0xdfba9ec0 to 0xdfbaa000)

9ec0: 00000000 00000000 df814000 00000000 00000000 43c30000 000000f8 00000001

9ee0: 00000f70 dfba8000 000000f9 000001f0 c00c2f68 bf000120 dfba9f14 dfba9f08

9f00: 9b8ce000 c0146754 dfba9f4c dfba9f18 c00b62ac dfa0a680 43c30000 dfba9f70

9f20: 000f9000 43c30000 dfba8000 00000000 dfba9f4c dfba9f40 bf0016ac bf000c04

9f40: dfba9f6c dfba9f50 c00b6a9c bf00169c 00000000 00000000 dfa0a680 000f9000

9f60: dfba9fa4 dfba9f70 c00b6b88 c00b69f8 00000000 00000000 c008dc74 00000001

9f80: 00000043 00097938 9ba5e354 403780c4 00000004 c003af48 00000000 dfba9fa8

9fa0: c003ada0 c00b6b50 00097938 9ba5e354 00000005 43c30000 000f9000 00000005

9fc0: 00097938 9ba5e354 403780c4 00000004 003d0f00 4002f3d8 00000000 4ae41c74

9fe0: 00000000 4ae41c40 4002b4dc 4002bbc4 80000010 00000005 e6e6e6e6 e6e6e6e6

Backtrace:

[<bf000bf8>] (do_sgdma+0x0/0xa98 [altfpgaNCR]) from [<bf0016ac>] (altfpga_write+0x1c/0x20 [altfpgaNCR])

[<bf001690>] (altfpga_write+0x0/0x20 [altfpgaNCR]) from [<c00b6a9c>] (vfs_write+0xb0/0xd8)

[<c00b69ec>] (vfs_write+0x0/0xd8) from [<c00b6b88>] (sys_write+0x44/0x70)

r7:000f9000 r6:dfa0a680 r5:00000000 r4:00000000

[<c00b6b44>] (sys_write+0x0/0x70) from [<c003ada0>] (ret_fast_syscall+0x0/0x30)

r8:c003af48 r7:00000004 r6:403780c4 r5:9ba5e354 r4:00097938

Code: e3a03000 e591204c e5823000 e5913048 (e5933000)

---[ end trace 461dd2641c46e9bb ]---