summary refs log tree commit diff
path: root/arch/arm/kernel/sleep.S
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-06-12 21:18:59 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-06-12 21:18:59 +0100
commita9dd3865dd1bd996a7e6af808645b7e566ced009 (patch)
tree4a11fe3663f1e7c375bb8d33af85d8b1ad5e5ad5 /arch/arm/kernel/sleep.S
parent27a513ca8600e96790f9f3a3c3182da947e569d2 (diff)
parent2678bb9fa137726a0b83dd61a9c1636543066755 (diff)
downloadlinux-a9dd3865dd1bd996a7e6af808645b7e566ced009.tar.gz
Merge branch 'for-arm-soc' into for-next
Diffstat (limited to 'arch/arm/kernel/sleep.S')
-rw-r--r--arch/arm/kernel/sleep.S14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/kernel/sleep.S b/arch/arm/kernel/sleep.S
index 76bb3128e135..c5e1e21a294f 100644
--- a/arch/arm/kernel/sleep.S
+++ b/arch/arm/kernel/sleep.S
@@ -118,6 +118,16 @@ ENDPROC(cpu_resume_after_mmu)
 
 	.text
 	.align
+
+#ifdef CONFIG_MMU
+	.arm
+ENTRY(cpu_resume_arm)
+ THUMB(	adr	r9, BSYM(1f)	)	@ Kernel is entered in ARM.
+ THUMB(	bx	r9		)	@ If this is a Thumb-2 kernel,
+ THUMB(	.thumb			)	@ switch to Thumb now.
+ THUMB(1:			)
+#endif
+
 ENTRY(cpu_resume)
 ARM_BE8(setend be)			@ ensure we are in BE mode
 #ifdef CONFIG_ARM_VIRT_EXT
@@ -150,6 +160,10 @@ THUMB(	mov	sp, r2			)
 THUMB(	bx	r3			)
 ENDPROC(cpu_resume)
 
+#ifdef CONFIG_MMU
+ENDPROC(cpu_resume_arm)
+#endif
+
 	.align 2
 _sleep_save_sp:
 	.long	sleep_save_sp - .