概述
当一个板卡出入到一个PCI、PCI-X或者PCI-E总线的时候,通过自动向配置空间读出和写入来完成总线的配置。在altera wiki上看到一篇关于pcie配置空间的文章,由于自己对于pcie是新手,想办法把自己的理解尽量写出来,有错误之处在所难免。
表头和性能寄存器集(Header & Capability Register Sets)
When a capability register set is enabled it is tied together by a linked list starting with an 8-bit pointer at address 34h in the configuration space header.
。
实例演示寄存器配置空间
1、首先查看地址34h,从这个地址空间中得到一个8-bit目标数据,即下一个capability寄存器设置,如图1所示,该目标数据为50h。
图1:
2、根据图1所示,我们跳到地址50h,如图2所示,从该地址查到一个capability ID为05h(即MSI Capability Structure)。接着我们察看下一个capability指针,即51h,我看到该地址存放的数据是78h,那么我们跳到该指针处。
图2
3、我们跳到指针78h处,如图3所示,在该指针处,我们得到一个Capability ID为01h(即Power Management Capability Structure)。接着我们在79h处察看下一个capability指针,并找到其地址为80h,跳到80h处。
图3
4、我们跳到80h处,如图4所示,在该地址处我们得到一个Capability ID值为10h(即PCI Express Capability Structure)。我们看到地址81h处的指针值为00h,表示已经到了连接表的末尾了。
图4
参考
用户1857211 2015-10-8 16:42
用户377235 2015-10-8 16:23