AnsweredAssumed Answered

MPC8308 TEA signal

Question asked by jon bird on Nov 28, 2017
Latest reply on Dec 11, 2017 by alexander.yakovlev



We are encountering a machine check exception caused by the assertion of the Transfer Error Ack (TEA) signal on an 8308 processor - here's the dump we get from the Linux kernel:


[  218.873172] Machine check in kernel mode.
[  218.877200] Caused by (from SRR1=41030): Transfer error ack signal
[  218.883386] Oops: Machine check, sig: 7 [#1]
[  218.887645] PREEMPT General Dynamics UK CMC BPM
[  218.892171] Modules linked in: tun acexpci(O) uio_pci_generic uio_gduk_cmc_bpm_arinc(O) uio_gduk_cmc_bpm_discrete(O)
[  218.902722] CPU: 0 PID: 547 Comm: mrtdemo Tainted: P   M       O    4.4.88-gduk-cmc-bpm+ #24
[  218.911145] task: defb9480 ti: dfff6000 task.ti: ded82000
[  218.916536] NIP: e51997b0 LR: e51997a8 CTR: e5199330
[  218.921498] REGS: dfff7e50 TRAP: 0200   Tainted: P   M       O     (4.4.88-gduk-cmc-bpm+)
[  218.929648] MSR: 00041030 <ME,IR,DR>  CR: 24000482  XER: 20000000
[  218.935768] DAR: c006cbdc DSISR: c0720000


We believe it is related to a PCIe bus transaction however beyond that we have been unable to diagnose this any further. There seems to be very little information I can find in the documentation regarding this signal. The E300 core Reference Manual states that a machine check can be caused by assertion of TEA - which is external to the core but internal to the 8308. The 830 Reference Manual touches on it but not in great detail. Our initial thoughts were that is was triggered by the arbiter detecting a fault on one of the slaves (in this instance, presumably the PCIe controller) hence it was an ETEA event triggering this. However the AMR register has all these bits masked out so that seems to rule this out.


So any help on understanding what triggers TEA under these circumstances would be helpful.