Documentation/driver-api/cxl/platform/cdat.rst

Source file repositories/reference/linux-study-clean/Documentation/driver-api/cxl/platform/cdat.rst

File Facts

System
Linux kernel
Corpus path
Documentation/driver-api/cxl/platform/cdat.rst
Extension
.rst
Size
4834 bytes
Lines
119
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

======================================
Coherent Device Attribute Table (CDAT)
======================================

The CDAT provides functional and performance attributes of devices such
as CXL accelerators, switches, or endpoints.  The table formatting is
similar to ACPI tables. CDAT data may be parsed by BIOS at boot or may
be enumerated at runtime (after device hotplug, for example).

Terminology:
DPA - Device Physical Address, used by the CXL device to denote the address
it supports for that device.

DSMADHandle - A device unique handle that is associated with a DPA range
defined by the DSMAS table.


===============================================
Device Scoped Memory Affinity Structure (DSMAS)
===============================================

The DSMAS contains information such as DSMADHandle, the DPA Base, and DPA
Length.

This table is used by Linux in conjunction with the Device Scoped Latency and
Bandwidth Information Structure (DSLBIS) to determine the performance
attributes of the CXL device itself.

Example ::

 Structure Type : 00 [DSMAS]
       Reserved : 00
         Length : 0018              <- 24d, size of structure
    DSMADHandle : 01
          Flags : 00
       Reserved : 0000
       DPA Base : 0000000040000000  <- 1GiB base
     DPA Length : 0000000080000000  <- 2GiB size


==================================================================
Device Scoped Latency and Bandwidth Information Structure (DSLBIS)
==================================================================

This table is used by Linux in conjunction with DSMAS to determine the
performance attributes of a CXL device.  The DSLBIS contains latency
and bandwidth information based on DSMADHandle matching.

Example ::

   Structure Type : 01 [DSLBIS]
         Reserved : 00
           Length : 18                     <- 24d, size of structure
           Handle : 0001                   <- DSMAS handle
            Flags : 00                     <- Matches flag field for HMAT SLLBIS
        Data Type : 00                     <- Latency
 Entry Basee Unit : 0000000000001000       <- Entry Base Unit field in HMAT SSLBIS
            Entry : 010000000000           <- First byte used here, CXL LTC
         Reserved : 0000

   Structure Type : 01 [DSLBIS]
         Reserved : 00
           Length : 18                     <- 24d, size of structure
           Handle : 0001                   <- DSMAS handle
            Flags : 00                     <- Matches flag field for HMAT SLLBIS
        Data Type : 03                     <- Bandwidth
 Entry Basee Unit : 0000000000001000       <- Entry Base Unit field in HMAT SSLBIS
            Entry : 020000000000           <- First byte used here, CXL BW

Annotation

Implementation Notes