summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/arch/arm/kernel/relocate_kernel.S
diff options
context:
space:
mode:
Diffstat (limited to 'ANDROID_3.4.5/arch/arm/kernel/relocate_kernel.S')
-rw-r--r--ANDROID_3.4.5/arch/arm/kernel/relocate_kernel.S88
1 files changed, 0 insertions, 88 deletions
diff --git a/ANDROID_3.4.5/arch/arm/kernel/relocate_kernel.S b/ANDROID_3.4.5/arch/arm/kernel/relocate_kernel.S
deleted file mode 100644
index d0cdedf4..00000000
--- a/ANDROID_3.4.5/arch/arm/kernel/relocate_kernel.S
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * relocate_kernel.S - put the kernel image in place to boot
- */
-
-#include <asm/kexec.h>
-
- .globl relocate_new_kernel
-relocate_new_kernel:
-
- ldr r0,kexec_indirection_page
- ldr r1,kexec_start_address
-
- /*
- * If there is no indirection page (we are doing crashdumps)
- * skip any relocation.
- */
- cmp r0, #0
- beq 2f
-
-0: /* top, read another word for the indirection page */
- ldr r3, [r0],#4
-
- /* Is it a destination page. Put destination address to r4 */
- tst r3,#1,0
- beq 1f
- bic r4,r3,#1
- b 0b
-1:
- /* Is it an indirection page */
- tst r3,#2,0
- beq 1f
- bic r0,r3,#2
- b 0b
-1:
-
- /* are we done ? */
- tst r3,#4,0
- beq 1f
- b 2f
-
-1:
- /* is it source ? */
- tst r3,#8,0
- beq 0b
- bic r3,r3,#8
- mov r6,#1024
-9:
- ldr r5,[r3],#4
- str r5,[r4],#4
- subs r6,r6,#1
- bne 9b
- b 0b
-
-2:
- /* Jump to relocated kernel */
- mov lr,r1
- mov r0,#0
- ldr r1,kexec_mach_type
- ldr r2,kexec_boot_atags
- ARM( mov pc, lr )
- THUMB( bx lr )
-
- .align
-
- .globl kexec_start_address
-kexec_start_address:
- .long 0x0
-
- .globl kexec_indirection_page
-kexec_indirection_page:
- .long 0x0
-
- .globl kexec_mach_type
-kexec_mach_type:
- .long 0x0
-
- /* phy addr of the atags for the new kernel */
- .globl kexec_boot_atags
-kexec_boot_atags:
- .long 0x0
-
-relocate_new_kernel_end:
-
- .globl relocate_new_kernel_size
-relocate_new_kernel_size:
- .long relocate_new_kernel_end - relocate_new_kernel
-
-