棋子 · 2020年01月14日

[ARM GICv3-GIC流协议]正在从CPU接口检索中断!

我正在研究GIC Stream协议,并且标题令人困惑。

下图显示了从CPU接口检索中断的情况。

如GIC流规范中所述,可能有两个原因:

  1. GICD_CTLR中的相关组启用已通过软件清除(我可以理解)。

2.将未决中断配置为使用N的1模型,并且IRI选择其他目标PE。

由于第二个原因,因为仅将中断(SPI)发送到目标PE,而不是将其广播到共享该中断的所有PE,

只有连接到PE的再分配器应将Set x Command发送到CPU接口。因此,根据我的理解,这个原因似乎是不合理的。

任何人都可以使这个解释清楚吗?

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2020年01月14日

如果将SPI配置为N的1-,当中断待处理时,GIC将选择可用内核之一,并将中断转发到该内核。GIC选择目标的方式取决于实现,并且每次中断待处理时都可能改变。

现在,假设我们选择了内核X,并将中断转发到该内核。核心X可能不处理中断。它可能很忙,可能设置了PSTATE掩码位,等等...看到中断没有被激活,GIC可以决定从内核X检索中断,然后将其发送到内核Y。

你的回答