在转换表的步行路程同步外部中断 [英] Synchronous external abort on translation table walk
问题描述
有人能解释什么是该中止的原因。
我找不到本手册中的解释。
基本上我凑了 IFSC
code这个错误 - 在转换表的步行路程同步外部中止
的 IFSC
是 HSR
寄存器,用于使用虚拟化扩展的ARMv7A。位p>
的 IFSC
基本上是一个虚拟化版本的 IFSR
。
IFSC code - 对转换表的步行路程同步外部中止
。
块引用>这意味着在CPU有困难访问页表。所以,你的code可能已经跃升到一些未映射的地址。第一级MMU条目可能包含一个无效的条目或它包含了2 第二级页表的访问时,给出了一个的总线错误的地址。基本上,这意味着的东西在页表中的错误指令执行时没有很好地反映。您需要手动检查断层code,然后走你的页表中查找错误的实际来源。
如果你最近改变的表基的,有code可从的 TLB 的缓存,然后在第一个实际的步行路程执行,会发生这样的故障
您可能需要给对其中
的上下文的详细信息IFSC
读更多的帮助。Can someone explain what would be the reason of this abort. I could not find an explanation in the manual.
Basically I am getting this error in the
IFSC
code - Synchronous external abort on translation table walk.The
IFSC
are bits in theHSR
register which is used with an ARMv7A using the virtualization extensions.解决方案The
IFSC
is basically a virtualization version of theIFSR
.IFSC code - Synchronous external abort on translation table walk.
This means that the CPU had difficulty accessing the page tables. So your code may have jumped to some unmapped address. The first level MMU entry may contain an invalid entry or it contains a 2nd level page table address that gives a bus error when accessed. Basically, it means that something in the page tables did not map well when your faulting instruction executed. You need to inspect the faulting code and then manually walk your page tables to find the actual source of the errors.
If you recently change the table base, some code may execute from the TLB cache and then on the first actual walk, a fault like this will occur.
You probably need to give more information on the context of where the
IFSC
is read for more help.这篇关于在转换表的步行路程同步外部中断的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!