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
62 .globl kexec_start_address
66 .globl kexec_indirection_page
67 kexec_indirection_page:
70 .globl kexec_mach_type
74 /* phy addr of the atags for the new kernel */
75 .globl kexec_boot_atags
79 relocate_new_kernel_end:
81 .globl relocate_new_kernel_size
82 relocate_new_kernel_size:
83 .long relocate_new_kernel_end - relocate_new_kernel