mbox series

[RFC,v2,0/2] PCIe DOE for PCIe and CXL 2.0 v2 release

Message ID 1612900760-7361-1-git-send-email-cbrowy@avery-design.com (mailing list archive)
Headers show
Series PCIe DOE for PCIe and CXL 2.0 v2 release | expand

Message

Chris Browy Feb. 9, 2021, 7:59 p.m. UTC
Version 2 patch series for PCIe DOE for PCIe and CXL 2.0

Summary is 

1: PCIe DOE support for Discovery and CMA.
   - MSI-X and polling supported
2: CXL DOE for CDAT and Compliance Mode.
   - DOE CDAT response returns one CDAT Structure instance based on
     request EntryHandle value.
   - One of each CDAT Structure types supported

Based on QEMU version:
https://gitlab.com/bwidawsk/qemu/-/tree/cxl-2.0v3

References:
1. CXL 2.0 specification
https://www.computeexpresslink.org/download-the-specification
2. PCI-SIG ECN: Data Object Exchange (DOE)
http://www.pcisig.com
3. Coherent Device Attribute Table	CDAT 1.02
https://uefi.org/sites/default/files/resources/Coherent%20Device%20Attribute%20Table_1.02.pdf

---

Chris Browy (2):
  Basic PCIe DOE support
  Basic CXL DOE for CDAT and Compliance Mode

 MAINTAINERS                               |   7 +
 hw/cxl/cxl-component-utils.c              | 132 ++++++++++
 hw/mem/cxl_type3.c                        | 172 +++++++++++++
 hw/pci/meson.build                        |   1 +
 hw/pci/pcie.c                             |   2 +-
 hw/pci/pcie_doe.c                         | 414 ++++++++++++++++++++++++++++++
 include/hw/cxl/cxl_cdat.h                 | 120 +++++++++
 include/hw/cxl/cxl_compl.h                | 289 +++++++++++++++++++++
 include/hw/cxl/cxl_component.h            | 126 +++++++++
 include/hw/cxl/cxl_device.h               |   3 +
 include/hw/cxl/cxl_pci.h                  |   4 +
 include/hw/pci/pci_ids.h                  |   2 +
 include/hw/pci/pcie.h                     |   1 +
 include/hw/pci/pcie_doe.h                 | 166 ++++++++++++
 include/hw/pci/pcie_regs.h                |   4 +
 include/standard-headers/linux/pci_regs.h |   3 +-
 16 files changed, 1444 insertions(+), 2 deletions(-)
 create mode 100644 hw/pci/pcie_doe.c
 create mode 100644 include/hw/cxl/cxl_cdat.h
 create mode 100644 include/hw/cxl/cxl_compl.h
 create mode 100644 include/hw/pci/pcie_doe.h