Changes in kernel/arch/ppc32/include/atomic.h [228666c:df4ed85] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ppc32/include/atomic.h
r228666c rdf4ed85 27 27 */ 28 28 29 /** @addtogroup ppc32 29 /** @addtogroup ppc32 30 30 * @{ 31 31 */ … … 38 38 static inline void atomic_inc(atomic_t *val) 39 39 { 40 atomic_count_ttmp;41 40 long tmp; 41 42 42 asm volatile ( 43 43 "1:\n" … … 46 46 "stwcx. %0, 0, %2\n" 47 47 "bne- 1b" 48 : "=&r" (tmp), 49 "=m" (val->count) 50 : "r" (&val->count), 51 "m" (val->count) 48 : "=&r" (tmp), "=m" (val->count) 49 : "r" (&val->count), "m" (val->count) 52 50 : "cc" 53 51 ); … … 56 54 static inline void atomic_dec(atomic_t *val) 57 55 { 58 atomic_count_ttmp;59 56 long tmp; 57 60 58 asm volatile ( 61 59 "1:\n" 62 60 "lwarx %0, 0, %2\n" 63 61 "addic %0, %0, -1\n" 64 "stwcx. 62 "stwcx. %0, 0, %2\n" 65 63 "bne- 1b" 66 : "=&r" (tmp), 67 "=m" (val->count) 68 : "r" (&val->count), 69 "m" (val->count) 64 : "=&r" (tmp), "=m" (val->count) 65 : "r" (&val->count), "m" (val->count) 70 66 : "cc" 71 67 ); 72 68 } 73 69 74 static inline atomic_count_tatomic_postinc(atomic_t *val)70 static inline long atomic_postinc(atomic_t *val) 75 71 { 76 72 atomic_inc(val); … … 78 74 } 79 75 80 static inline atomic_count_tatomic_postdec(atomic_t *val)76 static inline long atomic_postdec(atomic_t *val) 81 77 { 82 78 atomic_dec(val); … … 84 80 } 85 81 86 static inline atomic_count_tatomic_preinc(atomic_t *val)82 static inline long atomic_preinc(atomic_t *val) 87 83 { 88 84 atomic_inc(val); … … 90 86 } 91 87 92 static inline atomic_count_tatomic_predec(atomic_t *val)88 static inline long atomic_predec(atomic_t *val) 93 89 { 94 90 atomic_dec(val);
Note:
See TracChangeset
for help on using the changeset viewer.