1.1.1 PF MSI-X Capability RegisterDetails
MSI-XCapability作为是一种可选的capability,与MSIcapability一样都是中断控制的capability,但是MSI-X要比MSI复杂,对于某个具体的PCIe设备,仅支持一种报文,虽然两种capability可以存在同一个链表中,但是两者仅有一个可以使能。MSI-XCapability中断机制与MSI Capability的中断机制类似。PCIe总线引出MSI-X机制的主要目的是为了扩展PCIe设备使用中断向量的个数,同时解决MSI中断机制要求使用中断向量号连续所带来的问题。MSI中断机制最多只能使用32个中断向量,而MSI-X可以使用更多的中断向量。
Byte Offset |
Byte 3 |
Byte 2 |
Byte 1 |
Byte 0 |
|
MSI-X Control Register |
Next Capability Pointer |
Capability ID (0x11) |
|
+0x4 |
MSI-X Table Offset (31:3) and BIR (2:0) |
|||
+0x8 |
MSI-X PBA Offset (31:3) and BIR (2:0) |
一下内容来自王齐老师的博客:
MSI-X Capability中断机制与MSI Capability的中断机制类似。PCIe总线引出MSI-X机制的主要目的是为了扩展PCIe设备使用中断向量的个数,同时解决MSI中断机制要求使用中断向量号连续所带来的问题。
MSI中断机制最多只能使用32个中断向量,而MSI-X可以使用更多的中断向量。目前Intel的许多PCIe设备支持MSI-X中断机制。与MSI中断机制相比,MSI-X机制更为合理。首先MSI-X可以支持更多的中断请求,但是这并不是引入MSI-X中断机制最重要的原因。因为对于多数PCIe设备,32种中断请求已经足够了。而引入MSI-X中断机制的主要原因是,使用该机制不需要中断控制器分配给该设备的中断向