diff options
Diffstat (limited to 'arch/powerpc/include/asm/futex.h')
-rw-r--r-- | arch/powerpc/include/asm/futex.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/include/asm/futex.h b/arch/powerpc/include/asm/futex.h index 6d406c5c5de4..9696cc36d2dc 100644 --- a/arch/powerpc/include/asm/futex.h +++ b/arch/powerpc/include/asm/futex.h | |||
@@ -27,7 +27,7 @@ | |||
27 | PPC_LONG "1b,4b,2b,4b\n" \ | 27 | PPC_LONG "1b,4b,2b,4b\n" \ |
28 | ".previous" \ | 28 | ".previous" \ |
29 | : "=&r" (oldval), "=&r" (ret) \ | 29 | : "=&r" (oldval), "=&r" (ret) \ |
30 | : "b" (uaddr), "i" (-EFAULT), "1" (oparg) \ | 30 | : "b" (uaddr), "i" (-EFAULT), "r" (oparg) \ |
31 | : "cr0", "memory") | 31 | : "cr0", "memory") |
32 | 32 | ||
33 | static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | 33 | static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) |
@@ -47,19 +47,19 @@ static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | |||
47 | 47 | ||
48 | switch (op) { | 48 | switch (op) { |
49 | case FUTEX_OP_SET: | 49 | case FUTEX_OP_SET: |
50 | __futex_atomic_op("", ret, oldval, uaddr, oparg); | 50 | __futex_atomic_op("mr %1,%4\n", ret, oldval, uaddr, oparg); |
51 | break; | 51 | break; |
52 | case FUTEX_OP_ADD: | 52 | case FUTEX_OP_ADD: |
53 | __futex_atomic_op("add %1,%0,%1\n", ret, oldval, uaddr, oparg); | 53 | __futex_atomic_op("add %1,%0,%4\n", ret, oldval, uaddr, oparg); |
54 | break; | 54 | break; |
55 | case FUTEX_OP_OR: | 55 | case FUTEX_OP_OR: |
56 | __futex_atomic_op("or %1,%0,%1\n", ret, oldval, uaddr, oparg); | 56 | __futex_atomic_op("or %1,%0,%4\n", ret, oldval, uaddr, oparg); |
57 | break; | 57 | break; |
58 | case FUTEX_OP_ANDN: | 58 | case FUTEX_OP_ANDN: |
59 | __futex_atomic_op("andc %1,%0,%1\n", ret, oldval, uaddr, oparg); | 59 | __futex_atomic_op("andc %1,%0,%4\n", ret, oldval, uaddr, oparg); |
60 | break; | 60 | break; |
61 | case FUTEX_OP_XOR: | 61 | case FUTEX_OP_XOR: |
62 | __futex_atomic_op("xor %1,%0,%1\n", ret, oldval, uaddr, oparg); | 62 | __futex_atomic_op("xor %1,%0,%4\n", ret, oldval, uaddr, oparg); |
63 | break; | 63 | break; |
64 | default: | 64 | default: |
65 | ret = -ENOSYS; | 65 | ret = -ENOSYS; |