GIC spec之介绍1

        本章对GIC架构提供介绍。它对GIC架构作简要介绍,以及新引入到架构的特性。它也提供本文档中使用的术语进行定义。它包含以下部分:

(1)关于GIC

(2)术语

(3)支持的配置和兼容性

1 关于GIC

        设计GICv3架构是用于与Arm8-A和Arm8-R的处理部分PE一起运行工作。

GIC架构定义:

(1)用于处理连接到GIC上的PE的所有中断源的架构需要;

(2)为单处理器或多处理器系统提供一个通用中断控制器编程接口;

GIC是支持和控制中断的架构资源。它提供:

(1)管理中断源,中断行为,中断路由到一个或多个PE的寄存器;

(2)支持:

- Armv8架构

- LPI中断

- PPI中断

- SGI中断

- 中断屏蔽和中断优先级

- 单处理器和多处理器系统

- 在电源管理环境下wakeup事件

         对于每个PE,GIC架构描述IRQ和FIQ中断是如何在系统中产生的。Armv8-A异常模型描述了PE是如何处理这些IRQ和FIQ中断。

        中断处理也依赖于Armv8架构的其他方面,比如安全状态和虚拟化的支持。Arm架构提供两个安全状态,每个存在相关的物理内存地址空间:

(1)安全状态

(2)非安全状态

        GIC架构支持两个安全状态的中断路由和中断处理。可以看章节Interrupt Grouping and security获得更多信息。

        GIC架构支持Armv8架构处理与虚拟机相关的虚拟中断。一个虚拟系统存在:

(1)一个hypervisor必须包含执行在EL2的部件,它负责在不同虚拟机VM之间进行切换;

(2)多个执行在EL1的虚拟机VM;

(3)在VM中应用执行在EL0;

        可以查看Arm Architecture Reference Manual获得更多Armv8架构。为获取更多虚拟机VM,可以看GIC support for virtualization。

        本文档定义了GIC架构的V3.0,V3.1,V3.2,V4.0,V4.1。GICv2仅作为GICv3的传统操作被描述。

        NOTE:因为GICv4为GICv3.0和GICv3.1的扩展,如果没有明确指明,在本文档中GICv3的相关操作也能应用于GICv4。对于GICv4的任何架构修改都会被指明。

猜你喜欢

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