xref: /linux/Documentation/translations/zh_CN/arch/mips/booting.rst (revision ec62a746b65363f6078fb1eefc7faffe1a4cdc38)
1*ec62a746SCosta Shulyupin.. SPDX-License-Identifier: GPL-2.0
2*ec62a746SCosta Shulyupin
3*ec62a746SCosta Shulyupin.. include:: ../../disclaimer-zh_CN.rst
4*ec62a746SCosta Shulyupin
5*ec62a746SCosta Shulyupin:Original: Documentation/arch/mips/booting.rst
6*ec62a746SCosta Shulyupin
7*ec62a746SCosta Shulyupin:翻译:
8*ec62a746SCosta Shulyupin
9*ec62a746SCosta Shulyupin 司延腾 Yanteng Si <siyanteng@loongson.cn>
10*ec62a746SCosta Shulyupin
11*ec62a746SCosta Shulyupin.. _cn_booting:
12*ec62a746SCosta Shulyupin
13*ec62a746SCosta ShulyupinBMIPS设备树引导
14*ec62a746SCosta Shulyupin------------------------
15*ec62a746SCosta Shulyupin
16*ec62a746SCosta Shulyupin  一些bootloaders只支持在内核镜像开始地址处的单一入口点。而其它
17*ec62a746SCosta Shulyupin  bootloaders将跳转到ELF的开始地址处。两种方案都支持的;因为
18*ec62a746SCosta Shulyupin  CONFIG_BOOT_RAW=y and CONFIG_NO_EXCEPT_FILL=y, 所以第一条指令
19*ec62a746SCosta Shulyupin  会立即跳转到kernel_entry()入口处执行。
20*ec62a746SCosta Shulyupin
21*ec62a746SCosta Shulyupinarch/arm情况(b)类似,dt感知的引导加载程序需要设置以下寄存器:
22*ec62a746SCosta Shulyupin
23*ec62a746SCosta Shulyupin         a0 : 0
24*ec62a746SCosta Shulyupin
25*ec62a746SCosta Shulyupin         a1 : 0xffffffff
26*ec62a746SCosta Shulyupin
27*ec62a746SCosta Shulyupin         a2 : RAM中指向设备树块的物理指针(在chapterII中定义)。
28*ec62a746SCosta Shulyupin              设备树可以位于前512MB物理地址空间(0x00000000 -
29*ec62a746SCosta Shulyupin              0x1fffffff)的任何位置,以64位边界对齐。
30*ec62a746SCosta Shulyupin
31*ec62a746SCosta Shulyupin  传统bootloaders不会使用这样的约定,并且它们不传入DT块。
32*ec62a746SCosta Shulyupin  在这种情况下,Linux将通过选中CONFIG_DT_*查找DTB。
33*ec62a746SCosta Shulyupin
34*ec62a746SCosta Shulyupin  以上约定只在32位系统中定义,因为目前没有任何64位的BMIPS实现。
35