|
From: Kenn H. <ke...@us...> - 2001-01-29 00:44:30
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax
In directory usw-pr-cvs1:/tmp/cvs-serv25963
Modified Files:
atomic.h
Log Message:
Added atomic_add_negative (returns non-zero if count still negative
Index: atomic.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/atomic.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- atomic.h 2001/01/17 16:18:52 1.1
+++ atomic.h 2001/01/29 00:44:21 1.2
@@ -94,5 +94,20 @@
#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)
+/* This one returns non-zero if the result is negative */
+static __inline__ int atomic_add_negative(int i, atomic_t *v)
+{
+ int retval = 0;
+ __asm__ __volatile__(
+ " addl2 %2,%1 \n"
+ " blss 1f \n"
+ " incl %0 \n"
+ "1: \n"
+ : "=g" (retval)
+ : "m" (*v), "g" (i));
+
+ return retval;
+}
+
#endif /* _ARCH_VAX_ATOMIC*/
|