head.S (5ffb04f6690d71fab241b3562ebf52b893ac4ff1) | head.S (b90b9a38251e9c89c34179eccde57411ceb5f1aa) |
---|---|
1/* 2 * linux/arch/arm/boot/compressed/head.S 3 * 4 * Copyright (C) 1996-2002 Russell King 5 * Copyright (C) 2004 Hyok S. Choi (MPU support) 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 232 unchanged lines hidden (view full) --- 241#ifndef __ARMEB__ 242 ldr r1, =0xedfe0dd0 @ sig is 0xd00dfeed big endian 243#else 244 ldr r1, =0xd00dfeed 245#endif 246 cmp lr, r1 247 bne dtb_check_done @ not found 248 | 1/* 2 * linux/arch/arm/boot/compressed/head.S 3 * 4 * Copyright (C) 1996-2002 Russell King 5 * Copyright (C) 2004 Hyok S. Choi (MPU support) 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 232 unchanged lines hidden (view full) --- 241#ifndef __ARMEB__ 242 ldr r1, =0xedfe0dd0 @ sig is 0xd00dfeed big endian 243#else 244 ldr r1, =0xd00dfeed 245#endif 246 cmp lr, r1 247 bne dtb_check_done @ not found 248 |
249#ifdef CONFIG_ARM_ATAG_DTB_COMPAT 250 /* 251 * OK... Let's do some funky business here. 252 * If we do have a DTB appended to zImage, and we do have 253 * an ATAG list around, we want the later to be translated 254 * and folded into the former here. To be on the safe side, 255 * let's temporarily move the stack away into the malloc 256 * area. No GOT fixup has occurred yet, but none of the 257 * code we're about to call uses any global variable. 258 */ 259 add sp, sp, #0x10000 260 stmfd sp!, {r0-r3, ip, lr} 261 mov r0, r8 262 mov r1, r6 263 sub r2, sp, r6 264 bl atags_to_fdt 265 266 /* 267 * If returned value is 1, there is no ATAG at the location 268 * pointed by r8. Try the typical 0x100 offset from start 269 * of RAM and hope for the best. 270 */ 271 cmp r0, #1 272 sub r0, r4, #(TEXT_OFFSET - 0x100) 273 mov r1, r6 274 sub r2, sp, r6 275 blne atags_to_fdt 276 277 ldmfd sp!, {r0-r3, ip, lr} 278 sub sp, sp, #0x10000 279#endif 280 |
|
249 mov r8, r6 @ use the appended device tree 250 251 /* 252 * Make sure that the DTB doesn't end up in the final 253 * kernel's .bss area. To do so, we adjust the decompressed 254 * kernel size to compensate if that .bss size is larger 255 * than the relocated code. 256 */ --- 938 unchanged lines hidden --- | 281 mov r8, r6 @ use the appended device tree 282 283 /* 284 * Make sure that the DTB doesn't end up in the final 285 * kernel's .bss area. To do so, we adjust the decompressed 286 * kernel size to compensate if that .bss size is larger 287 * than the relocated code. 288 */ --- 938 unchanged lines hidden --- |