ARM: 7599/1: head: Remove boot-time HYP mode check for v5 and below
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / arm / include / asm / assembler.h
index 2ef9581..eb87200 100644 (file)
  * Beware, it also clobers LR.
  */
 .macro safe_svcmode_maskall reg:req
+#if __LINUX_ARM_ARCH__ >= 6
        mrs     \reg , cpsr
        mov     lr , \reg
        and     lr , lr , #MODE_MASK
@@ -266,6 +267,13 @@ THUMB(     orr     \reg , \reg , #PSR_T_BIT        )
        __ERET
 1:     msr     cpsr_c, \reg
 2:
+#else
+/*
+ * workaround for possibly broken pre-v6 hardware
+ * (akita, Sharp Zaurus C-1000, PXA270-based)
+ */
+       setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, \reg
+#endif
 .endm
 
 /*