MdeModulePkg: Add CxlIo.h protocol

Create a CXL protocol for interacting with CXL endpoint devices. CXL
devices are necessarily also PCI devices, so the PCI IO protocol is also
provided as part of the CXL protocol.

The protocol provides access to the following operations for CXL devices:
  - Read from a DVSEC register block
  - Write to a DVSEC register block
  - Perform DOE transaction

This set of operation is sufficient to implement BIOS-level CXL
functionality.

Signed-off-by: Nick Graves <nicholasgraves@google.com>
Signed-off-by: Oleksandr Tymoshenko <ovt@google.com>
2 files changed