diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2009-12-02 06:33:03 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-12-02 13:09:51 -0500 |
commit | a91be9ee69b09cdaa02afd5d7056bc2e6d382cfe (patch) | |
tree | bd7edd41d67bb35c4339a62689df18744430c845 | |
parent | 2127816366e0ffbc1426fa69e7b9b2bebd2e2288 (diff) |
MIPS: Fix MIPS I build.
Broken by d63c63e889bbeeaa461a8addf1245f89f3ce4ece (lmo) rsp.
f1e39a4a616cd9981a9decfd5332fd07a01abb8b (kernel.org).
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Patchwork: http://patchwork.linux-mips.org/patch/746/
-rw-r--r-- | arch/mips/kernel/syscall.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index 3fe1fcfa2e73..fe0d79805603 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c | |||
@@ -306,6 +306,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
306 | 306 | ||
307 | if (cpu_has_llsc && R10000_LLSC_WAR) { | 307 | if (cpu_has_llsc && R10000_LLSC_WAR) { |
308 | __asm__ __volatile__ ( | 308 | __asm__ __volatile__ ( |
309 | " .set mips3 \n" | ||
309 | " li %[err], 0 \n" | 310 | " li %[err], 0 \n" |
310 | "1: ll %[old], (%[addr]) \n" | 311 | "1: ll %[old], (%[addr]) \n" |
311 | " move %[tmp], %[new] \n" | 312 | " move %[tmp], %[new] \n" |
@@ -320,6 +321,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
320 | " "STR(PTR)" 1b, 4b \n" | 321 | " "STR(PTR)" 1b, 4b \n" |
321 | " "STR(PTR)" 2b, 4b \n" | 322 | " "STR(PTR)" 2b, 4b \n" |
322 | " .previous \n" | 323 | " .previous \n" |
324 | " .set mips0 \n" | ||
323 | : [old] "=&r" (old), | 325 | : [old] "=&r" (old), |
324 | [err] "=&r" (err), | 326 | [err] "=&r" (err), |
325 | [tmp] "=&r" (tmp) | 327 | [tmp] "=&r" (tmp) |
@@ -329,6 +331,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
329 | : "memory"); | 331 | : "memory"); |
330 | } else if (cpu_has_llsc) { | 332 | } else if (cpu_has_llsc) { |
331 | __asm__ __volatile__ ( | 333 | __asm__ __volatile__ ( |
334 | " .set mips3 \n" | ||
332 | " li %[err], 0 \n" | 335 | " li %[err], 0 \n" |
333 | "1: ll %[old], (%[addr]) \n" | 336 | "1: ll %[old], (%[addr]) \n" |
334 | " move %[tmp], %[new] \n" | 337 | " move %[tmp], %[new] \n" |
@@ -347,6 +350,7 @@ static inline int mips_atomic_set(struct pt_regs *regs, | |||
347 | " "STR(PTR)" 1b, 5b \n" | 350 | " "STR(PTR)" 1b, 5b \n" |
348 | " "STR(PTR)" 2b, 5b \n" | 351 | " "STR(PTR)" 2b, 5b \n" |
349 | " .previous \n" | 352 | " .previous \n" |
353 | " .set mips0 \n" | ||
350 | : [old] "=&r" (old), | 354 | : [old] "=&r" (old), |
351 | [err] "=&r" (err), | 355 | [err] "=&r" (err), |
352 | [tmp] "=&r" (tmp) | 356 | [tmp] "=&r" (tmp) |