aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2009-09-16 20:25:05 -0400
committerRalf Baechle <ralf@linux-mips.org>2009-09-17 14:07:49 -0400
commit43e6ae6d9f08304682294c14c6b7f2b2441668e7 (patch)
tree0232f2aab68e6c2d7806878026b87bf5e6ea5df4 /arch
parentf1e39a4a616cd9981a9decfd5332fd07a01abb8b (diff)
MIPS: Rewrite clearing of ll_bit on context switch in C
This also means there is now only one implementation not 3 left. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/include/asm/system.h9
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/mips/include/asm/system.h b/arch/mips/include/asm/system.h
index 23f68b40d4bb..cc7262ff0765 100644
--- a/arch/mips/include/asm/system.h
+++ b/arch/mips/include/asm/system.h
@@ -66,16 +66,11 @@ do { \
66#define __mips_mt_fpaff_switch_to(prev) do { (void) (prev); } while (0) 66#define __mips_mt_fpaff_switch_to(prev) do { (void) (prev); } while (0)
67#endif 67#endif
68 68
69#ifdef CONFIG_CPU_HAS_LLSC
70#define __clear_software_ll_bit() do { } while (0)
71#else
72extern unsigned long ll_bit;
73
74#define __clear_software_ll_bit() \ 69#define __clear_software_ll_bit() \
75do { \ 70do { \
76 ll_bit = 0; \ 71 if (!__builtin_constant_p(cpu_has_llsc) || !cpu_has_llsc) \
72 ll_bit = 0; \
77} while (0) 73} while (0)
78#endif
79 74
80#define switch_to(prev, next, last) \ 75#define switch_to(prev, next, last) \
81do { \ 76do { \