参考链接
异常向量表
每个异常级别都有专门的异常向量表,分别存储在下面的寄存器中
- VBAR_EL3
- VBAR_EL2
- VBAR_EL1
初始化的时候,将向量表的基地址写入到VBAR_ELx寄存器中即可
中断路由规则
参考文章一
中断的路由规则,决定了中断发生时,哪个异常级别处理该中断
SCR_EL3寄存器
该寄存器用于设置secure相关的属性
- NS[0]:设置EL0 - EL2的secure状态,若其为0表示secure状态,为1表示non secure状态
基础常识
- 由于armv8架构规定,arm核复位后默认会进入当前系统支持的最高异常等级,因此BL1运行在EL3,它执行完成后会通过异常返回ERET的方式跳转到BL2
- SCR只有SCR_EL3寄存器,只能在EL3级别操作
- 当fiq或irq位被设置为0时,其对应的中断将被路由到当前异常等级,反之中断将被路由到el3