ARM体系结构提供3个权限级别PL0到PL2。 在浏览其他文档时,我发现了异常级别EL0到EL3。
特权级别和优先级之间有什么区别?例外情况。
或两者都相同。
答案 0 :(得分:4)
历史上,与权限相反的是用户,而用户始终对应于EL0。这是与EL0对应的级别。在第一个ARM内核中,只定义了EL0和EL1的等价物。差别主要在于EL0无法访问保留给EL1的系统寄存器(例外,编程MMU等)。
现在,最近的核心定义了2个具有更多特权的附加级别,即可用的系统寄存器越来越多:
总而言之,EL3可以访问所有寄存器并完全控制CPU,而EL0则控制较少,并运行应用程序。
答案 1 :(得分:0)
在ARMv8程序员指南中有以下内容。
"在ARMv8中,执行发生在四个异常级别之一。在AArch64中,异常级别以与ARMv7中定义的权限级别类似的方式确定权限级别。 异常级别确定权限级别,因此ELn处的执行对应于权限PLn。同样,n值大于另一个的异常级别的异常级别更高。"