ARMv7 Processor modes

在ARMv7中定义了不同的特权级别。分别是PL0, PL1, PL2。而每种特权级别依赖处理器模式Processor modes

在ARMv7中定义了九种不同的处理器模式

User:就是所谓的用户模式,所处的级别最低,不能访问系统的所有资源。特权级别属于PL0

FIQ:Fast IRQ,快速中断模式,特权级别属于PL1

IRQ:中断模式,特权级别属于PL1

Supervisor:SVC模式或者进入reset模式,特权级别属于PL1

Monitor:Secture Monitor模式,只有在Secure world存在,特权级别属于PL1

Abort:Data Abort或者指令Abort模式,属于一种异常模式,特权级别属于PL1

Hyp:虚拟化模式,只存在于normal world。特权级别属于PL2

扫描二维码关注公众号,回复: 10691499 查看本文章

Undefined:未定义指令异常模式,特权级别属于PL1

System:系统级别模式,可以访问系统的所有资源,特权级别属于PL1

通过如下的图再来确认下,特权级别和处理器模式的关系。

  • User模式特权级别最低,属于PL0
  • SVC模式是进入Reset模式或者调用SVC指令,而SVC指令在ARMv7就是所谓的系统调用指令,比如当调用open函数时,会触发系统调用,最终会通过SVC指令陷入内核的
  • Monitor模式,只有在Secure world才可以使用,monitor是用来切换normal world和secure world
  • System模式,一般是操作系统运作的模式
  • Hyp模式,运行在PL2,而且只有normal world才存在

再看一张更清晰的能表明处理器模式和特权级别关系的图

从这张图上可以清晰的看清楚各个特权级别,以及处理器模式所处在特权级别的位置。

发布了187 篇原创文章 · 获赞 108 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/longwang155069/article/details/105146014