diff options
Diffstat (limited to 'usr/src/uts/intel/asm/atomic.h')
-rw-r--r-- | usr/src/uts/intel/asm/atomic.h | 11 |
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") |