diff options
Diffstat (limited to 'include/asm-mips/system.h')
-rw-r--r-- | include/asm-mips/system.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index 30c7ec1675ca..36f34d8ddfac 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h | |||
@@ -178,7 +178,9 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) | |||
178 | __asm__ __volatile__( | 178 | __asm__ __volatile__( |
179 | " .set mips3 \n" | 179 | " .set mips3 \n" |
180 | "1: ll %0, %3 # xchg_u32 \n" | 180 | "1: ll %0, %3 # xchg_u32 \n" |
181 | " .set mips0 \n" | ||
181 | " move %2, %z4 \n" | 182 | " move %2, %z4 \n" |
183 | " .set mips3 \n" | ||
182 | " sc %2, %1 \n" | 184 | " sc %2, %1 \n" |
183 | " beqzl %2, 1b \n" | 185 | " beqzl %2, 1b \n" |
184 | ROT_IN_PIECES | 186 | ROT_IN_PIECES |
@@ -195,7 +197,9 @@ static inline unsigned long __xchg_u32(volatile int * m, unsigned int val) | |||
195 | __asm__ __volatile__( | 197 | __asm__ __volatile__( |
196 | " .set mips3 \n" | 198 | " .set mips3 \n" |
197 | "1: ll %0, %3 # xchg_u32 \n" | 199 | "1: ll %0, %3 # xchg_u32 \n" |
200 | " .set mips0 \n" | ||
198 | " move %2, %z4 \n" | 201 | " move %2, %z4 \n" |
202 | " .set mips3 \n" | ||
199 | " sc %2, %1 \n" | 203 | " sc %2, %1 \n" |
200 | " beqz %2, 1b \n" | 204 | " beqz %2, 1b \n" |
201 | #ifdef CONFIG_SMP | 205 | #ifdef CONFIG_SMP |