1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunBMIPS DeviceTree Booting 4*4882a593Smuzhiyun------------------------ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun Some bootloaders only support a single entry point, at the start of the 7*4882a593Smuzhiyun kernel image. Other bootloaders will jump to the ELF start address. 8*4882a593Smuzhiyun Both schemes are supported; CONFIG_BOOT_RAW=y and CONFIG_NO_EXCEPT_FILL=y, 9*4882a593Smuzhiyun so the first instruction immediately jumps to kernel_entry(). 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun Similar to the arch/arm case (b), a DT-aware bootloader is expected to 12*4882a593Smuzhiyun set up the following registers: 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun a0 : 0 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun a1 : 0xffffffff 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun a2 : Physical pointer to the device tree block (defined in chapter 19*4882a593Smuzhiyun II) in RAM. The device tree can be located anywhere in the first 20*4882a593Smuzhiyun 512MB of the physical address space (0x00000000 - 0x1fffffff), 21*4882a593Smuzhiyun aligned on a 64 bit boundary. 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun Legacy bootloaders do not use this convention, and they do not pass in a 24*4882a593Smuzhiyun DT block. In this case, Linux will look for a builtin DTB, selected via 25*4882a593Smuzhiyun CONFIG_DT_*. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun This convention is defined for 32-bit systems only, as there are not 28*4882a593Smuzhiyun currently any 64-bit BMIPS implementations. 29