summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel/asm/atomic.h
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2015-09-30 12:01:52 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2015-09-30 12:01:52 +0000
commit160740c3ccd45d992c559f0cb51f9f70e98ad8d0 (patch)
tree2299af6115426d5f97c60882b97a5180490a039d /usr/src/uts/intel/asm/atomic.h
parent6f40e38fe79ea829e8803cbb6d68ed166db541c7 (diff)
parentadb26135f9399e574196b45d6ab3ba1bb470e60f (diff)
downloadillumos-joyent-160740c3ccd45d992c559f0cb51f9f70e98ad8d0.tar.gz
[illumos-gate merge]20151001release-20151001
commit adb26135f9399e574196b45d6ab3ba1bb470e60f 4648 detach(9e): Extra space between 'prefix' and 'detach' commit bcfd4cacb8887a687a4dd27cbaeec75e65f0e9de 5663 sysinfo(2): Missing spaces in the man page commit 118975ce0091e85fa58568a5700555eec6330843 5678 mutex_init(3C): Extra space in man page commit ba647289fedd78140d3b8288576aeb23fcf57043 5706 dldump(3c)/dlopen(3c): Extra spaces in the man page commit 9a91647e0ac8a8e02f9e9d8345e751e0c02c0b19 6050 kstat_create(9f) should document KSTAT_TYPE_RAW and KSTAT_TYPE_TIMER commit e057ac923deda9b3a28f8ec5b927ccf0a9479ba9 6097 ks_snapshot(9e): Typo in the man page commit c4921527904c6350c4ac33b0f936c4920cb38d39 5036 taskq(9f): Typos in the man page commit cebfa3c2fea024bb483d40f6d0cacd3298540cab 5657 Typo in rpcbind(3nsl): ssvcaddr commit cf6fe0ff9e996915d750fb1fc98477c23e9c5e1d 4514 k5srvutil(1m): The default keytab file is /etc/krb5/krb5.keytab commit 20110e4e4d2d67b7e7c7309d1733ee00a499c491 5730 Typos in rpc_clnt_create(3nsl) man page commit 395c7a3dcfc66b8b671dc4b3c4a2f0ca26449922 6266 harden dtrace_difo_chunksize() with respect to malicious DIF commit 6a9ca708361200b105f7a016216808e6058d17cb 6263 add missing cc clobbers to intel atomic inlines
Diffstat (limited to 'usr/src/uts/intel/asm/atomic.h')
-rw-r--r--usr/src/uts/intel/asm/atomic.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/usr/src/uts/intel/asm/atomic.h b/usr/src/uts/intel/asm/atomic.h
index 29913b6bd5..edbfad9c2c 100644
--- a/usr/src/uts/intel/asm/atomic.h
+++ b/usr/src/uts/intel/asm/atomic.h
@@ -23,6 +23,7 @@
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
* Copyright 2014 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2015 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
*/
#ifndef _ASM_ATOMIC_H
@@ -82,7 +83,9 @@ fxn(volatile type *target) \
{ \
__asm__ __volatile__( \
"lock; " op " %0" \
- : "+m" (*target)); \
+ : "+m" (*target) \
+ : /* no inputs */ \
+ : "cc"); \
}
__ATOMIC_OPXX(atomic_inc_8, uint8_t, "inc" SUF_8)
@@ -112,7 +115,8 @@ fxn(volatile type1 *target, type2 delta) \
__asm__ __volatile__( \
"lock; " op " %1,%0" \
: "+m" (*target) \
- : "i" reg (delta)); \
+ : "i" reg (delta) \
+ : "cc"); \
}
__ATOMIC_OPXX(atomic_add_8, uint8_t, int8_t, "add" SUF_8, "q")
@@ -137,7 +141,8 @@ atomic_add_ptr(volatile void *target, ssize_t delta)
__asm__ __volatile__(
"lock; add" SUF_PTR " %1,%0"
: "+m" (*tmp)
- : "ir" (delta));
+ : "ir" (delta)
+ : "cc");
}
__ATOMIC_OPXX(atomic_or_8, uint8_t, uint8_t, "or" SUF_8, "q")