.. SPDX-License-Identifier: GPL-2.0 .. include:: ../../disclaimer-zh_CN.rst :Original: Documentation/arch/loongarch/booting.rst :翻译: å¸å»¶è…¾ Yanteng Si <siyanteng@loongson.cn> ==================== å¯åŠ¨ Linux/LoongArch ==================== :作者: å¸å»¶è…¾ <siyanteng@loongson.cn> :日期: 2022å¹´11月18æ—¥ BootLoaderä¼ é€’ç»™å†…æ ¸çš„ä¿¡æ¯ ========================== LoongArch支æŒACPIå’ŒFDTå¯åŠ¨ï¼Œéœ€è¦ä¼ é€’ç»™å†…æ ¸çš„ä¿¡æ¯åŒ…括memmapã€initrdã€cmdlineã€å¯ 选的ACPI/FDT表ç‰ã€‚ å†…æ ¸åœ¨ `kernel_entry` å…¥å£å¤„è¢«ä¼ é€’ä»¥ä¸‹å‚æ•°: - a0 = efi_boot: `efi_boot` æ˜¯ä¸€ä¸ªæ ‡å¿—ï¼Œè¡¨ç¤ºè¿™ä¸ªå¯åŠ¨çŽ¯å¢ƒæ˜¯å¦å®Œå…¨ç¬¦åˆUEFI çš„è¦æ±‚。 - a1 = cmdline: `cmdline` 是一个指å‘å†…æ ¸å‘½ä»¤è¡Œçš„æŒ‡é’ˆã€‚ - a2 = systemtable: `systemtable` 指å‘EFI的系统表,在这个阶段涉åŠçš„所有 指针都是物ç†åœ°å€ã€‚ Linux/LoongArchå†…æ ¸é•œåƒæ–‡ä»¶å¤´ ============================= å†…æ ¸é•œåƒæ˜¯EFIé•œåƒã€‚作为PE文件,它们有一个64å—节的头部结构体,如下所示:: u32 MZ_MAGIC /* "MZ", MS-DOS 头 */ u32 res0 = 0 /* ä¿ç•™ */ u64 kernel_entry /* å†…æ ¸å…¥å£ç‚¹ */ u64 _end - _text /* å†…æ ¸é•œåƒæœ‰æ•ˆå¤§å° */ u64 load_offset /* åŠ è½½å†…æ ¸é•œåƒç›¸å¯¹å†…å˜èµ·å§‹åœ°å€çš„åç§»é‡ */ u64 res1 = 0 /* ä¿ç•™ */ u64 res2 = 0 /* ä¿ç•™ */ u64 res3 = 0 /* ä¿ç•™ */ u32 LINUX_PE_MAGIC /* é”术数 */ u32 pe_header - _head /* 到PE头的åç§»é‡ */