Changes in kernel/arch/ia64/include/atomic.h [7a0359b:e86a849a] in mainline
- File:
-
- 1 edited
-
kernel/arch/ia64/include/atomic.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/include/atomic.h
r7a0359b re86a849a 36 36 #define KERN_ia64_ATOMIC_H_ 37 37 38 #include <trace.h> 39 40 NO_TRACE static inline atomic_count_t test_and_set(atomic_t *val) 38 static inline uint64_t test_and_set(atomic_t *val) 41 39 { 42 atomic_count_t v;43 40 uint64_t v; 41 44 42 asm volatile ( 45 43 "movl %[v] = 0x1;;\n" … … 52 50 } 53 51 54 NO_TRACEstatic inline void atomic_lock_arch(atomic_t *val)52 static inline void atomic_lock_arch(atomic_t *val) 55 53 { 56 54 do { 57 while (val->count); 55 while (val->count) 56 ; 58 57 } while (test_and_set(val)); 59 58 } 60 59 61 NO_TRACEstatic inline void atomic_inc(atomic_t *val)60 static inline void atomic_inc(atomic_t *val) 62 61 { 63 atomic_count_tv;62 long v; 64 63 65 64 asm volatile ( … … 70 69 } 71 70 72 NO_TRACEstatic inline void atomic_dec(atomic_t *val)71 static inline void atomic_dec(atomic_t *val) 73 72 { 74 atomic_count_tv;73 long v; 75 74 76 75 asm volatile ( … … 81 80 } 82 81 83 NO_TRACE static inline atomic_count_tatomic_preinc(atomic_t *val)82 static inline long atomic_preinc(atomic_t *val) 84 83 { 85 atomic_count_tv;84 long v; 86 85 87 86 asm volatile ( … … 94 93 } 95 94 96 NO_TRACE static inline atomic_count_tatomic_predec(atomic_t *val)95 static inline long atomic_predec(atomic_t *val) 97 96 { 98 atomic_count_tv;97 long v; 99 98 100 99 asm volatile ( … … 107 106 } 108 107 109 NO_TRACE static inline atomic_count_tatomic_postinc(atomic_t *val)108 static inline long atomic_postinc(atomic_t *val) 110 109 { 111 atomic_count_tv;110 long v; 112 111 113 112 asm volatile ( … … 120 119 } 121 120 122 NO_TRACE static inline atomic_count_tatomic_postdec(atomic_t *val)121 static inline long atomic_postdec(atomic_t *val) 123 122 { 124 atomic_count_tv;123 long v; 125 124 126 125 asm volatile (
Note:
See TracChangeset
for help on using the changeset viewer.
