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