- Timestamp:
- 2007-06-13T18:39:31Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 341140c
- Parents:
- c03ee1c
- Location:
- uspace/libc/arch/arm32/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/libc/arch/arm32/include/atomic.h
rc03ee1c rde7663f 50 50 51 51 asm volatile ( 52 "1:\n"53 "ldr r2, [%1] \n"54 "add r3, r2, %2 \n"55 "str r3, %0 \n"56 "swp r3, r3, [%1] \n"57 "cmp r3, r2 \n"58 "bne 1b \n"52 "1:\n" 53 "ldr r2, [%1]\n" 54 "add r3, r2, %2\n" 55 "str r3, %0\n" 56 "swp r3, r3, [%1]\n" 57 "cmp r3, r2\n" 58 "bne 1b\n" 59 59 60 60 : "=m" (ret) … … 71 71 * @param val Variable to be incremented. 72 72 */ 73 static inline void atomic_inc(atomic_t *val) { atomic_add(val, 1); } 73 static inline void atomic_inc(atomic_t *val) 74 { 75 atomic_add(val, 1); 76 } 74 77 75 78 … … 78 81 * @param val Variable to be decremented. 79 82 */ 80 static inline void atomic_dec(atomic_t *val) { atomic_add(val, -1); } 83 static inline void atomic_dec(atomic_t *val) 84 { 85 atomic_add(val, -1); 86 } 81 87 82 88 … … 86 92 * @return Value after incrementation. 87 93 */ 88 static inline long atomic_preinc(atomic_t *val) { return atomic_add(val, 1); } 94 static inline long atomic_preinc(atomic_t *val) 95 { 96 return atomic_add(val, 1); 97 } 89 98 90 99 … … 94 103 * @return Value after decrementation. 95 104 */ 96 static inline long atomic_predec(atomic_t *val) { return atomic_add(val, -1); } 105 static inline long atomic_predec(atomic_t *val) 106 { 107 return atomic_add(val, -1); 108 } 97 109 98 110 … … 102 114 * @return Value before incrementation. 103 115 */ 104 static inline long atomic_postinc(atomic_t *val) { return atomic_add(val, 1) - 1; } 116 static inline long atomic_postinc(atomic_t *val) 117 { 118 return atomic_add(val, 1) - 1; 119 } 105 120 106 121 … … 110 125 * @return Value before decrementation. 111 126 */ 112 static inline long atomic_postdec(atomic_t *val) { return atomic_add(val, -1) + 1; } 127 static inline long atomic_postdec(atomic_t *val) 128 { 129 return atomic_add(val, -1) + 1; 130 } 113 131 114 132 -
uspace/libc/arch/arm32/include/thread.h
rc03ee1c rde7663f 61 61 static inline void __tcb_set(tcb_t *tcb) 62 62 { 63 void *tls = (void *) tcb;63 void *tls = (void *) tcb; 64 64 tls += sizeof(tcb_t) + ARM_TP_OFFSET; 65 65 asm volatile ( … … 82 82 : "=r"(ret) 83 83 ); 84 return (tcb_t *) (ret - ARM_TP_OFFSET - sizeof(tcb_t));84 return (tcb_t *) (ret - ARM_TP_OFFSET - sizeof(tcb_t)); 85 85 } 86 86
Note:
See TracChangeset
for help on using the changeset viewer.
