요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. 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).
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
CEDT와 CHBS
1-15.. SPDX-License-Identifier: GPL-2.0
CXL Early Discovery Table(CEDT)은 BIOS가 boot 시 구성한 CXL memory region을 설명하기 위해 BIOS가 생성합니다.
CXL Host Bridge Structure(CHBS)는 CXL host bridge를 설명합니다. device register 정보뿐 아니라 해당 host bridge의 고유 UID를 보고하며, 이 host bridge ID는 다른 table에서 참조됩니다.
CHBS 예시
16-26CHBS dump 예시에서 `Associated host bridge`는 host bridge의 `_UID`입니다.
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
27-52CXL Fixed Memory Window Structure(CFMWS)는 CHBS가 설명하는 하나 이상의 CXL host bridge와 연결된 memory region을 설명합니다. 또한 BIOS가 programming했을 수 있는 host bridge 간 interleave 구성도 설명합니다.
아래 예시에서 window base와 size는 memory region을, `Interleave Members`와 arithmetic·granularity는 interleave 구성을, target은 참여 host bridge의 `_UID`를 나타냅니다.
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
CFMWS dump의 field를 memory range, interleave와 host bridge target 역할에 맞춰 정리했습니다.
`Restrictions` field는 이 SPA range를 어떤 용도로 사용할 수 있는지 결정합니다. memory type, volatile/persistent 여부 등을 나타내며 하나 이상의 bit를 설정할 수 있습니다.
Restriction bit와 intra-host-bridge interleave
53-62Bit[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, 즉 하나의 host bridge에 연결된 여러 device 사이의 interleave는 이 structure에 보고되지 않습니다. 이는 CXL device decoder programming, 구체적으로 host bridge와 endpoint decoder를 통해서만 정의됩니다.
요약과 해설
cedt.rst:1-62CHBS는 host bridge와 register range를 식별하고, CFMWS는 여러 host bridge에 걸친 SPA window와 interleave를 기술합니다. 같은 host bridge 내부의 device interleave는 CFMWS가 아니라 host bridge·endpoint decoder programming으로 정의됩니다.