编辑
2025-03-29
工作知识
0

目录

GICv3中断简介
中断类型
中断号分配
ITS
MSI

GICv3中断简介

GICv3中断是GICv2的改进,本文主要基于GICv2,简单讨论GICv3的改进内容

中断类型

我们知道GICv2默认支持如下中断类型:

  • SPI(Software Generated Interrupt) 软件生成中断,其目的是对多核之间发送的软件中断信号
  • PPI(Private Peripheral Interrupt) 私有外设中断,此中断是某个CPU核心独有的中断,如定时器
  • SPI(Shared Peripheral Interrupt) 共享外设中断,所有外设中断,可以被所有CPU响应

在GICv3中,新增了一个中断类型

  • LPI(Locality-specific Peripheral Interrupt)本地特殊外设中断,Message-Based的中断类型

中断号分配

GICv2的中断类型,如下

中断类型中断号
SGI0-15
PPI16-31
SPI32-1019
Reserved1020-1023

而GICv3的中断号相比于GICv2增加了LPI和一些扩展,如下

中断类型中断号
SGI0-15
PPI16-31
SPI32-1019
Reserved1020-8191
LPI8192-Implementation defined

ITS

为了支持Message-Based的中断LPI,GICv3的中断控制器引入了ITS组件,ITS的作用是将Device_id的Event_ID转换成INTID(LPI硬件中断号),然后通过查表转换成对应的Redistributor,最后转发给CPU上。

MSI

PCIe总线协议支持消息中断MSI,这个实现是通过GICv3的ITS实现的