仅对英特尔可见 — GUID: nik1410564944281
Ixiasoft
3.1. Avalon-ST RX接口
3.2. Avalon-ST TX接口
3.3. TX信用接口(TX Credit Interface)
3.4. TX和RX串行数据
3.5. 时钟
3.6. 功能级复位接口(Function-Level Reset (FLR) Interface)
3.7. SR-IOV的控制阴影接口(Control Shadow Interface for SR-IOV)
3.8. 配置扩展总线接口(Configuration Extension Bus Interface)
3.9. Hard IP重配置接口
3.10. 中断接口
3.11. 电源管理接口(Power Management Interface)
3.12. 复位(Reset)
3.13. 传输层配置接口
3.14. PLL重配置接口
3.15. PIPE接口(仅适用于仿真)
6.1.1. Avalon-ST RX和TX接口的TLP Header和Data对齐
6.1.2. Avalon-ST 256-Bit RX接口
6.1.3. Avalon-ST 512-Bit RX接口
6.1.4. Avalon-ST 256-Bit TX接口
6.1.5. Avalon-ST 512-Bit TX接口
6.1.6. TX信用接口(TX Credit Interface)
6.1.7. 解释TX信用接口(Interpreting the TX Credit Interface)
6.1.8. 时钟
6.1.9. 更新流程控制计时器和信用释放(Update Flow Control Timer and Credit Release)
6.1.10. 复位(Resets)
6.1.11. 功能级复位接口(Function-Level Reset (FLR) Interface)
6.1.12. 中断
6.1.13. SR-IOV的控制阴影接口(Control Shadow Interface for SR-IOV)
6.1.14. 传输层配置空间接口(Transaction Layer Configuration Space Interface)
6.1.15. 配置扩展总线接口(Configuration Extension Bus Interface)
6.1.16. 硬核IP状态接口(Hard IP Status Interface)
6.1.17. 串行数据接口
6.1.18. PIPE接口
6.1.19. Hard IP重配置
6.1.20. 功耗管理接口(Power Management Interface)
6.1.21. 测试接口
6.1.22. PLL IP重配置
6.1.23. 消息处理(Message Handling)
8.1.1. 寄存器访问定义
8.1.2. PCI配置头(header)寄存器
8.1.3. PCI Express性能结构
8.1.4. Intel定义的VSEC Capability头
8.1.5. 通用控制和状态寄存器(General Purpose Control and Status Register)
8.1.6. 不可纠正的内部错误状态寄存器
8.1.7. 不可纠正的内部错误掩码寄存器
8.1.8. 可纠正的内部错误状态寄存器
8.1.9. 可纠正的内部错误掩码寄存器
8.1.10. SR-IOV虚拟化扩展功能寄存器地址映射(SR-IOV Virtualization Extended Capabilities Registers Address Map)
8.1.10.1. ARI Enhanced Capability Header
8.1.10.2. SR-IOV增强性能寄存器(SR-IOV Enhanced Capability Registers)
8.1.10.3. 初始VF和总共VF寄存器(Initial VFs and Total VFs Registers)
8.1.10.4. VF Device ID Register
8.1.10.5. Page Size Registers
8.1.10.6. VF基地址寄存器(BARs) 0-5 (VF Base Address Registers (BARs) 0-5)
8.1.10.7. Secondary PCI Express Extended Capability Header
8.1.10.8. 通道状态寄存器(Lane Status Registers)
8.1.10.9. Transaction Processing Hints (TPH) Requester Enhanced Capability Header
8.1.10.10. TPH Requester Capability Register
8.1.10.11. TPH Requester Control Register
8.1.10.12. Address Translation Services ATS Enhanced Capability Header
8.1.10.13. ATS Capability Register and ATS Control Register
9.4.1. ebfm_barwr处理过程
9.4.2. ebfm_barwr_imm过程(ebfm_barwr_imm Procedure)
9.4.3. ebfm_barrd_wait处理过程
9.4.4. ebfm_barrd_nowt处理过程
9.4.5. ebfm_cfgwr_imm_wait过程(ebfm_cfgwr_imm_wait Procedure)
9.4.6. ebfm_cfgwr_imm_nowt处理过程
9.4.7. ebfm_cfgrd_wait处理过程
9.4.8. ebfm_cfgrd_nowt处理过程
9.4.9. BFM配置过程
9.4.10. BFM共享存储器访问过程
9.4.11. BFM日志和消息过程
9.4.12. Verilog HDL格式化函数
仅对英特尔可见 — GUID: nik1410564944281
Ixiasoft
7.1.3. 实现MSI-X中断
PCI Local Bus Specification的Section 6.8.2描述了MSI-X性能和表结构。MSI-X性能结构指向MSI-X Table结构和MSI-X Pending Bit Array (PBA)寄存器。BIOS设置起始地址偏移和与指向MSI-X Table和PBA寄存器的起始地址的指针相关联的BAR。
MSI-X中断组件
- 主机软件按照以下步骤设置Application Layer中的MSI-X中断:
- 主机软件读取0x050寄存器上的Message Control寄存器以确定MSI-X Table大小。表入口(table entry)的数量是<value read> + 1 。
最大表格尺寸为2048个入口。每个16字节入口分为4个字段,如下图所示。对于多功能类型(variant),BAR4访问MSI-X表。对于所有其他类型(variant),任何BAR都可以访问MSI-X表。 MSI-X表的基地址必须与4 KB边界对齐。
- 主机设置MSI-X表。它为每个入口编程MSI-X地址,数据和掩码比特,如下图所示。
图 58. MSI-X表的格式
- 主机使用下面公式计算<n th >入口的地址:
nth_address = base address[BAR] + 16<n>
- 主机软件读取0x050寄存器上的Message Control寄存器以确定MSI-X Table大小。表入口(table entry)的数量是<value read> + 1 。
- 当Application Layer有一个中断,它会驱动一个中断请求到IRQ Source模块。
- IRQ Source设置MSI-X PBA表中的相应比特。
PBA可以使用qword或者dword访问。对于qword访问,IRQ Source使用下面的公式计算<m th >比特的地址:
qword address = <PBA base addr> + 8(floor(<m>/64)) qword bit = <m> mod 64
图 59. MSI-X PBA表 - IRQ Processor读取MSI-X表中的入口。
- 如果中断被MSI-X表的Vector_Control域屏蔽,那么中断保持在未决状态。
- 如果中断没有被屏蔽,那么IRQ Processor发送Memory Write Request到TX从接口。它使用MSI-X表中的地址和数据。如果 Message Upper Address = 0,那么IRQ Processor将创建一个three-dword header。如果 Message Upper Address > 0 ,那么它将创建一个4-dword header。
- 主机中断服务程序将TLP检测为中断并对其服务。