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