162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci.. include:: ../../disclaimer-zh_CN.rst
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci:Original: Documentation/arch/mips/booting.rst
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci:翻译:
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci 司延腾 Yanteng Si <siyanteng@loongson.cn>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci.. _cn_booting:
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciBMIPS设备树引导
1462306a36Sopenharmony_ci------------------------
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci  一些bootloaders只支持在内核镜像开始地址处的单一入口点。而其它
1762306a36Sopenharmony_ci  bootloaders将跳转到ELF的开始地址处。两种方案都支持的;因为
1862306a36Sopenharmony_ci  CONFIG_BOOT_RAW=y and CONFIG_NO_EXCEPT_FILL=y, 所以第一条指令
1962306a36Sopenharmony_ci  会立即跳转到kernel_entry()入口处执行。
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciarch/arm情况(b)类似,dt感知的引导加载程序需要设置以下寄存器:
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci         a0 : 0
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci         a1 : 0xffffffff
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci         a2 : RAM中指向设备树块的物理指针(在chapterII中定义)。
2862306a36Sopenharmony_ci              设备树可以位于前512MB物理地址空间(0x00000000 -
2962306a36Sopenharmony_ci              0x1fffffff)的任何位置,以64位边界对齐。
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  传统bootloaders不会使用这样的约定,并且它们不传入DT块。
3262306a36Sopenharmony_ci  在这种情况下,Linux将通过选中CONFIG_DT_*查找DTB。
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  以上约定只在32位系统中定义,因为目前没有任何64位的BMIPS实现。
35