在armv7处理器列表中定义了不同的特權级别分别是PL0, PL1 PL2。而每种特权级别依赖处理器模式Processor modes
在armv7处理器列表中定义了九种不同的处理器模式
User:就是所谓的用户模式所处的级别朂低,不能访问系统的所有资源特权级别属于PL0
FIQ:Fast IRQ,快速中断模式特权级别属于PL1
IRQ:中断模式,特权级别属于PL1
Undefined:未定义指令异常模式特權级别属于PL1
System:系统级别模式,可以访问系统的所有资源特权级别属于PL1
通过如下的图再来确认下,特权级别和处理器模式的关系
- User模式特權级别最低,属于PL0
- SVC模式是进入Reset模式或者调用SVC指令而SVC指令在armv7处理器列表就是所谓的系统调用指令,比如当调用open函数时会触发系统调用,朂终会通过SVC指令陷入内核的
- System模式一般是操作系统运作的模式
再看一张更清晰的能表明处理器模式和特权级别关系的图
从这张图上可以清晰的看清楚各个特权级别,以及处理器模式所处在特权级别的位置