aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/head.S
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2011-09-07 14:18:36 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-09-07 14:18:36 -0700
commit7e66eaf14e19c032433be7c4df3c892fa2a5282f (patch)
tree56b0d5f9d16eb18744e102f3f216715196cd62e6 /arch/arm/kernel/head.S
parentInput: tsc2007 - add open and close methods (diff)
parentLinux 3.1-rc4 (diff)
downloadlinux-dev-7e66eaf14e19c032433be7c4df3c892fa2a5282f.tar.xz
linux-dev-7e66eaf14e19c032433be7c4df3c892fa2a5282f.zip
Merge commit 'v3.1-rc4' into next
Diffstat (limited to 'arch/arm/kernel/head.S')
-rw-r--r--arch/arm/kernel/head.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 278c1b0ebb2e..742b6108a001 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -71,8 +71,16 @@
* crap here - that's what the boot loader (or in extreme, well justified
* circumstances, zImage) is for.
*/
+ .arm
+
__HEAD
ENTRY(stext)
+
+ THUMB( adr r9, BSYM(1f) ) @ Kernel is always entered in ARM.
+ THUMB( bx r9 ) @ If this is a Thumb-2 kernel,
+ THUMB( .thumb ) @ switch to Thumb now.
+ THUMB(1: )
+
setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode
@ and irqs disabled
mrc p15, 0, r9, c0, c0 @ get processor id