.. SPDX-License-Identifier: GPL-2.0 .. include:: ../../disclaimer-zh_TW.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é çš„åç§»é‡ */