[PATCH] arm64: Decode information from ESR upon mem faults
Will Deacon
will.deacon at arm.com
Mon Jun 19 10:13:05 PDT 2017
On Wed, Jun 14, 2017 at 02:14:03PM +0100, Julien Thierry wrote:
> When receiving unhandled faults from the CPU, description is very sparse.
> Adding information about faults decoded from ESR.
>
> Added defines to esr.h corresponding ESR fields. Values are based on ARM
> Archtecture Reference Manual (DDI 0487B.a), section D7.2.28 ESR_ELx, Exception
> Syndrome Register (ELx) (pages D7-2275 to D7-2280).
>
> New output is of the form:
> [ 122.109118] Mem abort info:
> [ 122.111884] Exception class = DABT (current EL)
> [ 122.116564] IL = 32 bits
> [ 122.119242] SET = 0
> [ 122.121507] FnV = 0
> [ 122.123754] EA = 0
> [ 122.125928] S1PTW = 0
> [ 122.128347] Data abort info:
> [ 122.131212] ISS[23:14] invalid
Is it still worth printing the ISS value here? I'm wondering about the
case where an old kernel runs on a new CPU and gets an abort that was
previously undefined.
> [ 122.134417] CM = 0
> [ 122.136589] WnR = 1
Hmm, this might get really confusing if multiple CPUs end up with their
prints interleaved. Perhaps having a print_unhandled_fault_info helper that
takes a prefix string (e.g. "Unhandled fault") and constructs the
information on one line would be preferable?
Then again, you could make the same argument about multi-line register
dumps, so perhaps I'm worrying too much here. Thoughts?
Will
More information about the linux-arm-kernel
mailing list