Logo

The Linux Kernel

next-20250515

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
    • General information for driver authors
    • Useful support libraries
    • Bus-level documentation
      • Auxiliary Bus
      • Compute Express Link
      • EISA bus support
      • Firewire (IEEE 1394) driver Interface Guide
      • I3C subsystem
      • ISA Drivers
      • MEN Chameleon Bus
      • The Linux PCI driver implementer’s API guide
      • The Linux RapidIO Subsystem
      • Linux kernel SLIMbus support
      • Linux USB API
      • Virtio
      • VME Device Drivers
      • W1: Dallas’ 1-wire bus
      • Xillybus driver for generic FPGA interface
    • Subsystem-specific APIs
  • Subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations

This Page

  • Show Source

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.

Overview

  • Compute Express Link Driver Theory of Operation
    • The CXL Bus
    • Driver Infrastructure
    • External Interfaces
  • Compute Express Link Subsystem Maturity Map
    • Feature and Capabilities
    • Details

Device Reference

  • Devices and Protocols
    • Protocols
    • Device Types
    • Example Devices

Platform Configuration

  • BIOS/EFI Configuration
    • UEFI Settings
    • Physical Memory Map
    • Decoder Programming
  • ACPI Tables
    • CEDT - CXL Early Discovery Table
    • SRAT - Static Resource Affinity Table
    • HMAT - Heterogeneous Memory Attribute Table
    • SLIT - System Locality Information Table
    • DSDT - Differentiated system Description Table
    • ACPI Debugging
  • Example Platform Configurations
    • One Device per Host Bridge
    • Multiple Devices per Host Bridge
    • Cross-Host-Bridge Interleave
    • Flexible Presentation

Linux Kernel Configuration

  • Overview
  • Linux Init (Early Boot)
    • BIOS, Build and Boot Options
    • Memory Map Creation
    • NUMA Node Reservation
    • Memory Tiers Creation
    • Contiguous Memory Allocation
  • CXL Driver Operation
    • Drivers
    • Driver Devices
    • Decoder Programming
    • Example Configurations
  • DAX Driver Operation
    • DAX Device
    • kmem conversion
  • Memory Hotplug
    • Default Online Behavior
    • Hotplug Memory Block Size
    • Memory Map
    • Driver Managed Memory
  • CXL Access Coordinates Computation
    • Shared Upstream Link Calculation

Memory Allocation

  • DAX Devices
  • The Page Allocator
    • NUMA nodes and mempolicy
    • Memory Zones
    • Zone and Node Quirks
    • CGroups and CPUSets
  • Reclaim
    • Demotion
    • ZSwap and Node Preference
    • Demotion with ZSwap
  • Huge Pages
    • Contiguous Memory Allocator
    • HugeTLB
©The kernel development community. | Powered by Sphinx 5.3.0 & Alabaster 0.7.16 | Page source