| .. SPDX-License-Identifier: GPL-2.0 | |
| BMIPS DeviceTree Booting | |
| ------------------------ | |
| Some bootloaders only support a single entry point, at the start of the | |
| kernel image. Other bootloaders will jump to the ELF start address. | |
| Both schemes are supported; CONFIG_BOOT_RAW=y and CONFIG_NO_EXCEPT_FILL=y, | |
| so the first instruction immediately jumps to kernel_entry(). | |
| Similar to the arch/arm case (b), a DT-aware bootloader is expected to | |
| set up the following registers: | |
| a0 : 0 | |
| a1 : 0xffffffff | |
| a2 : Physical pointer to the device tree block (defined in chapter | |
| II) in RAM. The device tree can be located anywhere in the first | |
| 512MB of the physical address space (0x00000000 - 0x1fffffff), | |
| aligned on a 64 bit boundary. | |
| Legacy bootloaders do not use this convention, and they do not pass in a | |
| DT block. In this case, Linux will look for a builtin DTB, selected via | |
| CONFIG_DT_*. | |
| This convention is defined for 32-bit systems only, as there are not | |
| currently any 64-bit BMIPS implementations. |