GIC spec之介绍4

2.3 处理中断的模型

        在多处理器实现中,存在下列模型来处理中断:

Targeted distribution model:该模型可以应用于所有PPI和LPI。它也可以应用于:

(1)如果GICD_IROUTER<n>.Interrupt_Routing_Mode==0,在非传统操作的SPI;

(2)在传统操作时,当GICD_CTLR.ARE_*==0时,如果仅GICD_ITARGETSR<n>域的一个为为1;

        目标PE由软件接受到中断被指定。

Target list model: 该模式仅用于SGI。多个PE独立的接受中断。当一个PE ack一个中断,中断的pending状态仅对该PE被清除。中断仍每个PE独立的pending直到被PE ack。

1:N model: 该模式仅用于SPI。中断目标为一组特定的PE,但只在一个PE上处理。中断选择的PE是由实现定义的。架构存在哪个PE被选择的限制。

注意:(1)Arm GIC架构保证1:N中断在目标PE组的其中一个PE;

(2)1:N中断可以没最高优先级的中断上,或被ICC_PMR_EL1屏蔽的中断。

        对于传统操作的SPI,这个模型应用于目标寄存器指定一个目标PE。

        如果超过一个PE可以处理中断,硬件实现机制来决定哪个PE激活这个中断。

​​​​​​​2.4 其它术语

        还有下列其它的术语在本文档中被使用:

Idle priority: 在GICv3中,当在当前接口上没有中断时0xff为CPU接口上读取ICC_RPR_EL1获取的运行优先级。在传统操作时,idle priority从GICC_RPR中读取,在GICv2中由实现定义的。

Interrupt Identifier(INTID):INTID为相关事件和中断源的唯一中断号。中断被路由到一个或多个PE上处理。PPI和SGI中断号对每个PE为本地的。SPI和LPI对于物理domain为全局中断号。看INTID获取更多信息。

Interrupt Routing Infrastructure(IRI):Distributor,Redistribution,选择性的一个或多个ITS。

Message-based Interrupt: 基于信息的中断为因为内存写访问一个分配的地址而产生的中断。物理中断可以被转化为基于信息的中断。基于信息的中断可以支持电平中断或边沿中断,虽然LPI中断通常为边沿触发中断。

        GICv3对基于信息的中断支持两种机制:

(1)用于与SPI通信的机制,当分配的地址在Distributor时。在这种情况下基于信息的中断可以为电平中断或边沿触发中断;

(2)用于与LPI通信的机制,当分配的地址在ITS中,如果ITS实现,或在Redistributor。

        Arm建议LPI的使用来提供支持PCIE系统中MSI和MSI-X能力的支持。可以看章节5 Locality-specific Peripheral Interrupts and ITS获取更多信息。GICv3也包含使用基于信息的中断发起SPI中断,可以看Shared Peripheral Interrupt。

Physical Interrupt: 目标为物理PE的中断为一个物理中断。它通过物理CPU接口发送到PE。

Running Priority: 在任何时候,一个CPU接口的运行优先级可以为:

(1)active中断的group优先级,在这种接口上不会出现优先级下降;

(2)如果没有active中断(在这个接口上优先级不会下降),运行优先级为空优先级0xff;

Sufficient Priority: GIC CPU接口会比较使能的pending中断的下列情况,来决定是否中断存在足够的优先级:

(1)优先级屏蔽寄存器,ICC_PMR_EL1;

(2)接口的抢占设置,由ICC_BPR0_EL1和ICC_BPR1_EL1指定;

(3)当前运行优先级,由CPU接口的ICC_PRP_EL1指定;

        如果中断有足够优先级,它被发送到连接的PE上。

Virtual Interrupt: 目标为一个VM的中断为虚拟中断。它是由相关的虚拟化CPU接口发起的。看章节6 Virtual Interrupt Handling and Prioritization获取更多信息。

Maintenance Interrupt: 它为一个物理中断,将VM上与中断处理相关的重要事件发出,并允许hypervisor跟踪这些事件。这些事件由hypervisor处理,且包含使能和禁用中断的一些特定group。

猜你喜欢

转载自blog.csdn.net/flyingnosky/article/details/124002438
GIC