根据 gic 设备树绑定的内核文档
"主GIC直接连接到CPU,通常具有PPI和SGI。
"次级 GIC 级联到向上中断控制器中,不会有PPI或SGI。
我在 GIC-400 中找不到术语主要/次要 GIC。任何人都可以描述差异或指出说明它的文档。
术语 Primary 和 Secondary 是 Linux 术语。 您将无法在 ARM 数据手册中找到它。 PPI 按 CPU 存储。 代码可以在任何 CPU 上执行,因此只能设置额外的中断。 我认为这是相当迂腐的,因为大多数系统只有一个控制器。
了解支持多少个中断。
GIC 最多仅支持 1020 个中断源。
这来自控制器上地址空间的分配。 只有解码空间可容纳1020个外部中断。 注意,定义CONFIG_GIC_NON_BANKED
和没有银行寄存器的弗兰肯-GIC注释... 在 SMP-ARM 中,GIC 将为所有内核提供服务,这是最正常的。 变量gic_nr
跟踪控制器的数量。 如果中断源超过 1020 个,则需要另一个控制器。
谁能描述一下区别?
主要将为 PPI 提供服务。 PPI 存在于第二个控制器上,但它们是冗余的。 第 2个(及更高)控制器仅用于外部中断。