特权级别与例外级别之间的区别

Pan*_*sra 3 arm

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

特权级别和例外级别之间有什么区别?

或两者相同。

Dri*_*512 6

从历史上看,特权的反面是用户,并且用户始终对应于EL0。这是对应于EL0的电平。在第一个ARM内核中,仅定义了EL0和EL1的等效项。区别主要在于EL0无法访问保留给EL1的系统寄存器(异常,对MMU进行编程等)。

现在,最近的内核定义了另外两个具有更高特权的级别,即,越来越多的系统寄存器可用:

  • EL2对应于Hypervisor,它可以定义虚拟机。虚拟机通常在EL1中运行,并且通常是OS(Linux,Windows等)。
  • EL3是高于该级别的级别,称为Monitor Mode。此额外级别用于运行安全应用程序(Trustzone)。

因此,总而言之,EL3可以访问所有寄存器并具有对CPU的完全控制权,而EL0则是拥有较少控制权并运行应用程序的那个寄存器。