相干裝置屬性表 (CDAT)

CDAT 提供裝置的功能和效能屬性,例如 CXL 加速器、交換機或端點。 表格格式類似於 ACPI 表。 CDAT 資料可以在啟動時由 BIOS 解析,也可以在執行時列舉(例如,在裝置熱插拔之後)。

術語:DPA - 裝置物理地址,CXL 裝置使用該地址來表示它支援的裝置地址。

DSMADHandle - 一個與 DSMAS 表定義的 DPA 範圍關聯的裝置唯一控制代碼。

裝置範圍內存親和性結構 (DSMAS)

DSMAS 包含諸如 DSMADHandle、DPA 基址和 DPA 長度等資訊。

Linux 使用此表與裝置範圍延遲和頻寬資訊結構 (DSLBIS) 結合使用,以確定 CXL 裝置本身的效能屬性。

例子

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

裝置範圍延遲和頻寬資訊結構 (DSLBIS)

Linux 使用此表與 DSMAS 結合使用,以確定 CXL 裝置的效能屬性。 DSLBIS 包含基於 DSMADHandle 匹配的延遲和頻寬資訊。

例子

  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
        Reserved : 0000

交換機範圍延遲和頻寬資訊結構 (SSLBIS)

SSLBIS 包含有關交換機的延遲和頻寬的資訊。

Linux 使用該表來計算從裝置到根埠的 CXL 路徑的效能座標,其中交換機是該路徑的一部分。

例子

 Structure Type : 05 [SSLBIS]
       Reserved : 00
         Length : 20                           <- 32d, length of record, including SSLB entries
      Data Type : 00                           <- Latency
       Reserved : 000000
Entry Base Unit : 00000000000000001000         <- Matches Entry Base Unit in HMAT SSLBIS

                                               <- SSLB Entry 0
      Port X ID : 0100                         <- First port, 0100h represents an upstream port
      Port Y ID : 0000                         <- Second port, downstream port 0
        Latency : 0100                         <- Port latency
       Reserved : 0000
                                               <- SSLB Entry 1
      Port X ID : 0100
      Port Y ID : 0001
        Latency : 0100
       Reserved : 0000


 Structure Type : 05 [SSLBIS]
       Reserved : 00
         Length : 18                           <- 24d, length of record, including SSLB entry
      Data Type : 03                           <- Bandwidth
       Reserved : 000000
Entry Base Unit : 00000000000000001000         <- Matches Entry Base Unit in HMAT SSLBIS

                                               <- SSLB Entry 0
      Port X ID : 0100                         <- First port, 0100h represents an upstream port
      Port Y ID : FFFF                         <- Second port, FFFFh indicates any port
      Bandwidth : 1200                         <- Port bandwidth
       Reserved : 0000

CXL 驅動程式使用 CDAT、HMAT、SRAT 和其他資料的組合來生成 CXL 裝置的“完整路徑效能”資料。