Re: [PATCH v3 00/17] CXL Boot to Bash Documentation

Dave Jiang
2025-05-13T20:38:40Z

On 5/12/25 9:21 AM, Gregory Price wrote:
> v3:
> - Cross-links (Bagas)
> - Grammar and spelling (Randy)
> - added fixups to access-coordinates (Bagas)
> - Drop TODO sections (use-case, memory-tiering, CDAT/UEFI, SRAT Genport)
> I unfortunately won't be able to come back around to this for
> a while, so I'd rather not let this rot.

Applied to cxl/next

>
> ---
>
> This series converts CXL Boot to Bash Docs from LSFMM '25 to Linux
> Kernel Docs. In brief, this document covers (almost) everything Linux
> expects from platforms to successfully bring volatile CXL memory
> capacity online as a DAX device and/or SystemRAM.
>
> It covers:
>
> - Platform configuration data (ACPI Tables, EFI Memory Map, EFI Configs)
> - Linux Build and Boot Parameters
> - Linux consumption of Platform, Build, and Boot params
> - Linux creation of base resources (NUMA nodes, memory tiers, etc)
> - CXL Driver probe process and sysfs structure
> - DAX Driver interactions between the CXL driver and memory hotplug
> - Memory hotplug interactions
> - Page allocator interactions (NUMA nodes, Memory Zones, Reclaim, etc).
>
> Included are example platform configurations (ACPI tables) and cxl
> decoder configurations to guide platform developers on expected
> configurations (which may be more strict than the CXL spec).
>
> Co-developed-by: Joshua Hahn <joshua.hahnjy@gmail.com>
> Signed-off-by: Joshua Hahn <joshua.hahnjy@gmail.com>
> Signed-off-by: Gregory Price <gourry@gourry.net>
>
> Gregory Price (17):
> cxl: update documentation structure in prep for new docs
> cxl: docs - access-coordinates doc fixups
> cxl: docs/devices - add cxl device and protocol reference
> cxl: docs/platform/bios-and-efi documentation
> cxl: docs/platform/acpi reference documentation
> cxl: docs/platform/example-configs documentation
> cxl: docs/linux - overview
> cxl: docs/linux - early boot configuration
> cxl: docs/linux - add cxl-driver theory of operation
> cxl: docs/linux/cxl-driver - add example configurations
> cxl: docs/linux/dax-driver documentation
> cxl: docs/linux/memory-hotplug
> cxl: docs/allocation/dax
> cxl: docs/allocation/page-allocator
> cxl: docs/allocation/reclaim
> cxl: docs/allocation/hugepages
> cxl: docs - add self-referencing cross-links
>
> .../driver-api/cxl/allocation/dax.rst | 60 ++
> .../driver-api/cxl/allocation/hugepages.rst | 32 +
> .../cxl/allocation/page-allocator.rst | 85 +++
> .../driver-api/cxl/allocation/reclaim.rst | 51 ++
> .../driver-api/cxl/devices/device-types.rst | 165 +++++
> Documentation/driver-api/cxl/index.rst | 45 +-
> .../cxl/{ => linux}/access-coordinates.rst | 35 +-
> .../driver-api/cxl/linux/cxl-driver.rst | 630 ++++++++++++++++++
> .../driver-api/cxl/linux/dax-driver.rst | 43 ++
> .../driver-api/cxl/linux/early-boot.rst | 137 ++++
> .../example-configurations/hb-interleave.rst | 314 +++++++++
> .../intra-hb-interleave.rst | 291 ++++++++
> .../multi-interleave.rst | 401 +++++++++++
> .../example-configurations/single-device.rst | 246 +++++++
> .../driver-api/cxl/linux/memory-hotplug.rst | 78 +++
> .../driver-api/cxl/linux/overview.rst | 103 +++
> .../driver-api/cxl/platform/acpi.rst | 76 +++
> .../driver-api/cxl/platform/acpi/cedt.rst | 62 ++
> .../driver-api/cxl/platform/acpi/dsdt.rst | 28 +
> .../driver-api/cxl/platform/acpi/hmat.rst | 32 +
> .../driver-api/cxl/platform/acpi/slit.rst | 21 +
> .../driver-api/cxl/platform/acpi/srat.rst | 44 ++
> .../driver-api/cxl/platform/bios-and-efi.rst | 262 ++++++++
> .../cxl/platform/example-configs.rst | 13 +
> .../example-configurations/flexible.rst | 296 ++++++++
> .../example-configurations/hb-interleave.rst | 107 +++
> .../multi-dev-per-hb.rst | 90 +++
> .../example-configurations/one-dev-per-hb.rst | 136 ++++
> ...ry-devices.rst => theory-of-operation.rst} | 10 +-
> 29 files changed, 3867 insertions(+), 26 deletions(-)
> create mode 100644 Documentation/driver-api/cxl/allocation/dax.rst
> create mode 100644 Documentation/driver-api/cxl/allocation/hugepages.rst
> create mode 100644 Documentation/driver-api/cxl/allocation/page-allocator.rst
> create mode 100644 Documentation/driver-api/cxl/allocation/reclaim.rst
> create mode 100644 Documentation/driver-api/cxl/devices/device-types.rst
> rename Documentation/driver-api/cxl/{ => linux}/access-coordinates.rst (84%)
> create mode 100644 Documentation/driver-api/cxl/linux/cxl-driver.rst
> create mode 100644 Documentation/driver-api/cxl/linux/dax-driver.rst
> create mode 100644 Documentation/driver-api/cxl/linux/early-boot.rst
> create mode 100644 Documentation/driver-api/cxl/linux/example-configurations/hb-interleave.rst
> create mode 100644 Documentation/driver-api/cxl/linux/example-configurations/intra-hb-interleave.rst
> create mode 100644 Documentation/driver-api/cxl/linux/example-configurations/multi-interleave.rst
> create mode 100644 Documentation/driver-api/cxl/linux/example-configurations/single-device.rst
> create mode 100644 Documentation/driver-api/cxl/linux/memory-hotplug.rst
> create mode 100644 Documentation/driver-api/cxl/linux/overview.rst
> create mode 100644 Documentation/driver-api/cxl/platform/acpi.rst
> create mode 100644 Documentation/driver-api/cxl/platform/acpi/cedt.rst
> create mode 100644 Documentation/driver-api/cxl/platform/acpi/dsdt.rst
> create mode 100644 Documentation/driver-api/cxl/platform/acpi/hmat.rst
> create mode 100644 Documentation/driver-api/cxl/platform/acpi/slit.rst
> create mode 100644 Documentation/driver-api/cxl/platform/acpi/srat.rst
> create mode 100644 Documentation/driver-api/cxl/platform/bios-and-efi.rst
> create mode 100644 Documentation/driver-api/cxl/platform/example-configs.rst
> create mode 100644 Documentation/driver-api/cxl/platform/example-configurations/flexible.rst
> create mode 100644 Documentation/driver-api/cxl/platform/example-configurations/hb-interleave.rst
> create mode 100644 Documentation/driver-api/cxl/platform/example-configurations/multi-dev-per-hb.rst
> create mode 100644 Documentation/driver-api/cxl/platform/example-configurations/one-dev-per-hb.rst
> rename Documentation/driver-api/cxl/{memory-devices.rst => theory-of-operation.rst} (98%)
>