在转换表的步行路程同步外部中断 [英] Synchronous external abort on translation table walk

查看:544
本文介绍了在转换表的步行路程同步外部中断的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人能解释什么是该中止的原因。
我找不到本手册中的解释。

基本上我凑了 IFSC code这个错误 - 在转换表的步行路程同步外部中止

IFSC HSR 寄存器,用于使用虚拟化扩展的ARMv7A。

解决方案

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 the HSR register which is used with an ARMv7A using the virtualization extensions.

解决方案

The IFSC is basically a virtualization version of the IFSR.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆