요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
User-defined table과 AML load
configfs-acpi:9-28Binary aml attribute에 data를 쓴 뒤 file을 닫을 때 table load와 ACPI device enumeration이 실행되고, close() error code가 성공 여부를 전달합니다.
Loaded table metadata
configfs-acpi:30-52Load 성공 후 signature, length, ACPI revision, OEM identity와 ASL compiler identity를 read-only attribute로 제공합니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
What: /config/acpi
Date: July 2016
KernelVersion: 4.8
Contact: [email protected]
Description:
This represents the ACPI subsystem entry point directory. It
contains sub-groups corresponding to ACPI configurable options.
What: /config/acpi/table
Date: July 2016
KernelVersion: 4.8
Description:
This group contains the configuration for user defined ACPI
tables. The attributes of a user define table are:
aml
- a binary attribute that the user can use to
fill in the ACPI aml definitions. Once the aml
data is written to this file and the file is
closed the table will be loaded and ACPI devices
will be enumerated. To check if the operation is
successful the user must check the error code
for close(). If the operation is successful,
subsequent writes to this attribute will fail.
The rest of the attributes are read-only and are valid only
after the table has been loaded by filling the aml entry:
signature
- ASCII table signature
length
- length of table in bytes, including the header
revision
- ACPI Specification minor version number
oem_id
- ASCII OEM identification
oem_table_id
- ASCII OEM table identification
oem_revision
- OEM revision number
asl_compiler_id
- ASCII ASL compiler vendor ID
asl_compiler_revision
- ASL compiler version
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
ACPI subsystem의 configfs 진입점
1-7| 항목 | 내용 |
|---|---|
| What | /config/acpi |
| Date | 2016년 7월 |
| KernelVersion | 4.8 |
| Contact | [email protected] |
| Description | ACPI subsystem의 진입점 directory를 나타낸다. ACPI에서 설정할 수 있는 option에 대응하는 subgroup을 포함한다. |
User-defined ACPI table configuration
9-16| 항목 | 내용 |
|---|---|
| What | /config/acpi/table |
| Date | 2016년 7월 |
| KernelVersion | 4.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된 뒤에만 유효하다.
File write 자체가 아니라 close 시점이 table load를 확정하는 경계이며, 결과는 close의 error code로 전달된다.
Load 후 읽을 수 있는 table metadata
30-52| Attribute | 내용 |
|---|---|
| signature | ASCII table signature |
| length | Header를 포함한 table의 byte 단위 길이 |
| revision | ACPI Specification minor version number |
| oem_id | ASCII OEM identification |
| oem_table_id | ASCII OEM table identification |
| oem_revision | OEM revision number |
| asl_compiler_id | ASCII ASL compiler vendor ID |
| asl_compiler_revision | ASL compiler version |
ACPI configfs entry point
configfs-acpi:1-7/config/acpi는 ACPI subsystem의 configfs 진입점이며 configurable option별 subgroup을 포함합니다.