projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart
[powerpc.git]
/
include
/
asm-powerpc
/
futex.h
diff --git
a/include/asm-powerpc/futex.h
b/include/asm-powerpc/futex.h
index
37c94e5
..
f1b3c00
100644
(file)
--- a/
include/asm-powerpc/futex.h
+++ b/
include/asm-powerpc/futex.h
@@
-7,13
+7,14
@@
#include <asm/errno.h>
#include <asm/synch.h>
#include <asm/uaccess.h>
#include <asm/errno.h>
#include <asm/synch.h>
#include <asm/uaccess.h>
-#include <asm/
ppc_asm
.h>
+#include <asm/
asm-compat
.h>
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
__asm__ __volatile ( \
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
__asm__ __volatile ( \
- SYNC_ON_SMP \
+
LW
SYNC_ON_SMP \
"1: lwarx %0,0,%2\n" \
insn \
"1: lwarx %0,0,%2\n" \
insn \
+ PPC405_ERR77(0, %2) \
"2: stwcx. %1,0,%2\n" \
"bne- 1b\n" \
"li %1,0\n" \
"2: stwcx. %1,0,%2\n" \
"bne- 1b\n" \
"li %1,0\n" \
@@
-23,7
+24,7
@@
".previous\n" \
".section __ex_table,\"a\"\n" \
".align 3\n" \
".previous\n" \
".section __ex_table,\"a\"\n" \
".align 3\n" \
-
DATAL "
1b,4b,2b,4b\n" \
+
PPC_LONG "
1b,4b,2b,4b\n" \
".previous" \
: "=&r" (oldval), "=&r" (ret) \
: "b" (uaddr), "i" (-EFAULT), "1" (oparg) \
".previous" \
: "=&r" (oldval), "=&r" (ret) \
: "b" (uaddr), "i" (-EFAULT), "1" (oparg) \
@@
-80,5
+81,11
@@
static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr)
return ret;
}
return ret;
}
+static inline int
+futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval)
+{
+ return -ENOSYS;
+}
+
#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_FUTEX_H */
#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_FUTEX_H */