svn commit: r359264 - head/sys/arm/include
Conrad Meyer
cem at FreeBSD.org
Mon Mar 23 23:00:14 UTC 2020
Author: cem
Date: Mon Mar 23 23:00:13 2020
New Revision: 359264
URL: https://svnweb.freebsd.org/changeset/base/359264
Log:
arm: Fix atomic long APIs to correct 'u_long' signedness
As defined in atomic(9) and implemented on other architectures, the
atomic(9) functions all act on unsigned pointers and types. Prior to this
revision, arm implemented some atomic(9) 'long' sized routines with correct
unsigned type, but others were incorrectly signed.
Reviewed by: tinderbox
Sponsored by: Dell EMC Isilon
Modified:
head/sys/arm/include/atomic-v6.h
Modified: head/sys/arm/include/atomic-v6.h
==============================================================================
--- head/sys/arm/include/atomic-v6.h Mon Mar 23 21:26:32 2020 (r359263)
+++ head/sys/arm/include/atomic-v6.h Mon Mar 23 23:00:13 2020 (r359264)
@@ -325,31 +325,31 @@ atomic_fcmpset_rel_32(volatile uint32_t *_ptr, uint32_
}
static __inline int
-atomic_fcmpset_long(volatile long *_ptr, long *_old, long _new)
+atomic_fcmpset_long(volatile u_long *_ptr, u_long *_old, u_long _new)
{
int ret;
- ATOMIC_FCMPSET_CODE(ret, long, "");
+ ATOMIC_FCMPSET_CODE(ret, u_long, "");
return (ret);
}
static __inline int
-atomic_fcmpset_acq_long(volatile long *_ptr, long *_old, long _new)
+atomic_fcmpset_acq_long(volatile u_long *_ptr, u_long *_old, u_long _new)
{
int ret;
- ATOMIC_FCMPSET_CODE(ret, long, "");
+ ATOMIC_FCMPSET_CODE(ret, u_long, "");
dmb();
return (ret);
}
static __inline int
-atomic_fcmpset_rel_long(volatile long *_ptr, long *_old, long _new)
+atomic_fcmpset_rel_long(volatile u_long *_ptr, u_long *_old, u_long _new)
{
int ret;
dmb();
- ATOMIC_FCMPSET_CODE(ret, long, "");
+ ATOMIC_FCMPSET_CODE(ret, u_long, "");
return (ret);
}
@@ -509,7 +509,7 @@ atomic_cmpset_rel_32(volatile uint32_t *_ptr, uint32_t
}
static __inline int
-atomic_cmpset_long(volatile long *_ptr, long _old, long _new)
+atomic_cmpset_long(volatile u_long *_ptr, u_long _old, u_long _new)
{
int ret;
@@ -518,7 +518,7 @@ atomic_cmpset_long(volatile long *_ptr, long _old, lon
}
static __inline int
-atomic_cmpset_acq_long(volatile long *_ptr, long _old, long _new)
+atomic_cmpset_acq_long(volatile u_long *_ptr, u_long _old, u_long _new)
{
int ret;
@@ -528,7 +528,7 @@ atomic_cmpset_acq_long(volatile long *_ptr, long _old,
}
static __inline int
-atomic_cmpset_rel_long(volatile long *_ptr, long _old, long _new)
+atomic_cmpset_rel_long(volatile u_long *_ptr, u_long _old, u_long _new)
{
int ret;
More information about the svn-src-all
mailing list