PERFORCE change 134509 for review

Olivier Houchard cognet at FreeBSD.org
Wed Jan 30 15:59:39 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=134509

Change 134509 by cognet at hulglah on 2008/01/30 23:59:18

	Use 32bits longs for mips32, and 64bits pointers for mips64.
	XXX: 64bits atomic operations aren't implemented.

Affected files ...

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

Differences ...

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

@@ -345,6 +345,7 @@
 #define	atomic_readandset_int	atomic_readandset_32
 #define	atomic_fetchadd_int	atomic_fetchadd_32
 
+#ifdef __mips64
 /* Operations on longs. */
 #define	atomic_set_long		atomic_set_64
 #define	atomic_set_acq_long	atomic_set_acq_64
@@ -366,6 +367,48 @@
 #define	atomic_readandclear_long	atomic_readandclear_64
 
 /* Operations on pointers. */
+#define	atomic_set_ptr		atomic_set_64
+#define	atomic_set_acq_ptr	atomic_set_acq_64
+#define	atomic_set_rel_ptr	atomic_set_rel_64
+#define	atomic_clear_ptr	atomic_clear_64
+#define	atomic_clear_acq_ptr	atomic_clear_acq_64
+#define	atomic_clear_rel_ptr	atomic_clear_rel_64
+#define	atomic_add_ptr		atomic_add_64
+#define	atomic_add_acq_ptr	atomic_add_acq_64
+#define	atomic_add_rel_ptr	atomic_add_rel_64
+#define	atomic_subtract_ptr	atomic_subtract_64
+#define	atomic_subtract_acq_ptr	atomic_subtract_acq_64
+#define	atomic_subtract_rel_ptr	atomic_subtract_rel_64
+#define	atomic_cmpset_ptr	atomic_cmpset_64
+#define	atomic_cmpset_acq_ptr	atomic_cmpset_acq_64
+#define	atomic_cmpset_rel_ptr	atomic_cmpset_rel_64
+#define	atomic_load_acq_ptr	atomic_load_acq_64
+#define	atomic_store_rel_ptr	atomic_store_rel_64
+#define	atomic_readandclear_ptr	atomic_readandclear_64
+
+#else /* __mips64 */
+
+/* Operations on longs. */
+#define	atomic_set_long		atomic_set_32
+#define	atomic_set_acq_long	atomic_set_acq_32
+#define	atomic_set_rel_long	atomic_set_rel_32
+#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_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_acq_long	atomic_subtract_acq_32
+#define	atomic_subtract_rel_long	atomic_subtract_rel_32
+#define	atomic_cmpset_long	atomic_cmpset_32
+#define	atomic_cmpset_acq_long	atomic_cmpset_acq_32
+#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_readandclear_long	atomic_readandclear_32
+
+/* Operations on pointers. */
 #define	atomic_set_ptr		atomic_set_32
 #define	atomic_set_acq_ptr	atomic_set_acq_32
 #define	atomic_set_rel_ptr	atomic_set_rel_32
@@ -384,5 +427,6 @@
 #define	atomic_load_acq_ptr	atomic_load_acq_32
 #define	atomic_store_rel_ptr	atomic_store_rel_32
 #define	atomic_readandclear_ptr	atomic_readandclear_32
+#endif /* __mips64 */
 
 #endif /* ! _MACHINE_ATOMIC_H_ */


More information about the p4-projects mailing list