aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-mips/system.h
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2005-06-23 11:57:15 -0400
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 14:31:31 -0400
commitc4559f67b73d6c34fde0faac5c6c890a2cf3527c (patch)
tree4063b3a937215684db85cc4f70eabd99cf3b8573 /include/asm-mips/system.h
parent69c75fb458cd81bb29e1d9580469110b00316748 (diff)
Always use ".set mips3" rather than select between "mips2" or "mips3"
for assembling ll/sc sequences to avoid problems with 64-bit configurations. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/system.h')
-rw-r--r--include/asm-mips/system.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h
index b9c24bbad9e2..30c7ec1675ca 100644
--- a/include/asm-mips/system.h
+++ b/include/asm-mips/system.h
@@ -176,7 +176,7 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val)
176 unsigned long dummy; 176 unsigned long dummy;
177 177
178 __asm__ __volatile__( 178 __asm__ __volatile__(
179 " .set mips2 \n" 179 " .set mips3 \n"
180 "1: ll %0, %3 # xchg_u32 \n" 180 "1: ll %0, %3 # xchg_u32 \n"
181 " move %2, %z4 \n" 181 " move %2, %z4 \n"
182 " sc %2, %1 \n" 182 " sc %2, %1 \n"
@@ -193,7 +193,7 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val)
193 unsigned long dummy; 193 unsigned long dummy;
194 194
195 __asm__ __volatile__( 195 __asm__ __volatile__(
196 " .set mips2 \n" 196 " .set mips3 \n"
197 "1: ll %0, %3 # xchg_u32 \n" 197 "1: ll %0, %3 # xchg_u32 \n"
198 " move %2, %z4 \n" 198 " move %2, %z4 \n"
199 " sc %2, %1 \n" 199 " sc %2, %1 \n"
@@ -301,7 +301,7 @@ static inline unsigned long __cmpxchg_u32(volatile int * m, unsigned long old,
301 __asm__ __volatile__( 301 __asm__ __volatile__(
302 " .set push \n" 302 " .set push \n"
303 " .set noat \n" 303 " .set noat \n"
304 " .set mips2 \n" 304 " .set mips3 \n"
305 "1: ll %0, %2 # __cmpxchg_u32 \n" 305 "1: ll %0, %2 # __cmpxchg_u32 \n"
306 " bne %0, %z3, 2f \n" 306 " bne %0, %z3, 2f \n"
307 " move $1, %z4 \n" 307 " move $1, %z4 \n"
@@ -320,7 +320,7 @@ static inline unsigned long __cmpxchg_u32(volatile int * m, unsigned long old,
320 __asm__ __volatile__( 320 __asm__ __volatile__(
321 " .set push \n" 321 " .set push \n"
322 " .set noat \n" 322 " .set noat \n"
323 " .set mips2 \n" 323 " .set mips3 \n"
324 "1: ll %0, %2 # __cmpxchg_u32 \n" 324 "1: ll %0, %2 # __cmpxchg_u32 \n"
325 " bne %0, %z3, 2f \n" 325 " bne %0, %z3, 2f \n"
326 " move $1, %z4 \n" 326 " move $1, %z4 \n"
@@ -376,7 +376,7 @@ static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old,
376 __asm__ __volatile__( 376 __asm__ __volatile__(
377 " .set push \n" 377 " .set push \n"
378 " .set noat \n" 378 " .set noat \n"
379 " .set mips2 \n" 379 " .set mips3 \n"
380 "1: lld %0, %2 # __cmpxchg_u64 \n" 380 "1: lld %0, %2 # __cmpxchg_u64 \n"
381 " bne %0, %z3, 2f \n" 381 " bne %0, %z3, 2f \n"
382 " move $1, %z4 \n" 382 " move $1, %z4 \n"