xref: /linux/Documentation/driver-api/cxl/memory-devices.rst (revision a1c3be890440a1769ed6f822376a3e3ab0d42994)
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/mem.c
26   :doc: cxl mem
27
28.. kernel-doc:: drivers/cxl/mem.c
29   :internal:
30
31CXL Bus
32-------
33.. kernel-doc:: drivers/cxl/bus.c
34   :doc: cxl bus
35
36External Interfaces
37===================
38
39CXL IOCTL Interface
40-------------------
41
42.. kernel-doc:: include/uapi/linux/cxl_mem.h
43   :doc: UAPI
44
45.. kernel-doc:: include/uapi/linux/cxl_mem.h
46   :internal:
47