问题描述
如何在aarch64中读取特定INTID的中断状态? 我想知道 FIQ 中断(例如 INT 208)的状态(inactive/active/pending/active-pending)。
解决方法
有“ARM® 通用中断控制器,架构规范”文档。
它描述了 GIC 的寄存器结构并包含您要查找的信息
GICD_ICACTIVERS 为每个中断提供一个清除活动位 GIC 支持。写入清除有效位 相应的中断。这些寄存器用于保存和 恢复 GIC 状态。
[31:0] 清除有效位 对于每个位:
Reads
0 对应的中断没有激活。
1 对应的中断有效。
写入
0 无效。
1 关闭相应的中断,如果
中断有效。如果中断已停用,则
写没有效果。向该位写入 1 后,后续读取
位返回值 0。