CCIX devices are discovered and managed as PCIe devices. Components and their capabilities are discovered through a Designated Vendor-Specific Extended Capability (DVSEC) region in the PCIe configuration space. The CCIX DVSEC defines capabilities and also provides fields for control and status. A CCIX device is required to support the following DVSEC regions:
- Transport DVSEC which contains the control and status registers for CCIX Physical, Data Link and Transport layers
- Protocol DVSEC which contains control and status registers for CCIX protocol layer
These DVSEC regions are implemented in PCIE_DVSEC_0 and PCIE_DVSEC_1 regions for each PCIe port. A DVSEC firmware library is responsible for populating the appropriate protocol DVSEC capability, control and status registers in this region based on user configuration selection. At runtime when host CCIX discovery software programs the control fields in protocol DVSEC region, the firmware programs the corresponding registers in various blocks such as CMN-600, L2 cache, address remap etc. Likewise, in case of errors, firmware updates appropriate status bits in DVSEC region and is also responsible for triggering a Protocol Error Reporting (PER) message via interface provided by PCIe controller. For more details on DVSEC region and PER message generation, see CCIX Capable PCIe Controller.