文章目录
-
- PCI 设备中断机制
- PCIe 设备中断机制
- PCIe MSI 中断机制
-
- MSI Capability
- MSI-X 中断机制
-
- MSI-X capability
- MSI-X Table
- PBA
- MSI-X capability 解析
- MSI/MSI-X 操作流程
-
- 扫描设备
- 配置设备
-
- MSI 配置
- MSI-X 配置
- 中断触发与处理
PCI 设备中断机制
以前的PCI 设备是支持 物理上的 INTA/B/C/D 中断信号,设备可以可以表明自己通过哪个引脚来发出中断。
通过配置空间的 Interrupt Pin 来表明设备使用哪个中断引脚。
Interurpt Pin 的取值如下:
- 0 不属于中断
- 1 通过INTA#发出中断
- 2 通过INTB#发出中断
- 3 通过INTC#发出中断
- 4 通过INTD#发出中断
- 5~0xff 保留
Interrupt Line: 给软件使用的, PCI设备本身不使用该寄存器。软件可以写入中断相关的信息, 比如在Linux系统中, 可以把分配的 virq(虚拟中断号)写入此寄存器。软件完全可以自己记录中断信息,没必要依赖这个寄存器。
INTx 中断是电平触发,处理过程如下