目录
1 配置空间
1.1 PCI Power Management Capability Structure
1.2 PCI Express Capability Structure
2 扩展配置空间
2.1 PCIe DVSEC for CXL Device
2.2 GPF DVSEC for CXL Devices
2.3 PCIe DVSEC for Flex Bus Port
2.4 Register Locator DVSEC
CXL设备配置空间一共4KB(0x000~0xFFF),由配置空间(0x000~0x0FF)和扩展配置空间(0x100~0xFFF)组成。
- 配置空间,通常由Header和若干个Capability组成;
- 扩展配置空间,通常由若干个扩展Capability组成。
1 配置空间
由于Device,属于EndPoint,因此Header类型为Type0,Header长度固定为64B。
Type0 Header结构,Offset:0x00~0x3F,如下所示:
EndPoint的配置空间中必须具备的Capability,Offset:0x40~0xFF,如下所示:
- PCI Power Management Capability Structure
- PCI Express Capability Structure
1.1 PCI Power Management Capability Structure
PCI Power Management Capability寄存器对于PCI总线来说是可选的,但是对于PCIe总线来说则是强制的。
此Capability占用8B,如下所示:
1.2 PCI Express Capability Structure
PCI Express Capability Structure占用60B,如下所示:
但是以上这些寄存器, 仅有红框标注的寄存器才是每个设备必须具备的,它们主要包括:Device Capabilities、Device Status、Device Control等。
对于Devices with Links,还需要具备Link系列寄存器,这些寄存器,对于每个Device来说并不是必须的,属于可选。
2 扩展配置空间
扩展配置空间中的Extended Capabilities总是从偏移量0x100开始,并且带有一个 PCI Express Extended Capability header。如果没有任何Extended Capabilities,则其Next Capability为0。
PCI Express Extended Capability header,占用4B,如下所示:
PCIe中有一类Extended Capability,叫做Designated Vendor-Specific Extended Capability (DVSEC Capability),CXL协议中CXL 2.0 Device必须实现的DVSEC Capability有:
- PCIe DVSEC for CXL Device
- GPF DVSEC for CXL Devices
- PCIe DVSEC for Flex Bus Port
- Register Locator DVSEC
2.1 PCIe DVSEC for CXL Device
123
2.2 GPF DVSEC for CXL Devices
123
2.3 PCIe DVSEC for Flex Bus Port
123
2.4 Register Locator DVSEC
123