kernel exception时打印出的ESR相关信息

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了kernel exception时打印出的ESR相关信息脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

kernel exception时打印出的ESR相关信息

 

<1>[ 7766.006249] Unhandled fault at 0xffffff800188d408
<1>[ 7766.006256] Mem abort info:
<1>[ 7766.006259]   ESR = 0x86000003
<1>[ 7766.006264]   Exception class = IABT (current EL), IL = 32 bits
<1>[ 7766.006268]   SET = 0, FnV = 0
<1>[ 7766.006271]   EA = 0, S1PTW = 0
<1>[ 7766.006277] swapper pgtable: 4k pages, 39-bit VAs, pgdp = 00000000352033d5
<1>[ 7766.006281] [ffffff800188d408] pgd=000000009d7fe003, pud=000000009d7fe003, pmd=00000000625c6003, pte=0040080063544793
<0>[ 7766.006294] Internal error: level 3 address size fault: 86000003 [#1] PREEMPT SMP

 

上述kernel exception时打印出的ESR(Exception Syndrome Register (EL1))值为0x86000003,看下ESR_EL1 register bit assignment:

ESR_EL1是一个64bit register,先要看EC(exception class) field,这个field是在这个register的bit[31:26],占6bit

此实例中EC值是0x21(0b100001),查看EC值解释表,可以得知0b100001是instruction abort,然后查看instruction abort对应的ISS

ECMeaningISSApplies when
0b000000

Unknown reason.

ISS encoding for exceptions with an unknown reason
0b000001

Trapped WF* instruction execution.

Conditional WF* instructions that fail their condition code check do not cause an exception.

ISS encoding for an exception from a WF* instruction
0b100001

Instruction Abort taken without a change in Exception level.

Used for MMU faults generated by instruction accesses and synchronous External aborts, including synchronous parity or ECC errors. Not used for debug-related exceptions.

ISS encoding for an exception from an Instruction Abort

 

主要看IFSC bit field,这个bit field值的含义说明在如下的table里,在本实例中,IFSC bit field的值是3,所以是“Address size fault, level 3”

ISS encoding for an exception from an Instruction Abort

24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RES0 SET FnV EA RES0 S1PTW RES0 IFSC

IFSC, bits [5:0]

Instruction Fault Status Code.

IFSCMeaningApplies when
0b000000

Address size fault, level 0 of translation or translation table base register.

0b000001

Address size fault, level 1.

0b000010

Address size fault, level 2.

0b000011

Address size fault, level 3.

0b000100

Translation fault, level 0.

0b000101

Translation fault, level 1.

 

脚本宝典总结

以上是脚本宝典为你收集整理的kernel exception时打印出的ESR相关信息全部内容,希望文章能够帮你解决kernel exception时打印出的ESR相关信息所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: