|
@@ -71,8 +71,16 @@
|
|
* crap here - that's what the boot loader (or in extreme, well justified
|
|
* crap here - that's what the boot loader (or in extreme, well justified
|
|
* circumstances, zImage) is for.
|
|
* circumstances, zImage) is for.
|
|
*/
|
|
*/
|
|
|
|
+ .arm
|
|
|
|
+
|
|
__HEAD
|
|
__HEAD
|
|
ENTRY(stext)
|
|
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
|
|
setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode
|
|
@ and irqs disabled
|
|
@ and irqs disabled
|
|
mrc p15, 0, r9, c0, c0 @ get processor id
|
|
mrc p15, 0, r9, c0, c0 @ get processor id
|