[lkml]   [2017]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: Linux Kernel handling AXI DECERR/SLVERR

> When Linux is booted on ARM64 platform and an access to peripheral
> returns DECERR or SLVERR on AXI.
> In the above error cases how would Linux kernel handle these faults ?
> Will it hang/recover ?

I believe that on contemporary CPUs these will result in an SError. As SErrors are asynchronous, and (in the absence of RAS extensions) their cause cannot be determined, these are treated as fatal, and the kernel will panic().

Thanks, Mark.
In our case the peripheral returns SLVERR first time and we see the following print but kernel do not hang.
[ 231.484186] Unhandled fault: synchronous external abort (0x92000210) at 0x0000007f9241f880
Bus error

And from simulation we know that subsequent access to peripheral returns OKAY response, however we
see subsequent access fail with same above bus error when we boot Linux.

Is there a way to handle these synchronous abort gracefully in Linux or are these fatal ?


 \ /
  Last update: 2017-12-19 12:29    [W:0.059 / U:1.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site