.. SPDX-License-Identifier: GPL-2.0 ================================ CEDT - CXL Early Discovery Table ================================ The CXL Early Discovery Table is generated by BIOS to describe the CXL memory regions configured at boot by the BIOS. CHBS ==== The CXL Host Bridge Structure describes CXL host bridges. Other than describing device register information, it reports the specific host bridge UID for this host bridge. These host bridge ID's will be referenced in other tables. Example :: Subtable Type : 00 [CXL Host Bridge Structure] Reserved : 00 Length : 0020 Associated host bridge : 00000007 <- Host bridge _UID Specification version : 00000001 Reserved : 00000000 Register base : 0000010370400000 Register length : 0000000000010000 CFMWS ===== The CXL Fixed Memory Window structure describes a memory region associated with one or more CXL host bridges (as described by the CHBS). It additionally describes any inter-host-bridge interleave configuration that may have been programmed by BIOS. Example :: Subtable Type : 01 [CXL Fixed Memory Window Structure] Reserved : 00 Length : 002C Reserved : 00000000 Window base address : 000000C050000000 <- Memory Region Window size : 0000003CA0000000 Interleave Members (2^n) : 01 <- Interleave configuration Interleave Arithmetic : 00 Reserved : 0000 Granularity : 00000000 Restrictions : 0006 QtgId : 0001 First Target : 00000007 <- Host Bridge _UID Next Target : 00000006 <- Host Bridge _UID The restriction field dictates what this SPA range may be used for (memory type, voltile vs persistent, etc). One or more bits may be set. :: Bit[0]: CXL Type 2 Memory Bit[1]: CXL Type 3 Memory Bit[2]: Volatile Memory Bit[3]: Persistent Memory Bit[4]: Fixed Config (HPA cannot be re-used) INTRA-host-bridge interleave (multiple devices on one host bridge) is NOT reported in this structure, and is solely defined via CXL device decoder programming (host bridge and endpoint decoders).