TrustZone之中断及中断处理

2023-12-15 19:43:43

一、中断

        接下来,我们将查看系统中的中断,如下图所示:

        通用中断控制器(GIC)支持TrustZone。每个中断源,在GIC规范中称为INTID,分配到以下三个组之一:

? Group0:安全中断,以FIQ方式发出信号

? 安全Group1:安全中断,以IRQ或FIQ方式发出信号

? 非安全Group1:非安全中断,以IRQ或FIQ方式发出信号

        这由软件写入GIC[D|R]_IGROUPR<n>和GIC[D|R]_IGRPMODR<n>寄存器来控制,而这只能在安全状态下完成。分配不是静态的,软件可以在运行时更新分配。

        对于配置为安全的INTID,只有总线安全访问才能修改状态和配置。与安全中断对应的寄存器字段在非安全总线访问中读取为0。

        对于配置为非安全的INTID,安全和非安全总线访问都可以修改状态和配置。

        为什么有两个安全组?通常,Group0用于由EL3固件处理的中断。这些与低级系统管理功能有关。安全Group1用于所有其他安全中断源,通常由S.EL1或S.EL2软件处理。

二、中断处理

        处理器有两种中断,即IRQ和FIQ。当中断变为挂起状态时,GIC根据中断的组和处理器当前

文章来源:https://blog.csdn.net/yuxiaochen99/article/details/135023111
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。