Hi,
I am accessing a Xilinx Evaluation board with a customer firmware via PCIe on a Jetson TX2 evaluation board.
I have no problem of reading and writing to the FPGA when accessing “moderately”, but when the access is more “rapidly” the following dump is provided hereafter. I have found the following solution https://devtalk.nvidia.com/default/topic/996441/?comment=5095529 but when I tried to run it on my board I got a Machine Check, listed hereafter.
[ 557.826278] Bad mode in Synchronous Abort handler detected, code 0x86000006 -- IABT (current EL)
[ 557.835049] Internal error: Oops - bad mode: 0 [#1] PREEMPT SMP
[ 557.840955] Modules linked in: fuse bnep hci_uart bluetooth mcdgdriver(O) bcmdhd hi8435rada(O) pci_tegra bluedroid_pm
[ 557.851656] CPU: 4 PID: 781 Comm: threadCollectfu Tainted: G O 4.4.38-DTRE-v0.1 #15
[ 557.860423] Hardware name: quill (DT)
[ 557.864077] task: ffffffc1e13fcb00 ti: ffffffc1debe0000 task.ti: ffffffc1debe0000
[ 557.871543] PC is at 0x0
[ 557.874069] LR is at 0x0
[ 557.876595] pc : [<0000000000000000>] lr : [<0000000000000000>] pstate: 80000045
[ 557.883974] sp : ffffffc1debe3da0
[ 557.887278] x29: 0000000000000000 x28: 0000000000000000
[ 557.892599] x27: 0000000000000000 x26: 0000000800094800
[ 557.897921] x25: 490000008100933a x24: 0000000000000000
[ 557.903242] x23: 0000000000000000 x22: 0000000000000000
[ 557.908563] x21: 0000000000000000 x20: 0000000000000000
[ 557.913882] x19: 0000000000000000 x18: 0000000000000000
[ 557.919202] x17: 000000000000000a x16: ffffffc000b57618
[ 557.924520] x15: 0000000000000fc5 x14: 000000000000f56a
[ 557.929839] x13: 2033207463656c6c x12: 000000000030450b
[ 557.935157] x11: 0000000000000000 x10: 00000000000008a0
[ 557.940477] x9 : ffffffc1debe3980 x8 : ffffffc1e13fd400
[ 557.945795] x7 : 0000000000000400 x6 : 0000000001b30618
[ 557.951116] x5 : 0000000000000000 x4 : ffffffc1debe3950
[ 557.956437] x3 : 0000000000000000 x2 : ffffffc1e29b9a4c
[ 557.961757] x1 : 0000000000000000 x0 : 0000000000000010
[ 557.967077]
[ 557.968564] Process threadCollectfu (pid: 781, stack limit = 0xffffffc1debe0020)
[ 557.975943] Call trace:
[ 557.978384] [< (null)>] (null)
[ 557.983078] ---[ end trace a3103786846738ef ]---
[ 557.988950] Unable to handle kernel paging request at virtual address 0024d73f
[ 557.996157] pgd = ffffffc001486000
[ 557.999550] [0024d73f] *pgd=000000026cdd6003, *pud=000000026cdd6003, *pmd=000000026bf74003, *pte=00e80000960fd70f
[ 558.009833] Internal error: Oops: 96000006 [#2] PREEMPT SMP
[ 558.015391] Modules linked in: fuse bnep hci_uart bluetooth mcdgdriver(O) bcmdhd hi8435rada(O) pci_tegra bluedroid_pm
[ 558.026087] CPU: 4 PID: 781 Comm: threadCollectfu Tainted: G D O 4.4.38-DTRE-v0.1 #15
[ 558.034852] Hardware name: quill (DT)
[ 558.038505] task: ffffffc1e13fcb00 ti: ffffffc1debe0000 task.ti: ffffffc1debe0000
[ 558.045974] PC is at __wake_up_common+0x28/0xa0
[ 558.050495] LR is at __wake_up_locked+0x14/0x20
[ 558.055013] pc : [<ffffffc0000e7c80>] lr : [<ffffffc0000e7d74>] pstate: a00001c5
[ 558.062393] sp : ffffffc1debe3a50
[ 558.065699] x29: ffffffc1debe3a50 x28: ffffffc1debe0000
[ 558.071020] x27: 0000000000000000 x26: 0000000800094800
[ 558.076339] x25: ffffffc1e13fcb00 x24: 00000000000001c0
[ 558.081659] x23: 0000000000000000 x22: 0000000000000000
[ 558.086980] x21: 0000000000000000 x20: ffffffc1debe3eb0
[ 558.092301] x19: ffffffc1debe3ea8 x18: 0000000000000000
[ 558.097622] x17: 000000000000000a x16: ffffffc000b57618
[ 558.102941] x15: 0000000000000000 x14: ffffffc1c9fb4299
[ 558.108261] x13: ffffffc1c9fb4295 x12: 0000000000000000
[ 558.113581] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f
[ 558.118900] x9 : fefefefefefefeff x8 : 7f7f7f7f7f7f7f7f
[ 558.124219] x7 : 09432c2f35363230 x6 : 00000001f4b41000
[ 558.129539] x5 : 0000000000000000 x4 : 000000000024d73f
[ 558.134857] x3 : 0000000000000000 x2 : 0000000000000001
[ 558.140176] x1 : 0000000000000003 x0 : ffffffc1debe3ea8
[ 558.145495]
[ 558.146981] Process threadCollectfu (pid: 781, stack limit = 0xffffffc1debe0020)
[ 558.154360] Call trace:
[ 558.156800] [<ffffffc0000e7c80>] __wake_up_common+0x28/0xa0
[ 558.162359] [<ffffffc0000e7d74>] __wake_up_locked+0x14/0x20
[ 558.167921] [<ffffffc0000e85c0>] complete+0x40/0x60
[ 558.172790] [<ffffffc0000a161c>] mm_release+0x74/0x118
[ 558.177917] [<ffffffc0000a5d68>] do_exit+0x118/0x9d8
[ 558.182873] [<ffffffc000089628>] bug_handler.part.1+0x0/0x80
[ 558.188519] [<ffffffc0000896f4>] arm64_notify_die+0x1c/0x60
[ 558.194080] [<ffffffc000089948>] bad_mode+0x80/0x90
[ 558.198945] [< (null)>] (null)
[ 558.203639] ---[ end trace a3103786846738f0 ]---
[ 558.209526] Fixing recursive fault but reboot is needed!
nvidia@tegra-ubuntu:~$ sudo busybox devmem 0x010038ac w
[sudo] password for nvidia:
[ 1523.962932] CPU4: SError detected, daif=140, spsr=0x60000000, mpidr=80000102, esr=bf000000
[ 1523.964113] CPU3: SError detected, daif=1c0, spsr=0x800000c5, mpidr=80000101, esr=bf40c000
[ 1523.964117] CPU5: SError detected, daif=1c0, spsr=0x800000c5, mpidr=80000103, esr=bf40c000
[ 1523.964122] CPU0: SError detected, daif=1c0, spsr=0x800000c5, mpidr=80000100, esr=bf40c000
[ 1523.964140] **************************************
[ 1523.964144] CPU3 Machine check error in AXI2APB@0x23a0000:
[ 1523.964151] Raw FIFO Entry: 0
[ 1523.964153] ADDR: 0x410038ac
[ 1523.964155] STAT: 0x1868142
[ 1523.964156] --------------------------------------
[ 1523.964158] Decoded FIFO Entry: 0
[ 1523.964159] Direction: READ
[ 1523.964161] Bridge ID: 0x2
[ 1523.964163] Error Type: 0xa -- Address decode error generated by bridge
[ 1523.964165] Length: 0
[ 1523.964168] Protection: 0x2 -- Unprivileged, Non-Secure, Data Access
[ 1523.964170] Source ID: 0x1 -- CCPLEX
[ 1523.964172] AXI_ID: 0x6 -- A57 Core 2
[ 1523.964174] Cache: 0x0 -- Strongly Ordered
[ 1523.964176] Burst: 0x1
[ 1523.964233] Address: 0x10038ac (Unknown Device)
[ 1523.964235] **************************************
[ 1523.965802] ROC:IOB Machine Check Error:
[ 1523.965808] Address Type = Secure DRAM
[ 1523.965814] Address = 0x0 (Unknown Device)
[ 1523.965861] Bad mode in Error handler detected, code 0xbf40c000 -- SError
[ 1523.965865] Internal error: Oops - bad mode: 0 [#3] PREEMPT SMP
[ 1523.965886] Modules linked in: fuse bnep hci_uart bluetooth mcdgdriver(O) bcmdhd hi8435rada(O) pci_tegra bluedroid_pm
[ 1523.965893] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G D O 4.4.38-DTRE-v0.1 #15
[ 1523.965895] Hardware name: quill (DT)
[ 1523.965898] task: ffffffc1ececa580 ti: ffffffc1ecedc000 task.ti: ffffffc1ecedc000
[ 1523.965912] PC is at t18x_a57_enter_state+0x40/0xc8
[ 1523.965916] LR is at t18x_a57_enter_state+0x1c/0xc8
[ 1523.965919] pc : [<ffffffc00092c300>] lr : [<ffffffc00092c2dc>] pstate: 800000c5
[ 1523.965920] sp : ffffffc1ecedfed0
[ 1523.965925] x29: ffffffc1ecedfed0 x28: ffffffc1ecedc000
[ 1523.965928] x27: ffffffc1ecedff70 x26: ffffffc000b56000
[ 1523.965931] x25: 00000162dbf25b8d x24: ffffffc0013a3788
[ 1523.965934] x23: 0000000000000000 x22: ffffffc00132f3d8
[ 1523.965938] x21: 0000000000000000 x20: ffffffc00146b2d8
[ 1523.965941] x19: 0000000000000000 x18: 000000000253fb7a
[ 1523.965944] x17: 00000000013ef8b2 x16: 000000000008b8b5
[ 1523.965946] x15: 000000000133ab46 x14: 000000000133ab46
[ 1523.965949] x13: 0000000000000000 x12: ffffffc07b148c00
[ 1523.965953] x11: ffffffc1e5cdf370 x10: 00000000000008a0
[ 1523.965956] x9 : ffffffc1ecedfec0 x8 : ffffffc1ececae80
[ 1523.965959] x7 : 0000000040040000 x6 : 0014d4725dba3114
[ 1523.965963] x5 : 0000000000000017 x4 : 000000003b9aca00
[ 1523.965966] x3 : 00000000003534b3 x2 : 00000000003534b3
[ 1523.965969] x1 : 0000000000000000 x0 : 0000000000000000
[ 1523.965969]
[ 1523.965972] Process swapper/3 (pid: 0, stack limit = 0xffffffc1ecedc020)
[ 1523.965974] Call trace:
[ 1523.965979] [<ffffffc00092c300>] t18x_a57_enter_state+0x40/0xc8
[ 1523.965987] [<ffffffc0007ebb2c>] cpuidle_enter_state+0x10c/0x350
[ 1523.965989] [<ffffffc0007ebda8>] cpuidle_enter+0x18/0x20
[ 1523.965997] [<ffffffc0000e880c>] call_cpuidle+0x24/0x50
[ 1523.966000] [<ffffffc0000e8aa8>] cpu_startup_entry+0x270/0x340
[ 1523.966006] [<ffffffc00008e0ac>] secondary_start_kernel+0x12c/0x168
[ 1523.966008] [<000000008008192c>] 0x8008192c
[ 1523.966012] ---[ end trace a3103786846738f1 ]---
[ 1523.968098] Kernel panic - not syncing: Attempted to kill the idle task!
[ 1523.968103] CPU5: stopping
[ 1523.968109] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G D O 4.4.38-DTRE-v0.1 #15
[ 1523.968110] Hardware name: quill (DT)
[ 1523.968112] Call trace:
[ 1523.968121] [<ffffffc000089378>] dump_backtrace+0x0/0xe8
[ 1523.968126] [<ffffffc000089474>] show_stack+0x14/0x20
[ 1523.968133] [<ffffffc000320d98>] dump_stack+0xa0/0xc8
[ 1523.968136] [<ffffffc00008e6d8>] handle_IPI+0x2f8/0x320
[ 1523.968140] [<ffffffc00008160c>] gic_handle_irq+0xa4/0xc0
[ 1523.968144] [<ffffffc000084740>] el1_irq+0x80/0xf8
[ 1523.968147] [<ffffffc0007ebda8>] cpuidle_enter+0x18/0x20
[ 1523.968150] [<ffffffc0000e880c>] call_cpuidle+0x24/0x50
[ 1523.968154] [<ffffffc0000e8aa8>] cpu_startup_entry+0x270/0x340
[ 1523.968156] [<ffffffc00008e0ac>] secondary_start_kernel+0x12c/0x168
[ 1523.968158] [<000000008008192c>] 0x8008192c
[ 1523.968160] CPU0: stopping
[ 1523.968165] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G D O 4.4.38-DTRE-v0.1 #15
[ 1523.968167] Hardware name: quill (DT)
[ 1523.968168] Call trace:
[ 1523.968174] [<ffffffc000089378>] dump_backtrace+0x0/0xe8
[ 1523.968178] [<ffffffc000089474>] show_stack+0x14/0x20
[ 1523.968182] [<ffffffc000320d98>] dump_stack+0xa0/0xc8
[ 1523.968186] [<ffffffc00008e6d8>] handle_IPI+0x2f8/0x320
[ 1523.968188] [<ffffffc00008160c>] gic_handle_irq+0xa4/0xc0
[ 1523.968191] [<ffffffc000084740>] el1_irq+0x80/0xf8
[ 1523.968195] [<ffffffc0007ebda8>] cpuidle_enter+0x18/0x20
[ 1523.968198] [<ffffffc0000e880c>] call_cpuidle+0x24/0x50
[ 1523.968201] [<ffffffc0000e8aa8>] cpu_startup_entry+0x270/0x340
[ 1523.968210] [<ffffffc000b470f0>] rest_init+0x88/0x98
[ 1523.968218] [<ffffffc0010e0968>] start_kernel+0x38c/0x3a0
[ 1523.968221] [<0000000080b4d000>] 0x80b4d000
[ 1523.971212] CPU4: stopping
[ 1523.971217] CPU: 4 PID: 1739 Comm: busybox Tainted: G D O 4.4.38-DTRE-v0.1 #15
[ 1523.971218] Hardware name: quill (DT)
[ 1523.971220] Call trace:
[ 1523.971226] [<ffffffc000089378>] dump_backtrace+0x0/0xe8
[ 1523.971230] [<ffffffc000089474>] show_stack+0x14/0x20
[ 1523.971233] [<ffffffc000320d98>] dump_stack+0xa0/0xc8
[ 1523.971236] [<ffffffc00008e6d8>] handle_IPI+0x2f8/0x320
[ 1523.971239] [<ffffffc00008160c>] gic_handle_irq+0xa4/0xc0
[ 1523.971242] [<ffffffc000084740>] el1_irq+0x80/0xf8
[ 1523.971247] [<ffffffc0000a8500>] irq_exit+0x88/0xe0
[ 1523.971252] [<ffffffc0000f5b20>] __handle_domain_irq+0x60/0xb8
[ 1523.971254] [<ffffffc0000815cc>] gic_handle_irq+0x64/0xc0
[ 1523.971257] [<ffffffc000084740>] el1_irq+0x80/0xf8
[ 1523.971260] [<ffffffc0000f48fc>] vprintk_emit+0x32c/0x540
[ 1523.971263] [<ffffffc0000f4c50>] vprintk_default+0x38/0x40
[ 1523.971269] [<ffffffc000171228>] printk+0x94/0xa0
[ 1523.971271] [<ffffffc0000812b8>] handle_serr+0x58/0xf8
[ 1523.971274] [<ffffffc000084944>] el0_serr+0x90/0xcc
[ 1524.540308] Rebooting in 5 seconds..
Please advise.
Igal