您好!
我目前正在使用(非安全) EVMK2L 板对 ARM TrustZone 进行实验、但在尝试设置 ARM GIC 以管理安全和非安全中断时遇到了一些问题。
我相信 TCI6630K2L 包含一个 ARM GIC-400中断控制器、该控制器(根据 ARM 文档)支持 GIC 安全扩展。
尽管如此、在试验 GIC 设置时、我看不到任何 GIC 安全扩展行为。 例如、我可以在 非安全模式下读取和设置 GICD_IGROUPR0寄存器的内容、但 ARM GIC 架构规范规定、这应该是非安全模式下的 Raz/Wi。 此外、如果我从非安全模式更改 GIC 的设置、安全配置也会更改、因此似乎没有寄存器存储。
我唯一能解释这一点的是 SPRUHJ4第2.4.1节(Keystone II 架构 ARM CorePac 用户指南)中的注释、 其中说明:
"原始 ARM GIC 安全扩展支持安全中断(组0)和非安全中断(组1)、但在 AINTC 中、所有与 GIC 的事务都被视为安全事务、因此用户必须遵循安全模式程序、而不考虑 ARM A15内核模式。"
我不太确定这意味着什么? 这会解释我看到的行为吗?