ARM PL/EL分析

概念

EL: Exception Level(异常等级)
PL: Privilege Level(特权等级)
会把CPU不同的模式,会以EL/PL重新分类。

ARMV7前分类

ARM PL/EL分析_第1张图片

ARMv7-a扩展:

1. security扩展,为支持建立可信赖的执行环境(trust execution environment, TEE)而引入等扩展。
2. 虚拟化扩展.
  1. lpae
    引入了security扩展之后,PL0和PL1就分别有了对应的security和non-security版本。这么做其实也是考虑到无论是security还是non-security的环境下,可能都需要os+software的支持。此外,在security和non-security之间,还应该有一个bridge的地方,因此,引入了monitor mode。这个monitor mode显然应该处于security状态,因为这种模式下需要操纵一些security状态下才能够动的资源,并且显然应当处于特权模式,即位于PL1。引入security扩展的结构就是,PL0和PL1各自在security和non-security世界有一份对应的模式,外加上PL1中引入一个新的monitor模式,负责security和non-security切换的事宜。 示意图如下:
    ARM PL/EL分析_第2张图片## ARMV8

在纯64位环境下,这个EL相对于我们上图其实变化不是很大,主要是将PL0对应EL0,PL2对应EL2,除了security下monitor之外的PL1对应EL1,而将security下的monitor模式单独抽取出来,放到一个EL3上。至此,我们有了EL0到EL3,并且由于EL2是虚拟化引入到,所以只能存在于non-security世界,而EL3是由security引入到,故而只能存在于security世界。
ARM PL/EL分析_第3张图片

ps:整篇文章摘自:ARM体系的EL演化史,方便自己学习。

你可能感兴趣的:(ARM基础知识)