Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Mar 2008 14:05:18 GMT
From:      Oleksandr Tymoshenko <gonzo@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 138426 for review
Message-ID:  <200803241405.m2OE5IqO079629@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=138426

Change 138426 by gonzo@gonzo_jeeves on 2008/03/24 14:04:33

	o Instead of bare defines's of atomic_xxx_long use #define
	    with parameteres and type casts. 

Affected files ...

.. //depot/projects/mips2-jnpr/src/sys/mips/include/atomic.h#6 edit

Differences ...

==== //depot/projects/mips2-jnpr/src/sys/mips/include/atomic.h#6 (text+ko) ====

@@ -364,6 +364,7 @@
 #define	atomic_cmpset_rel_long	atomic_cmpset_rel_64
 #define	atomic_load_acq_long	atomic_load_acq_64
 #define	atomic_store_rel_long	atomic_store_rel_64
+#define	atomic_fetchadd_long	atomic_fetchadd_64
 #define	atomic_readandclear_long	atomic_readandclear_64
 
 /* Operations on pointers. */
@@ -395,10 +396,12 @@
 #define	atomic_clear_long	atomic_clear_32
 #define	atomic_clear_acq_long	atomic_clear_acq_32
 #define	atomic_clear_rel_long	atomic_clear_rel_32
-#define	atomic_add_long		atomic_add_32
+#define	atomic_add_long(p, v) \
+	atomic_add_32((volatile u_int *)(p), (u_int)(v))
 #define	atomic_add_acq_long	atomic_add_acq_32
 #define	atomic_add_rel_long	atomic_add_rel_32
-#define	atomic_subtract_long	atomic_subtract_32
+#define	atomic_subtract_long(p, v) \
+	atomic_subtract_32((volatile u_int *)(p), (u_int)(v))
 #define	atomic_subtract_acq_long	atomic_subtract_acq_32
 #define	atomic_subtract_rel_long	atomic_subtract_rel_32
 #define	atomic_cmpset_long	atomic_cmpset_32
@@ -406,6 +409,8 @@
 #define	atomic_cmpset_rel_long	atomic_cmpset_rel_32
 #define	atomic_load_acq_long	atomic_load_acq_32
 #define	atomic_store_rel_long	atomic_store_rel_32
+#define	atomic_fetchadd_long(p, v) \
+	atomic_fetchadd_32((volatile u_int *)(p), (u_int)(v))
 #define	atomic_readandclear_long	atomic_readandclear_32
 
 /* Operations on pointers. */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803241405.m2OE5IqO079629>