ARM: 6999/1: head, zImage: Always Enter the kernel in ARM state
[firefly-linux-kernel-4.4.55.git] / arch / arm / kernel / head-nommu.S
index 6b1e0ad9ec3b7494d8b3474dca0a88256c836959..d46f25968bec2ce04143daa785de6a63cf4b635b 100644 (file)
  * numbers for r1.
  *
  */
+       .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
 #ifndef CONFIG_CPU_CP15