2 * relocate_kernel.S - put the kernel image in place to boot
7 .globl relocate_new_kernel
10 ldr r0,kexec_indirection_page
11 ldr r1,kexec_start_address
14 * If there is no indirection page (we are doing crashdumps)
15 * skip any relocation.
20 0: /* top, read another word for the indirection page */
23 /* Is it a destination page. Put destination address to r4 */
29 /* Is it an indirection page */
55 /* Jump to relocated kernel */
58 ldr r1,kexec_mach_type
59 ldr r2,kexec_boot_atags
65 .globl kexec_start_address
69 .globl kexec_indirection_page
70 kexec_indirection_page:
73 .globl kexec_mach_type
77 /* phy addr of the atags for the new kernel */
78 .globl kexec_boot_atags
82 relocate_new_kernel_end:
84 .globl relocate_new_kernel_size
85 relocate_new_kernel_size:
86 .long relocate_new_kernel_end - relocate_new_kernel