如何在 aarch64 gicv3 中读取中断状态(活动,挂起,活动挂起,..)?

how to read interrupt status (active, pending, active-pending, ..) in aarch64 gicv3?

如何读取 aarch64 中特定 INTID 的中断状态? 我想知道 FIQ 中断(例如 INT 208)的状态(inactive/active/pending/active-pending)。

有“ARM® 通用中断控制器,体系结构规范”文档。

描述了GIC的寄存器结构,里面有你要找的信息

The GICD_ICACTIVERs provide a Clear-active bit for each interrupt that the GIC supports. Writing to a Clear-active bit Deactivates the corresponding interrupt. These registers are used when preserving and restoring GIC state.

[31:0] Clear-active bits For each bit:
Reads
0 The corresponding interrupt is not activea.
1 The corresponding interrupt is active. <--- here
Writes
0 Has no effect.
1 Deactivates the corresponding interrupt, if the interrupt is active. If the interrupt is already deactivated, the write has no effect. After a write of 1 to this bit, a subsequent read of the bit returns the value 0.