aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/arm/Booting
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/arm/Booting')
-rw-r--r--Documentation/arm/Booting33
1 files changed, 4 insertions, 29 deletions
diff --git a/Documentation/arm/Booting b/Documentation/arm/Booting
index 4e686a2ed91e..76850295af8f 100644
--- a/Documentation/arm/Booting
+++ b/Documentation/arm/Booting
@@ -65,19 +65,13 @@ looks at the connected hardware is beyond the scope of this document.
65The boot loader must ultimately be able to provide a MACH_TYPE_xxx 65The boot loader must ultimately be able to provide a MACH_TYPE_xxx
66value to the kernel. (see linux/arch/arm/tools/mach-types). 66value to the kernel. (see linux/arch/arm/tools/mach-types).
67 67
684. Setup boot data 68
69------------------ 694. Setup the kernel tagged list
70-------------------------------
70 71
71Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED 72Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED
72New boot loaders: MANDATORY 73New boot loaders: MANDATORY
73 74
74The boot loader must provide either a tagged list or a dtb image for
75passing configuration data to the kernel. The physical address of the
76boot data is passed to the kernel in register r2.
77
784a. Setup the kernel tagged list
79--------------------------------
80
81The boot loader must create and initialise the kernel tagged list. 75The boot loader must create and initialise the kernel tagged list.
82A valid tagged list starts with ATAG_CORE and ends with ATAG_NONE. 76A valid tagged list starts with ATAG_CORE and ends with ATAG_NONE.
83The ATAG_CORE tag may or may not be empty. An empty ATAG_CORE tag 77The ATAG_CORE tag may or may not be empty. An empty ATAG_CORE tag
@@ -107,24 +101,6 @@ The tagged list must be placed in a region of memory where neither
107the kernel decompressor nor initrd 'bootp' program will overwrite 101the kernel decompressor nor initrd 'bootp' program will overwrite
108it. The recommended placement is in the first 16KiB of RAM. 102it. The recommended placement is in the first 16KiB of RAM.
109 103
1104b. Setup the device tree
111-------------------------
112
113The boot loader must load a device tree image (dtb) into system ram
114at a 64bit aligned address and initialize it with the boot data. The
115dtb format is documented in Documentation/devicetree/booting-without-of.txt.
116The kernel will look for the dtb magic value of 0xd00dfeed at the dtb
117physical address to determine if a dtb has been passed instead of a
118tagged list.
119
120The boot loader must pass at a minimum the size and location of the
121system memory, and the root filesystem location. The dtb must be
122placed in a region of memory where the kernel decompressor will not
123overwrite it. The recommended placement is in the first 16KiB of RAM
124with the caveat that it may not be located at physical address 0 since
125the kernel interprets a value of 0 in r2 to mean neither a tagged list
126nor a dtb were passed.
127
1285. Calling the kernel image 1045. Calling the kernel image
129--------------------------- 105---------------------------
130 106
@@ -149,8 +125,7 @@ In either case, the following conditions must be met:
149- CPU register settings 125- CPU register settings
150 r0 = 0, 126 r0 = 0,
151 r1 = machine type number discovered in (3) above. 127 r1 = machine type number discovered in (3) above.
152 r2 = physical address of tagged list in system RAM, or 128 r2 = physical address of tagged list in system RAM.
153 physical address of device tree block (dtb) in system RAM
154 129
155- CPU mode 130- CPU mode
156 All forms of interrupts must be disabled (IRQs and FIQs) 131 All forms of interrupts must be disabled (IRQs and FIQs)