特权级别与优先级之间的差异异常级别

时间:2016-03-10 14:42:51

标签: arm

ARM体系结构提供3个权限级别PL0到PL2。 在浏览其他文档时,我发现了异常级别EL0到EL3。

特权级别和优先级之间有什么区别?例外情况。

或两者都相同。

2 个答案:

答案 0 :(得分:4)

历史上,与权限相反的是用户,而用户始终对应于EL0。这是与EL0对应的级别。在第一个ARM内核中,只定义了EL0和EL1的等价物。差别主要在于EL0无法访问保留给EL1的系统寄存器(例外,编程MMU等)。

现在,最近的核心定义了2个具有更多特权的附加级别,即可用的系统寄存器越来越多:

  • EL2对应于Hypervisor,它可以定义虚拟机。虚拟机通常在EL1中运行,通常是OS(Linux,Windows等)
  • EL3是上面的级别,称为监控模式。此额外级别用于运行安全应用程序(Trustzone)。

总而言之,EL3可以访问所有寄存器并完全控制CPU,而EL0则控制较少,并运行应用程序。

答案 1 :(得分:0)

在ARMv8程序员指南中有以下内容。

"在ARMv8中,执行发生在四个异常级别之一。在AArch64中,异常级别以与ARMv7中定义的权限级别类似的方式确定权限级别。 异常级别确定权限级别,因此ELn处的执行对应于权限PLn。同样,n值大于另一个的异常级别的异常级别更高。"