14cdadfd5SDan Williams.. SPDX-License-Identifier: GPL-2.0
24cdadfd5SDan Williams.. include:: <isonum.txt>
34cdadfd5SDan Williams
44cdadfd5SDan Williams===================================
54cdadfd5SDan WilliamsCompute Express Link Memory Devices
64cdadfd5SDan Williams===================================
74cdadfd5SDan Williams
84cdadfd5SDan WilliamsA Compute Express Link Memory Device is a CXL component that implements the
94cdadfd5SDan WilliamsCXL.mem protocol. It contains some amount of volatile memory, persistent memory,
104cdadfd5SDan Williamsor both. It is enumerated as a PCI device for configuration and passing
114cdadfd5SDan Williamsmessages over an MMIO mailbox. Its contribution to the System Physical
124cdadfd5SDan WilliamsAddress space is handled via HDM (Host Managed Device Memory) decoders
134cdadfd5SDan Williamsthat optionally define a device's contribution to an interleaved address
144cdadfd5SDan Williamsrange across multiple devices underneath a host-bridge or interleaved
154cdadfd5SDan Williamsacross host-bridges.
168adaf747SBen Widawsky
178adaf747SBen WidawskyDriver Infrastructure
188adaf747SBen Widawsky=====================
198adaf747SBen Widawsky
208adaf747SBen WidawskyThis section covers the driver infrastructure for a CXL memory device.
218adaf747SBen Widawsky
228adaf747SBen WidawskyCXL Memory Device
238adaf747SBen Widawsky-----------------
248adaf747SBen Widawsky
2521e9f767SBen Widawsky.. kernel-doc:: drivers/cxl/pci.c
2621e9f767SBen Widawsky   :doc: cxl pci
278adaf747SBen Widawsky
2821e9f767SBen Widawsky.. kernel-doc:: drivers/cxl/pci.c
298adaf747SBen Widawsky   :internal:
30b39cb105SDan Williams
315f653f75SDan WilliamsCXL Core
3235c32e30SDan Williams--------
334812be97SDan Williams.. kernel-doc:: drivers/cxl/cxl.h
344812be97SDan Williams   :doc: cxl objects
354812be97SDan Williams
364812be97SDan Williams.. kernel-doc:: drivers/cxl/cxl.h
374812be97SDan Williams   :internal:
384812be97SDan Williams
395161a55cSBen Widawsky.. kernel-doc:: drivers/cxl/core/bus.c
405f653f75SDan Williams   :doc: cxl core
41583fa5e7SBen Widawsky
42*fa9a7d2dSBen Widawsky.. kernel-doc:: drivers/cxl/core/bus.c
43*fa9a7d2dSBen Widawsky   :identifiers:
44*fa9a7d2dSBen Widawsky
4506737cd0SDan Williams.. kernel-doc:: drivers/cxl/core/pmem.c
46a01da6caSDan Williams   :doc: cxl pmem
4706737cd0SDan Williams
480f06157eSDan Williams.. kernel-doc:: drivers/cxl/core/regs.c
492b922a9dSDan Williams   :doc: cxl registers
500f06157eSDan Williams
514faf31b4SDan Williams.. kernel-doc:: drivers/cxl/core/mbox.c
524faf31b4SDan Williams   :doc: cxl mbox
534faf31b4SDan Williams
54583fa5e7SBen WidawskyExternal Interfaces
55583fa5e7SBen Widawsky===================
56583fa5e7SBen Widawsky
57583fa5e7SBen WidawskyCXL IOCTL Interface
58583fa5e7SBen Widawsky-------------------
59583fa5e7SBen Widawsky
60583fa5e7SBen Widawsky.. kernel-doc:: include/uapi/linux/cxl_mem.h
61583fa5e7SBen Widawsky   :doc: UAPI
62583fa5e7SBen Widawsky
63583fa5e7SBen Widawsky.. kernel-doc:: include/uapi/linux/cxl_mem.h
64583fa5e7SBen Widawsky   :internal:
65