MSI中断总结
- MSI简介
在PCIe总线中,MSI和MSI-X中断机制使用存储器写请求TLP向处理器提交中断请求。
PCIe设备在提交MSI中断请求时,都是向MSI/MSI-X Capability结构中的Message Address的地址写Message Data数据,从而组成一个存储器写TLP,向处理器提交中断请求。 - MSI Capability结构
MSI Capability结构共有四种组成方式,分别是32和64位的Message结构,32位和64位带中断Masking的结构。MSI报文可以使用32位地址或者64位地址,而且可以使用Masking机制使能或者禁止某个中断源。MSI Capability寄存器的结构如图:
Capability ID字段记载MSI Capability结构的ID号,其值为0x05。在PCIe设备中,每一个Capability结构都有唯一的ID号。
Next Pointer字段存放下一个Capability结构的地址。
Message Control字段。该字段存放当前PCIe设备使用MSI机制进行中断请求的状态与控制信息,如下表所示。
MSI Cabalibities结构的Message Control字段如下表
Message Address字段。当MSI Enable位有效时,该字段存放MSI存储器写事务的目的地址的低32位。该字段的31:2字段有效,系统软件可以对该字段进行读写操作;该字段的第1~0位为0。
Message Upper Address字段。如果64 bit Address Capa