요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
CBMEM physical address와 size
sysfs-bus-coreboot:20-32address는 entry data가 시작하는 physical memory address, size는 data length이며 둘 다 hexadecimal입니다.
CBMEM read/write memory file
sysfs-bus-coreboot:34-45mem은 entry data를 read/write하지만 page alignment가 보장되지 않아 mmap을 지원하지 않으며, physical memory 일부를 노출하므로 mode 0600과 root read privilege를 사용합니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
What: /sys/bus/coreboot
Date: August 2022
Contact: Jack Rosenthal <[email protected]>
Description:
The coreboot bus provides a variety of virtual devices used to
access data structures created by the Coreboot BIOS.
What: /sys/bus/coreboot/devices/cbmem-<id>
Date: August 2022
Contact: Jack Rosenthal <[email protected]>
Description:
CBMEM is a downwards-growing memory region created by Coreboot,
and contains tagged data structures to be shared with payloads
in the boot process and the OS. Each CBMEM entry is given a
directory in /sys/bus/coreboot/devices based on its id.
A list of ids known to Coreboot can be found in the coreboot
source tree at
``src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h``.
What: /sys/bus/coreboot/devices/cbmem-<id>/address
Date: August 2022
Contact: Jack Rosenthal <[email protected]>
Description:
This is the physical memory address that the CBMEM entry's data
begins at, in hexadecimal (e.g., ``0x76ffe000``).
What: /sys/bus/coreboot/devices/cbmem-<id>/size
Date: August 2022
Contact: Jack Rosenthal <[email protected]>
Description:
This is the size of the CBMEM entry's data, in hexadecimal
(e.g., ``0x1234``).
What: /sys/bus/coreboot/devices/cbmem-<id>/mem
Date: August 2022
Contact: Jack Rosenthal <[email protected]>
Description:
A file exposing read/write access to the entry's data. Note
that this file does not support mmap(), as coreboot
does not guarantee that the data will be page-aligned.
The mode of this file is 0600. While there shouldn't be
anything security-sensitive contained in CBMEM, read access
requires root privileges given this is exposing a small subset
of physical memory.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Coreboot bus와 CBMEM device directories
1-18| What | Date | Contact | 전문 번역 |
|---|---|---|---|
| /sys/bus/coreboot | 2022년 8월 | Jack Rosenthal <[email protected]> | coreboot bus는 Coreboot BIOS가 만든 data structure에 access할 때 사용하는 여러 virtual device를 제공합니다. |
| /sys/bus/coreboot/devices/cbmem-<id> | 2022년 8월 | Jack Rosenthal <[email protected]> | CBMEM은 Coreboot가 만든 downwards-growing memory region이며 boot process의 payload와 OS가 공유할 tagged data structure를 담습니다. 각 CBMEM entry에는 ID를 기준으로 /sys/bus/coreboot/devices 안의 directory가 하나씩 주어집니다. |
Coreboot가 알고 있는 ID 목록은 Coreboot source tree의 다음 file에서 찾을 수 있습니다.
src/commonlib/bsd/include/commonlib/bsd/cbmem_id.h
Coreboot가 downwards-growing region에 tagged entries를 만들고 boot payload와 OS가 ID-based sysfs devices로 접근하는 관계다.
CBMEM entry address와 size
20-32| What | Date | Contact | 전문 번역 |
|---|---|---|---|
| /sys/bus/coreboot/devices/cbmem-<id>/address | 2022년 8월 | Jack Rosenthal <[email protected]> | CBMEM entry data가 시작하는 physical memory address를 hexadecimal로 나타냅니다. 예: 0x76ffe000. |
| /sys/bus/coreboot/devices/cbmem-<id>/size | 2022년 8월 | Jack Rosenthal <[email protected]> | CBMEM entry data의 size를 hexadecimal로 나타냅니다. 예: 0x1234. |
CBMEM entry data access와 permissions
34-45| 항목 | 전문 번역 |
|---|---|
| What | /sys/bus/coreboot/devices/cbmem-<id>/mem |
| Date | 2022년 8월 |
| Contact | Jack Rosenthal <[email protected]> |
| Description | Entry data에 대한 read/write access를 노출하는 file입니다. Coreboot는 data가 page-aligned라고 보장하지 않으므로 이 file은 mmap()을 지원하지 않습니다. |
| Permissions | 이 file의 mode는 0600입니다. CBMEM에 security-sensitive content가 들어 있지 않아야 하지만 physical memory의 작은 subset을 노출하므로 read access에도 root privileges가 필요합니다. |
| Access | 지원 여부·조건 |
|---|---|
| read/write | 지원, mode 0600 |
| read | Root privileges 필요 |
| mmap() | 미지원: page alignment 미보장 |
Coreboot bus와 CBMEM entries
sysfs-bus-coreboot:1-18coreboot bus는 BIOS-created structures용 virtual devices를 제공하고, downwards-growing CBMEM의 각 tagged entry를 ID 기반 cbmem-<id> directory로 노출합니다.