← Documents Documentation/ABI/testing/configfs-acpi GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

ACPI configfs testing ABI

ACPI configfs 진입점과 user-defined ACPI table의 binary AML load, close-time error 확인, device enumeration 및 read-only table metadata를 설명합니다.

Source pathDocumentation/ABI/testing/configfs-acpi
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

ACPI configfs entry point

configfs-acpi:1-7

/config/acpi는 ACPI subsystem의 configfs 진입점이며 configurable option별 subgroup을 포함합니다.

User-defined table과 AML load

configfs-acpi:9-28

Binary aml attribute에 data를 쓴 뒤 file을 닫을 때 table load와 ACPI device enumeration이 실행되고, close() error code가 성공 여부를 전달합니다.

Loaded table metadata

configfs-acpi:30-52

Load 성공 후 signature, length, ACPI revision, OEM identity와 ASL compiler identity를 read-only attribute로 제공합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 What: /config/acpi
2 Date: July 2016
3 KernelVersion: 4.8
5 Description:
6 This represents the ACPI subsystem entry point directory. It
7 contains sub-groups corresponding to ACPI configurable options.
8
9 What: /config/acpi/table
10 Date: July 2016
11 KernelVersion: 4.8
12 Description:
13
14 This group contains the configuration for user defined ACPI
15 tables. The attributes of a user define table are:
16
17 aml
18 - a binary attribute that the user can use to
19 fill in the ACPI aml definitions. Once the aml
20 data is written to this file and the file is
21 closed the table will be loaded and ACPI devices
22 will be enumerated. To check if the operation is
23 successful the user must check the error code
24 for close(). If the operation is successful,
25 subsequent writes to this attribute will fail.
26
27 The rest of the attributes are read-only and are valid only
28 after the table has been loaded by filling the aml entry:
29
30 signature
31 - ASCII table signature
32
33 length
34 - length of table in bytes, including the header
35
36 revision
37 - ACPI Specification minor version number
38
39 oem_id
40 - ASCII OEM identification
41
42 oem_table_id
43 - ASCII OEM table identification
44
45 oem_revision
46 - OEM revision number
47
48 asl_compiler_id
49 - ASCII ASL compiler vendor ID
50
51 asl_compiler_revision
52 - ASL compiler version
53

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

ACPI subsystem의 configfs 진입점

1-7
항목내용
What/config/acpi
Date2016년 7월
KernelVersion4.8
Contact[email protected]
DescriptionACPI subsystem의 진입점 directory를 나타낸다. ACPI에서 설정할 수 있는 option에 대응하는 subgroup을 포함한다.

User-defined ACPI table configuration

9-16
항목내용
What/config/acpi/table
Date2016년 7월
KernelVersion4.8
Description이 group은 사용자가 정의한 ACPI table의 configuration을 담는다.

Binary aml attribute와 close-time load

17-28

`aml`은 사용자가 ACPI AML definition을 채우는 데 사용할 수 있는 binary attribute이다. AML data를 이 file에 쓰고 file을 닫으면 table이 load되고 ACPI device가 enumerate된다.

Operation의 성공 여부를 확인하려면 사용자가 `close()`의 error code를 검사해야 한다. Operation이 성공했다면 이 attribute에 대한 이후 write는 실패한다.

나머지 attribute는 read-only이며, `aml` entry를 채워 table이 load된 뒤에만 유효하다.

AML write에서 ACPI device enumeration까지
User space가 binary ACPI AML data를 aml attribute에 기록aml file closeKernel이 user-defined ACPI table load 시도close() error code로 성공 또는 실패 확인성공 시 ACPI device enumerationMetadata attribute 활성화, 이후 aml write는 실패

File write 자체가 아니라 close 시점이 table load를 확정하는 경계이며, 결과는 close의 error code로 전달된다.

Load 후 읽을 수 있는 table metadata

30-52
Attribute내용
signatureASCII table signature
lengthHeader를 포함한 table의 byte 단위 길이
revisionACPI Specification minor version number
oem_idASCII OEM identification
oem_table_idASCII OEM table identification
oem_revisionOEM revision number
asl_compiler_idASCII ASL compiler vendor ID
asl_compiler_revisionASL compiler version