PCIe設備的配置空間
關於PCI設備的配置空間網上已經有很多資料了,如下圖就是PCI設備必須支持的64個字節的配置空間,範圍為0x00-0x3f。
很多PCI設備僅僅支持者64字節的配置空間。PCI和PCIe配置空間的區別如下文。
此外PCI/PCI-X和PCIe設備還擴展了0x40和0xFF這段配置空間,這段空間主要存放一些與MSI或者MSI-X 中斷機製相關的Capability結構。其中所有能夠提交中斷請求的PCIe設備,必須支持MSI或者MSI-X 中斷機製相關的Capability結構。
PCIe設備還支持0x100 -0xFFF這段擴展配置空間。PCIe設備的擴展配置空間最大為4KB,在PCIe總線的擴展配置空間中,存放PCIe所獨有的一些Capability結構,而PCI設備不能使用這段空間。
在x86處理器中,使用CONFIG_ADDRESS寄存器與CONFIG_DATA寄存器訪問0x00-0xFF,而使用ECAM方式訪問0x000-0xFFF這段空間;而在PowerPC處理器中,可以使用CFG_DATA和CFG_ADDR寄存器訪問0x000-0xFFF。
PCI-x和PCIe總線規範要求其設備必須支持Capabilities結構。在PCI基本配置空間中有一個Capabilities Pointer寄存器,存放指向Capabilities結構鏈表的頭指針。一個PCIe設備可以包含多個Capability結構,包括電源管理、與PCIe總線相關的結構、與中斷請求相關的結構、PCIe Capability結構和PCIe 擴展Capability結構
最後更新:2017-04-03 16:48:40