Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6

* 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
Revert "dt: add documentation of ARM dt boot interface"

+4 -69
+4 -29
Documentation/arm/Booting
··· 65 65 The boot loader must ultimately be able to provide a MACH_TYPE_xxx 66 66 value to the kernel. (see linux/arch/arm/tools/mach-types). 67 67 68 - 4. Setup boot data 69 - ------------------ 68 + 69 + 4. Setup the kernel tagged list 70 + ------------------------------- 70 71 71 72 Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED 72 73 New boot loaders: MANDATORY 73 - 74 - The boot loader must provide either a tagged list or a dtb image for 75 - passing configuration data to the kernel. The physical address of the 76 - boot data is passed to the kernel in register r2. 77 - 78 - 4a. Setup the kernel tagged list 79 - -------------------------------- 80 74 81 75 The boot loader must create and initialise the kernel tagged list. 82 76 A valid tagged list starts with ATAG_CORE and ends with ATAG_NONE. ··· 101 107 the kernel decompressor nor initrd 'bootp' program will overwrite 102 108 it. The recommended placement is in the first 16KiB of RAM. 103 109 104 - 4b. Setup the device tree 105 - ------------------------- 106 - 107 - The boot loader must load a device tree image (dtb) into system ram 108 - at a 64bit aligned address and initialize it with the boot data. The 109 - dtb format is documented in Documentation/devicetree/booting-without-of.txt. 110 - The kernel will look for the dtb magic value of 0xd00dfeed at the dtb 111 - physical address to determine if a dtb has been passed instead of a 112 - tagged list. 113 - 114 - The boot loader must pass at a minimum the size and location of the 115 - system memory, and the root filesystem location. The dtb must be 116 - placed in a region of memory where the kernel decompressor will not 117 - overwrite it. The recommended placement is in the first 16KiB of RAM 118 - with the caveat that it may not be located at physical address 0 since 119 - the kernel interprets a value of 0 in r2 to mean neither a tagged list 120 - nor a dtb were passed. 121 - 122 110 5. Calling the kernel image 123 111 --------------------------- 124 112 ··· 125 149 - CPU register settings 126 150 r0 = 0, 127 151 r1 = machine type number discovered in (3) above. 128 - r2 = physical address of tagged list in system RAM, or 129 - physical address of device tree block (dtb) in system RAM 152 + r2 = physical address of tagged list in system RAM. 130 153 131 154 - CPU mode 132 155 All forms of interrupts must be disabled (IRQs and FIQs)
-40
Documentation/devicetree/booting-without-of.txt
··· 13 13 14 14 I - Introduction 15 15 1) Entry point for arch/powerpc 16 - 2) Entry point for arch/arm 17 16 18 17 II - The DT block format 19 18 1) Header ··· 224 225 platforms feature the same core architecture. A single kernel build 225 226 cannot support both configurations with Book E and configurations 226 227 with classic Powerpc architectures. 227 - 228 - 2) Entry point for arch/arm 229 - --------------------------- 230 - 231 - There is one single entry point to the kernel, at the start 232 - of the kernel image. That entry point supports two calling 233 - conventions. A summary of the interface is described here. A full 234 - description of the boot requirements is documented in 235 - Documentation/arm/Booting 236 - 237 - a) ATAGS interface. Minimal information is passed from firmware 238 - to the kernel with a tagged list of predefined parameters. 239 - 240 - r0 : 0 241 - 242 - r1 : Machine type number 243 - 244 - r2 : Physical address of tagged list in system RAM 245 - 246 - b) Entry with a flattened device-tree block. Firmware loads the 247 - physical address of the flattened device tree block (dtb) into r2, 248 - r1 is not used, but it is considered good practise to use a valid 249 - machine number as described in Documentation/arm/Booting. 250 - 251 - r0 : 0 252 - 253 - r1 : Valid machine type number. When using a device tree, 254 - a single machine type number will often be assigned to 255 - represent a class or family of SoCs. 256 - 257 - r2 : physical pointer to the device-tree block 258 - (defined in chapter II) in RAM. Device tree can be located 259 - anywhere in system RAM, but it should be aligned on a 32 bit 260 - boundary. 261 - 262 - The kernel will differentiate between ATAGS and device tree booting by 263 - reading the memory pointed to by r1 and looking for either the flattened 264 - device tree block magic value (0xd00dfeed) or the ATAG_CORE value at 265 - offset 0x4 from r2 (0x54410001). 266 228 267 229 268 230 II - The DT block format