PCIE协议解析 synopsys IP MSI Capability 读书笔记(11)
Posted yijingjing17
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PCIE协议解析 synopsys IP MSI Capability 读书笔记(11)相关的知识,希望对你有一定的参考价值。
MSI Capability被所有需要产生中断的PCIe 设备所需要,其Capability的寄存器结构如下:
Byte Offset | Byte 3 | Byte 2 | Byte 1 | Byte 0 |
| Message Control Register | Next Capability Pointer | Capability ID (0x05) | |
+0x4 | MSI Lower 32-bit Address Register | |||
+0x8 | MSI Upper 32-bit Address Register | |||
+0xC | Reserved | MSI Data | ||
+0x10 | Mask Bits Register | |||
+0x14 | Pending Bits Register |
以下内容来自王齐老师的博客:
MSICapability结构共有四种组成方式,分别是32和64位的Message结构,32位和64位带中断Masking的结构。MSI报文可以使用32位地址或者64位地址,而且可以使用Masking机制使能或者禁止某个中断源。MSI Capability寄存器的结构如图6‑1所示。
· CapabilityID字段记载MSI Capability结构的ID号,其值为0x05。在PCIe设备中,每一个Capability结构都有唯一的ID号。
· NextPointer字段存放下一个Capability结构的地址。
· MessageControl字段。该字段存放当前PCIe设备使用MSI机制进行中断请求的状态与控制信息,如表6‑1所示。
· MessageAddress字段。当MSI Enable位有效时,该字段存放MSI存储器写事务的目的地址的低32位。该字段的31:2字段有效,系统软件可以对该字段进行读写操作;
该字段的第1~0位为0。
· MessageUpper Address字段。如果64 bit Address Capable位有效,该字段存放MSI存储器写事务的目的地址的高32位。
· MessageData字段,该字段可读写。当MSI Enable位有效时,该字段存放MSI报文使用的数据。该字段保存的数值与处理器系统相关,在PCIe设备进行初始化时,处理器 将初始化该字段,而且不同的处理器填写该字段的规则并不相同。如果Multiple Message Enable字段不为0b000时(即该设备支持多个中断请求时),PCIe设备可以通过改 变Message Data字段的低位数据发送不同的中断请求。
· MaskBits字段。PCIe总线规定当一个设备使用MSI中断机制时,最多可以使用32个中断向量,从而一个设备最多可以发送32种中断请求。Mask Bits字段由32位组成,其 中每一位对应一种中断请求。当相应位为1时表示对应的中断请求被屏蔽,为0时表示允许该中断请求。系统软件可读写该字段,系统初始化时该字段为全0,表示允许所有 中断请求。该字段和Pending Bits字段对于MSI中断机制是可选字段,但是PCIe总线规范强烈建议所有PCIe设备支持这两个字段。
· PendingBits 字段。该字段对于系统软件是只读位, PCIe 设备内部逻辑可以改变该字段的值。该字段由 32 位组成,并与 PCIe 设备使用的 MSI 中断一一对应。该字段需要 与 Mask Bits 字段联合使用。 当 Mask Bits 字段的相应位为 1 时,如果 PCIe 设备需要发送对应的中断请求时, Pending Bits 字段的对应位将被 PCIe 设备的内部逻辑置 1 ,此时 PCIe 设备并不会使用 MSI 报文 向中断控制器提交中断请求;当系统软件将 Mask Bits 字段的相应位从 1 改写为 0 时, PCIe 设备将发送 MSI 报文向处理器提交中断请求,同时将 Pending Bit 字段的对应位清 零。在设备驱动程序的开发中,有时需要联合使用 Mask Bits 和 Pending Bits 字段防止处理器丢弃中断请求 [2] 。以上是关于PCIE协议解析 synopsys IP MSI Capability 读书笔记(11)的主要内容,如果未能解决你的问题,请参考以下文章
PCIE协议解析 synopsys IP 基本配置空间总结 读书笔记(14)
PCIE协议解析 synopsys IP loopback 读书笔记
PCIE协议解析 synopsys IP PCI Express Capability 读书笔记(13)
PCIE协议解析 synopsys IP Register配置空间 读书笔记