ARMv8 AARCH64指令中止处理程序?

时间:2014-12-01 01:42:01

标签: linux-kernel arm arm64

我遇到内核恐慌,这是3级转换返回无效描述符并引发指令/预取中止异常的结果。在故障点之前,在EL0中有几个成功处理的预取中止,但是当在EL1中引发指令中止时发生恐慌。

我可以在arch / arm64 / kernel / entry.S中看到,EL0案例(el0_ia)有一个处理程序,但EL1案例没有处理程序。

是否应该在EL1中永远不会发生指令/预取中止?

1 个答案:

答案 0 :(得分:1)

你的猜测是正确的 - EL1中永远不会发生指令/预取中止。

可以为EL0处理预取中止的原因是用户空间以需求分页的方式运行,由文件系统存储支持。内核(包括模块,即使它们最初可能是从文件系统加载的)总是被映射 - 因此预取中止意味着某些东西已经出现了可怕的错误。