← Documents Documentation/arch/x86/booting-dt.rst GitHub 원문 ↗

Linux 6.18.37 · Architecture

DeviceTree Booting

x86의 단일 32-bit entry와 setup_data 기반 DeviceTree 전달 범위를 정의합니다.

Source pathDocumentation/arch/x86/booting-dt.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

booting-dt.rst:1-21

x86 DeviceTree는 `code32_start`의 표준 32-bit boot calling convention을 그대로 사용하고, protocol 2.09+의 `setup_data`에 `SETUP_DTB=2`로 physical pointer를 전달합니다. boot page와 중복되는 memory·command line·initrd 정보는 싣지 않고 interrupt routing이나 bus device 정보만 보완합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 DeviceTree Booting
4 ------------------
5
6 There is one single 32bit entry point to the kernel at code32_start,
7 the decompressor (the real mode entry point goes to the same 32bit
8 entry point once it switched into protected mode). That entry point
9 supports one calling convention which is documented in
10 Documentation/arch/x86/boot.rst
11 The physical pointer to the device-tree block is passed via setup_data
12 which requires at least boot protocol 2.09.
13 The type filed is defined as
14
15 #define SETUP_DTB 2
16
17 This device-tree is used as an extension to the "boot page". As such it
18 does not parse / consider data which is already covered by the boot
19 page. This includes memory size, reserved ranges, command line arguments
20 or initrd address. It simply holds information which can not be retrieved
21 otherwise like interrupt routing or a list of devices behind an I2C bus.
22

3. 한국어 전문 번역

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

DeviceTree boot convention

1-21

이 `GPL-2.0` 문서는 x86 kernel에 DeviceTree를 전달하는 boot convention을 설명합니다. kernel의 단일 32-bit entry point는 `code32_start`의 decompressor입니다. real-mode entry도 protected mode로 전환한 뒤 같은 32-bit entry point로 들어갑니다.

이 entry point는 `Documentation/arch/x86/boot.rst`에 정의된 하나의 calling convention만 지원합니다. device-tree block의 physical pointer는 최소 boot protocol 2.09가 필요한 `setup_data`로 전달하며 type field는 다음과 같습니다.

#define SETUP_DTB                      2

이 DeviceTree는 boot page의 extension이므로 boot page가 이미 제공하는 data를 parse하거나 고려하지 않습니다. 여기에는 memory size, reserved range, command-line argument, initrd address가 포함됩니다. 대신 interrupt routing이나 I2C bus 뒤 device 목록처럼 다른 방법으로 얻을 수 없는 정보만 담습니다.