svn commit: r309619 - head/sys/cddl/compat/opensolaris/sys

Mateusz Guzik mjg at FreeBSD.org
Tue Dec 6 14:08:51 UTC 2016


Author: mjg
Date: Tue Dec  6 14:08:49 2016
New Revision: 309619
URL: https://svnweb.freebsd.org/changeset/base/309619

Log:
  ifndef atomic_cas_* in cddl code in preparation for native implementations
  
  This is a temporary change to not require all architectures to import at once.
  
  Discussed with:	jhb

Modified:
  head/sys/cddl/compat/opensolaris/sys/atomic.h

Modified: head/sys/cddl/compat/opensolaris/sys/atomic.h
==============================================================================
--- head/sys/cddl/compat/opensolaris/sys/atomic.h	Tue Dec  6 13:55:19 2016	(r309618)
+++ head/sys/cddl/compat/opensolaris/sys/atomic.h	Tue Dec  6 14:08:49 2016	(r309619)
@@ -41,11 +41,15 @@ extern void atomic_add_64(volatile uint6
 extern void atomic_dec_64(volatile uint64_t *target);
 #endif
 #ifndef __sparc64__
+#ifndef atomic_cas_32
 extern uint32_t atomic_cas_32(volatile uint32_t *target, uint32_t cmp,
     uint32_t newval);
+#endif
+#ifndef atomic_cas_64
 extern uint64_t atomic_cas_64(volatile uint64_t *target, uint64_t cmp,
     uint64_t newval);
 #endif
+#endif
 extern uint64_t atomic_add_64_nv(volatile uint64_t *target, int64_t delta);
 extern uint8_t atomic_or_8_nv(volatile uint8_t *target, uint8_t value);
 extern void membar_producer(void);
@@ -123,6 +127,7 @@ atomic_dec_64_nv(volatile uint64_t *targ
 	return (atomic_add_64_nv(target, -1));
 }
 
+#ifndef atomic_cas_ptr
 #if !defined(COMPAT_32BIT) && defined(__LP64__)
 static __inline void *
 atomic_cas_ptr(volatile void *target, void *cmp,  void *newval)
@@ -138,5 +143,6 @@ atomic_cas_ptr(volatile void *target, vo
 	    (uint32_t)cmp, (uint32_t)newval));
 }
 #endif	/* !defined(COMPAT_32BIT) && defined(__LP64__) */
+#endif
 
 #endif	/* !_OPENSOLARIS_SYS_ATOMIC_H_ */


More information about the svn-src-head mailing list