打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PCIE MSI特性
较早的 PCI 设备在 Configuration Space 中的 Capabilities List 本就是空的,他们认为
Configuration Header Space 中的描述已经可以满足需求了。后来的 PCI / PCIE 设备才支持 MSI 
中断,你要判断一个 MSI 类型中断需要检查几点,一是的 Status 寄存器,其中的 BIT4 为
1 时才表明支持 Capabilities List,这时再从 Configuration Space 偏移 0x34 的 Capabilities
Pointer 中取得 Capabilities List,而这个 Capabilities List 对于 PCI 设备来说是可选的,
这也就是为什么你测试有些 PCI 卡的 Capabilities Pointer 有效而有些无效了,但支持
Capabilities List 并不表示就支持 MSI 中断,第二点你需要知道这时你得到的仅是
Capabilities List 的根节点的指针,由它指向第一个 Capability Structure。而 Capabilities
List 则是由多种 Capability Structure 组成的,如:POWER MGR,AGP,PCI-X/PCIE 当然也包括
了 MSI/MSI-X。虽说每个 Capability Structure 不一样,但其头部的两个字段 Capability ID
与 Next Capability Pointer 是每个 Capability 都有的,Capability ID 具有唯一性,代表
当前结构的类型(Capability ID = 5 表示为 MSI Structer),Next Capability Pointer 则
表示指向下一个 Capability。也就是说当你拿到 Capabilities List 时需要遍历全部的 Capabilities
List,其中 Capability ID = 5 的才是 MSI Structure,即表示当前设备支持 MSI 中断,而不是像
你那样直接从 Configuration Header Space 取 Capabilities Pointer 在并从当中第一个
Capability Structure 判断。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【博文连载】PCIe扫盲——PCIe配置空间寄存器快速定位表
6.1 MSI/MSI
installShield
Linux之PCIE三种空间解析
USB配置初始化和激活
计算机-数据结构基本英语
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服