1.. SPDX-License-Identifier: GPL-2.0 2.. include:: <isonum.txt> 3 4=================================== 5Compute Express Link Memory Devices 6=================================== 7 8A Compute Express Link Memory Device is a CXL component that implements the 9CXL.mem protocol. It contains some amount of volatile memory, persistent memory, 10or both. It is enumerated as a PCI device for configuration and passing 11messages over an MMIO mailbox. Its contribution to the System Physical 12Address space is handled via HDM (Host Managed Device Memory) decoders 13that optionally define a device's contribution to an interleaved address 14range across multiple devices underneath a host-bridge or interleaved 15across host-bridges. 16 17Driver Infrastructure 18===================== 19 20This section covers the driver infrastructure for a CXL memory device. 21 22CXL Memory Device 23----------------- 24 25.. kernel-doc:: drivers/cxl/pci.c 26 :doc: cxl pci 27 28.. kernel-doc:: drivers/cxl/pci.c 29 :internal: 30 31CXL Core 32-------- 33.. kernel-doc:: drivers/cxl/cxl.h 34 :doc: cxl objects 35 36.. kernel-doc:: drivers/cxl/cxl.h 37 :internal: 38 39.. kernel-doc:: drivers/cxl/core/bus.c 40 :doc: cxl core 41 42.. kernel-doc:: drivers/cxl/core/bus.c 43 :identifiers: 44 45.. kernel-doc:: drivers/cxl/core/pmem.c 46 :doc: cxl pmem 47 48.. kernel-doc:: drivers/cxl/core/regs.c 49 :doc: cxl registers 50 51.. kernel-doc:: drivers/cxl/core/mbox.c 52 :doc: cxl mbox 53 54External Interfaces 55=================== 56 57CXL IOCTL Interface 58------------------- 59 60.. kernel-doc:: include/uapi/linux/cxl_mem.h 61 :doc: UAPI 62 63.. kernel-doc:: include/uapi/linux/cxl_mem.h 64 :internal: 65