Whilst I know others are working on an implementation of at least some of
this, a desire to work on the kernel user of this required an
implementation so I threw this together in the meantime and am sending
it out on the basis that it may be of use to others.

As it is an RFC I have been lazy on some cleanup and error handling.
Will fix that in a future version if we decide to take this forwards.

Based on Ben's cxl-2.0v3 branch from https://gitlab.com/bwidawsk/qemu
Possible I've picked an unstable branch so this may or may not currently
apply :)  I'll rebase on Ben's next version when avaialble.

Jonathan Cameron (4):
  include/standard-headers/linux/pci_regs: temp hack to add necessary
    DOE definitions.
  hw/pci/pcie_doe: Introduce utility functions for PCIe DOE
  hw/cxl/cxl-cdat: Initial CDAT implementation for use by CXL devices
  hw/mem/cxl_type3: Enabled DOE mailbox for access to CDAT

 hw/cxl/cxl-cdat.c                         | 252 +++++++++++++++++++++
 hw/cxl/meson.build                        |   1 +
 hw/mem/cxl_type3.c                        |  49 ++++-
 hw/pci/meson.build                        |   2 +-
 hw/pci/pcie_doe.c                         | 257 ++++++++++++++++++++++
 include/hw/cxl/cxl.h                      |   1 +
 include/hw/cxl/cxl_cdat.h                 | 101 +++++++++
 include/hw/pci/doe.h                      |  40 ++++
 include/hw/pci/pci_ids.h                  |   2 +
 include/standard-headers/linux/pci_regs.h |  33 ++-
 10 files changed, 734 insertions(+), 4 deletions(-)
 create mode 100644 hw/cxl/cxl-cdat.c
 create mode 100644 hw/pci/pcie_doe.c
 create mode 100644 include/hw/cxl/cxl_cdat.h
 create mode 100644 include/hw/pci/doe.h

-- 
2.19.1


Reply via email to