mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

There exists shipping platforms that bend, break, or otherwise lean on ambiguities in the CXL specification. Without driver changes to accommodate these deviations, end users are left without CXL subsystem RAS features. Specifically, provisioning, error translation, and other flows require the CXL subsystem to understand the platforms CXL topology beyond undecorated memory address ranges. Those isolated compatibility problems risk growing into deeper upstream maintenance burden if different platform vendors arrive at diverging solutions. For example, there are multiple options for resolving low-memory-mmio intersecting large-interleave-ways CXL windows. Linux should only entertain one solution to that problem. Now, with the ACPI Specification Working Group, situations like this would be resolved with the "Code First ECN" process to codify Linux expectations in a specification. In the absence of such a process for the CXL specification, create a file in Linux documentation to detail the motivations, assumptions, tradeoffs, and proposals for amending specification language. The goal is to capture the issues such that platform vendors arrive at compatible solutions for these problems and serve as a repository for potential specification updates. The expectation is to update conventions.rst along with CXL subsystem code changes to accommodate the platform topology. [ dj: Rebased against v6.16-rc1 ] Signed-off-by: Dan Williams <dan.j.williams@intel.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Reviewed-by: Robert Richter <rrichter@amd.com> Link: https://patch.msgid.link/20250603185254.3730099-1-dan.j.williams@intel.com Signed-off-by: Dave Jiang <dave.jiang@intel.com>
54 lines
1 KiB
ReStructuredText
54 lines
1 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
====================
|
|
Compute Express Link
|
|
====================
|
|
|
|
CXL device configuration has a complex handoff between platform (Hardware,
|
|
BIOS, EFI), OS (early boot, core kernel, driver), and user policy decisions
|
|
that have impacts on each other. The docs here break up configurations steps.
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: Overview
|
|
|
|
theory-of-operation
|
|
maturity-map
|
|
conventions
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: Device Reference
|
|
|
|
devices/device-types
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: Platform Configuration
|
|
|
|
platform/bios-and-efi
|
|
platform/acpi
|
|
platform/cdat
|
|
platform/example-configs
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: Linux Kernel Configuration
|
|
|
|
linux/overview
|
|
linux/early-boot
|
|
linux/cxl-driver
|
|
linux/dax-driver
|
|
linux/memory-hotplug
|
|
linux/access-coordinates
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: Memory Allocation
|
|
|
|
allocation/dax
|
|
allocation/page-allocator
|
|
allocation/reclaim
|
|
allocation/hugepages.rst
|
|
|
|
.. only:: subproject and html
|