요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
1
.. SPDX-License-Identifier: GPL-2.0
3
==============================================
4
DSDT - Differentiated system Description Table
5
==============================================
7
This table describes what peripherals a machine has.
9
This table's UIDs for CXL devices - specifically host bridges, must be
10
consistent with the contents of the CEDT, otherwise the CXL driver will
11
fail to probe correctly.
13
Example Compute Express Link Host Bridge ::
15
Scope (_SB)
16
{
17
Device (S0D0)
18
{
19
Name (_HID, "ACPI0016" /* Compute Express Link Host Bridge */) // _HID: Hardware ID
20
Name (_CID, Package (0x02) // _CID: Compatible ID
21
{
22
EisaId ("PNP0A08") /* PCI Express Bus */,
23
EisaId ("PNP0A03") /* PCI Bus */
24
})
25
...
26
Name (_UID, 0x05) // _UID: Unique ID
27
...
28
}
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
DSDT의 CXL UID 일관성
1-12.. SPDX-License-Identifier: GPL-2.0
DSDT는 machine에 어떤 peripheral이 있는지 설명하는 table입니다.
CXL device, 특히 host bridge에 대한 이 table의 UID는 CEDT 내용과 일치해야 합니다. 일치하지 않으면 CXL driver가 올바르게 probe하지 못합니다.
Compute Express Link Host Bridge 예시
13-28예시는 `_HID`가 `ACPI0016`인 CXL host bridge를 정의하고 PCI Express/PCI compatible ID와 고유 `_UID` 0x05를 부여합니다.
Scope (_SB)
{
Device (S0D0)
{
Name (_HID, "ACPI0016" /* Compute Express Link Host Bridge */) // _HID: Hardware ID
Name (_CID, Package (0x02) // _CID: Compatible ID
{
EisaId ("PNP0A08") /* PCI Express Bus */,
EisaId ("PNP0A03") /* PCI Bus */
})
...
Name (_UID, 0x05) // _UID: Unique ID
...
}
요약과 해설
dsdt.rst:1-28DSDT의 `ACPI0016` host bridge `_UID`는 CEDT가 참조하는 UID와 같아야 합니다. 이 identity 연결이 깨지면 CXL driver probe도 실패합니다.