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 Shulyupin 与arch/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