【PCIe 总线及设备入门学习专栏 4.5 -- PCIe 中断 MSI 与 MSI-X 机制介绍】

文章目录

    • 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 中断信号,设备可以可以表明自己通过哪个引脚来发出中断。
【PCIe 总线及设备入门学习专栏 4.5 -- PCIe 中断 MSI 与 MSI-X 机制介绍】_第1张图片

通过配置空间的 Interrupt Pin 来表明设备使用哪个中断引脚。
【PCIe 总线及设备入门学习专栏 4.5 -- PCIe 中断 MSI 与 MSI-X 机制介绍】_第2张图片
Interurpt Pin 的取值如下

  • 0 不属于中断
  • 1 通过INTA#发出中断
  • 2 通过INTB#发出中断
  • 3 通过INTC#发出中断
  • 4 通过INTD#发出中断
  • 5~0xff 保留

Interrupt Line: 给软件使用的, PCI设备本身不使用该寄存器。软件可以写入中断相关的信息, 比如在Linux系统中, 可以把分配的 virq(虚拟中断号)写入此寄存器。软件完全可以自己记录中断信息,没必要依赖这个寄存器。

INTx 中断是电平触发,处理过程如下

你可能感兴趣的:(#,【PCIe,Bus,专栏】,PCIe,msi,PCIe,MSI-X,PCIe,中断机制,MSI-X,中断机制,MSI,中断机制,PCI,中断)