diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2009-09-16 20:25:05 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-09-17 14:07:49 -0400 |
commit | 43e6ae6d9f08304682294c14c6b7f2b2441668e7 (patch) | |
tree | 0232f2aab68e6c2d7806878026b87bf5e6ea5df4 /arch | |
parent | f1e39a4a616cd9981a9decfd5332fd07a01abb8b (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.h | 9 |
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 | ||
72 | extern unsigned long ll_bit; | ||
73 | |||
74 | #define __clear_software_ll_bit() \ | 69 | #define __clear_software_ll_bit() \ |
75 | do { \ | 70 | do { \ |
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) \ |
81 | do { \ | 76 | do { \ |