1. BMIPS 设备树引导¶
一些引导加载程序只支持一个入口点,位于内核映像的开头。其他引导加载程序将跳转到 ELF 启动地址。两种方案都支持;CONFIG_BOOT_RAW=y 和 CONFIG_NO_EXCEPT_FILL=y,因此第一条指令立即跳转到 kernel_entry()。
类似于 arch/arm 的情况 (b),一个支持 DT 的引导加载程序应该设置以下寄存器
a0 : 0
a1 : 0xffffffff
a2 : RAM 中设备树块的物理指针(在第二章中定义)。设备树可以位于物理地址空间的前 512MB (0x00000000 - 0x1fffffff) 中的任何位置,并以 64 位边界对齐。
传统的引导加载程序不使用此约定,并且它们不传入 DT 块。在这种情况下,Linux 将查找内置的 DTB,并通过 CONFIG_DT_* 选择。
此约定仅为 32 位系统定义,因为目前没有任何 64 位 BMIPS 实现。