xref: /linux/Documentation/driver-api/cxl/memory-devices.rst (revision 6beeaf48db6c548fcfc2ad32739d33af2fef3a5b)
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/pmem.c
43   :doc: cxl pmem
44
45.. kernel-doc:: drivers/cxl/core/regs.c
46   :doc: cxl registers
47
48External Interfaces
49===================
50
51CXL IOCTL Interface
52-------------------
53
54.. kernel-doc:: include/uapi/linux/cxl_mem.h
55   :doc: UAPI
56
57.. kernel-doc:: include/uapi/linux/cxl_mem.h
58   :internal:
59