Changeset 10c071e in mainline for arch/ia32/include/atomic.h
- Timestamp:
- 2005-12-15T16:57:48Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6c68b97
- Parents:
- b4cad8b2
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/include/atomic.h
rb4cad8b2 r10c071e 60 60 } 61 61 62 static inline atomic_t atomic_inc_pre(atomic_t *val)62 static inline count_t atomic_inc_pre(atomic_t *val) 63 63 { 64 atomic_t r; 64 count_t r; 65 65 66 __asm__ volatile ( 66 67 "movl $1, %0\n" 67 68 "lock xaddl %0, %1\n" 68 : "=r" (r), "=m" (val->count)69 : "=r" (r), "=m" (val->count) 69 70 ); 71 70 72 return r; 71 73 } 72 74 73 74 75 static inline atomic_t atomic_dec_pre(atomic_t *val) 75 static inline count_t atomic_dec_pre(atomic_t *val) 76 76 { 77 atomic_t r; 77 count_t r; 78 78 79 __asm__ volatile ( 79 80 "movl $-1, %0\n" 80 81 "lock xaddl %0, %1\n" 81 : "=r" (r), "=m" (*val)82 : "=r" (r), "=m" (*val) 82 83 ); 84 83 85 return r; 84 86 }
Note:
See TracChangeset
for help on using the changeset viewer.