TEE OS中断篇(一):系统的中断处理

前面我学习了线程方面的东西,这个假期,空闲了来看看《手机安全和可信应用开发指南》这本书的中断篇。

中断处理

一个完整的系统都会存在中断,ARMv7架构扩展出了Monitor模式而ARMv8使用EL的方式对ARM异常运行模式进行了重新定义,分为EL0~EL3。

在ARMv8架构系统中,OP-TEE运行于安全侧的EL1, bl31运行于EL3。系统运行过程中任何阶段都有可能会产生外部中断。本章将主要介绍FIQ事件和IRQ事件在OP-TEE、ARMv7架构中的Monitor模式、ARMv8架构中的EL3的处理过程。

(前面其实如果你读过这本书的前面,会知道我们对于通过SMC的方式去陷入到EL3的方式与处理流程以及有所认识,但是大多数时候都避开了中断的方式。这里好好关注一下中断的方式。其次在ARMv8的架构体系中,EL3是拉通的,而EL2到EL0是分为安全与非安的。当然EL3肯定是安全的。)

1 系统的中断处理

ARM核处于安全世界状态(SWS)和正常世界状态(NWS)都具有独立的VBAR寄存器和中断向量表。

VBAR(Vector Base Address Register)的寄存器有:

如果是aarch64:
VBAR_EL1
VBAR_EL2
VBAR_EL3

如果是aarch32
VBAR
HVBAR
MVBAR

(VBAR(Vector Base Address Register)就是寄存器基地址ÿ

你可能感兴趣的:(TEE-OS,单片机,linux,tee,ARM,嵌入式硬件)