1. BMIPS 设备树启动

一些引导加载程序(bootloaders)仅支持位于内核镜像起始处的单个入口点。其他引导加载程序则会跳转到 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 实现。