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
64 .globl kexec_start_address
68 .globl kexec_indirection_page
69 kexec_indirection_page:
72 .globl kexec_mach_type
76 /* phy addr of the atags for the new kernel */
77 .globl kexec_boot_atags
81 relocate_new_kernel_end:
83 .globl relocate_new_kernel_size
84 relocate_new_kernel_size:
85 .long relocate_new_kernel_end - relocate_new_kernel