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 0:      /* top, read another word for the indirection page */
 
  17         /* Is it a destination page. Put destination address to r4 */
 
  23         /* Is it an indirection page */
 
  49         /* Jump to relocated kernel */
 
  52         ldr r1,kexec_mach_type
 
  53         ldr r2,kexec_boot_atags
 
  56         .globl kexec_start_address
 
  60         .globl kexec_indirection_page
 
  61 kexec_indirection_page:
 
  64         .globl kexec_mach_type
 
  68         /* phy addr of the atags for the new kernel */
 
  69         .globl kexec_boot_atags
 
  73 relocate_new_kernel_end:
 
  75         .globl relocate_new_kernel_size
 
  76 relocate_new_kernel_size:
 
  77         .long relocate_new_kernel_end - relocate_new_kernel