diff options
author | 2013-02-21 17:07:14 +0100 | |
---|---|---|
committer | 2013-02-21 17:07:14 +0100 | |
commit | e29371d762df5bb35d2bc434ea266a046e5a0a75 (patch) | |
tree | dac4a8db52d92453415f35606130a49e9f32e4ef /arch/arm/include/asm/assembler.h | |
parent | netfilter: ipset: Fix range bug in hash:ip,port,net (diff) | |
parent | netfilter: nf_ct_reasm: fix per-netns sysctl initialization (diff) | |
download | linux-dev-e29371d762df5bb35d2bc434ea266a046e5a0a75.tar.xz linux-dev-e29371d762df5bb35d2bc434ea266a046e5a0a75.zip |
Merge branch 'master' of git://1984.lsi.us.es/nf
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 2ef95813fce0..eb87200aa4b5 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 /* |