diff options
Diffstat (limited to 'arch/arm/kernel/entry-header.S')
-rw-r--r-- | arch/arm/kernel/entry-header.S | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/arm/kernel/entry-header.S b/arch/arm/kernel/entry-header.S index 4039d8c120b5..109f4f10d314 100644 --- a/arch/arm/kernel/entry-header.S +++ b/arch/arm/kernel/entry-header.S | |||
@@ -63,25 +63,21 @@ | |||
63 | #define S_R0 0 | 63 | #define S_R0 0 |
64 | #define S_OFF 8 | 64 | #define S_OFF 8 |
65 | 65 | ||
66 | .macro set_cpsr_c, reg, mode | ||
67 | msr cpsr_c, \mode | ||
68 | .endm | ||
69 | |||
70 | #if __LINUX_ARM_ARCH__ >= 6 | 66 | #if __LINUX_ARM_ARCH__ >= 6 |
71 | .macro disable_irq, temp | 67 | .macro disable_irq |
72 | cpsid i | 68 | cpsid i |
73 | .endm | 69 | .endm |
74 | 70 | ||
75 | .macro enable_irq, temp | 71 | .macro enable_irq |
76 | cpsie i | 72 | cpsie i |
77 | .endm | 73 | .endm |
78 | #else | 74 | #else |
79 | .macro disable_irq, temp | 75 | .macro disable_irq |
80 | set_cpsr_c \temp, #PSR_I_BIT | MODE_SVC | 76 | msr cpsr_c, #PSR_I_BIT | SVC_MODE |
81 | .endm | 77 | .endm |
82 | 78 | ||
83 | .macro enable_irq, temp | 79 | .macro enable_irq |
84 | set_cpsr_c \temp, #MODE_SVC | 80 | msr cpsr_c, #SVC_MODE |
85 | .endm | 81 | .endm |
86 | #endif | 82 | #endif |
87 | 83 | ||