summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2005-04-07 22:06:05 +0000
committercognet <cognet@FreeBSD.org>2005-04-07 22:06:05 +0000
commitc7b04f713ad19008e52328627ff7e7fd95fccf6c (patch)
treea7a132fcb03b58da77324c636dadc7fe0ad7cb73 /lib
parent6bb6868e16cce899dd3916374ae46919f01ee618 (diff)
downloadFreeBSD-src-c7b04f713ad19008e52328627ff7e7fd95fccf6c.zip
FreeBSD-src-c7b04f713ad19008e52328627ff7e7fd95fccf6c.tar.gz
Use the new atomic_cmpset_32().
Diffstat (limited to 'lib')
-rw-r--r--lib/libkse/arch/arm/include/atomic_ops.h15
-rw-r--r--lib/libpthread/arch/arm/include/atomic_ops.h15
-rw-r--r--lib/libthr/arch/arm/Makefile.inc2
-rw-r--r--lib/libthr/arch/arm/include/pthread_md.h18
4 files changed, 0 insertions, 50 deletions
diff --git a/lib/libkse/arch/arm/include/atomic_ops.h b/lib/libkse/arch/arm/include/atomic_ops.h
index 1ee5d80..3a209b3 100644
--- a/lib/libkse/arch/arm/include/atomic_ops.h
+++ b/lib/libkse/arch/arm/include/atomic_ops.h
@@ -51,18 +51,3 @@ atomic_swap32(intptr_t *dst, intptr_t val, intptr_t *res)
atomic_swap32((intptr_t *)d, (intptr_t)v, (intptr_t *)r)
#endif
-static inline u_int32_t
-atomic_cmpset_32(volatile u_int32_t *p, u_int32_t cmpval, u_int32_t newval)
-{
- kse_critical_t crit = _kse_critical_enter();
- int ret;
-
- if (*p == cmpval) {
- *p = newval;
- ret = 1;
- } else
- ret = 0;
- _kse_critical_leave(crit);
- return (ret);
-}
-
diff --git a/lib/libpthread/arch/arm/include/atomic_ops.h b/lib/libpthread/arch/arm/include/atomic_ops.h
index 1ee5d80..3a209b3 100644
--- a/lib/libpthread/arch/arm/include/atomic_ops.h
+++ b/lib/libpthread/arch/arm/include/atomic_ops.h
@@ -51,18 +51,3 @@ atomic_swap32(intptr_t *dst, intptr_t val, intptr_t *res)
atomic_swap32((intptr_t *)d, (intptr_t)v, (intptr_t *)r)
#endif
-static inline u_int32_t
-atomic_cmpset_32(volatile u_int32_t *p, u_int32_t cmpval, u_int32_t newval)
-{
- kse_critical_t crit = _kse_critical_enter();
- int ret;
-
- if (*p == cmpval) {
- *p = newval;
- ret = 1;
- } else
- ret = 0;
- _kse_critical_leave(crit);
- return (ret);
-}
-
diff --git a/lib/libthr/arch/arm/Makefile.inc b/lib/libthr/arch/arm/Makefile.inc
index 5a959d3..508d2b4 100644
--- a/lib/libthr/arch/arm/Makefile.inc
+++ b/lib/libthr/arch/arm/Makefile.inc
@@ -2,6 +2,4 @@
.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH}
-CFLAGS+= -DARM_HAS_ATOMIC_CMPSET_32
-
SRCS+= pthread_md.c
diff --git a/lib/libthr/arch/arm/include/pthread_md.h b/lib/libthr/arch/arm/include/pthread_md.h
index 626d567..d9deff9 100644
--- a/lib/libthr/arch/arm/include/pthread_md.h
+++ b/lib/libthr/arch/arm/include/pthread_md.h
@@ -37,8 +37,6 @@
#include <stddef.h>
#include <errno.h>
-static __inline int atomic_cmpset_32(volatile uint32_t *, uint32_t, uint32_t);
-
#include <sys/umtx.h>
#define DTV_OFFSET offsetof(struct tcb, tcb_dtv)
@@ -87,20 +85,4 @@ _get_curthread(void)
extern struct umtx arm_umtx;
-static __inline int
-atomic_cmpset_32(volatile uint32_t *dst, uint32_t old, uint32_t newval)
-{
- int ret;
-
- _umtx_lock(&arm_umtx);
- arm_umtx.u_owner = (void*)((uint32_t)arm_umtx.u_owner | UMTX_CONTESTED);
- if (*dst == old) {
- *dst = newval;
- ret = 1;
- } else
- ret = 0;
- _umtx_unlock(&arm_umtx);
- return (ret);
-}
-
#endif /* _PTHREAD_MD_H_ */
OpenPOWER on IntegriCloud