diff options
| author | Michal Marek <mmarek@suse.cz> | 2013-02-25 21:50:05 +0100 |
|---|---|---|
| committer | Michal Marek <mmarek@suse.cz> | 2013-02-25 21:51:57 +0100 |
| commit | e3900e74f26fc924c8e9e2a922bd40369b0bb517 (patch) | |
| tree | 6e868575d346032ba9408f350c6e5369e0e52b0d /arch/arm/include/asm/assembler.h | |
| parent | 62dc989921df2a98d1a73aacd085abe941cb9828 (diff) | |
| parent | 02f3e53a131c8aa3fe3c954058f1add5beeae621 (diff) | |
Merge branch 'kbuild/rc-fixes' into kbuild/kconfig
There is one kconfig fix in the rc-fixes branch that I forgot to submit
for 3.8, so let's add it to the kconfig branch for 3.9-rc1.
Diffstat (limited to 'arch/arm/include/asm/assembler.h')
| -rw-r--r-- | arch/arm/include/asm/assembler.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h index 2ef95813fce..eb87200aa4b 100644 --- a/arch/arm/include/asm/assembler.h +++ b/arch/arm/include/asm/assembler.h @@ -250,6 +250,7 @@ * 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 /* |
