Changeset 320762a in mainline for uspace/lib/c/arch/arm32/src/atomic.c
- Timestamp:
- 2023-08-02T14:54:45Z (19 months ago)
- Branches:
- ticket/834-toolchain-update
- Children:
- 29941ab
- Parents:
- e1d93e3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/arm32/src/atomic.c
re1d93e3 r320762a 38 38 volatile unsigned *ras_page; 39 39 40 bool __atomic_compare_exchange_4(volatile unsigned *mem, unsigned *expected, unsigned desired, bool weak, int success, int failure)40 bool __atomic_compare_exchange_4(volatile void *mem, void *expected, unsigned desired, bool weak, int success, int failure) 41 41 { 42 42 (void) success; … … 44 44 (void) weak; 45 45 46 unsigned ov = * expected;46 unsigned ov = *((unsigned *)expected); 47 47 unsigned ret; 48 48 … … 66 66 [rp0] "=m" (ras_page[0]), 67 67 [rp1] "=m" (ras_page[1]), 68 [addr] "+m" (* mem)68 [addr] "+m" (*((unsigned *)mem)) 69 69 : [ov] "r" (ov), 70 70 [nv] "r" (desired) … … 78 78 return true; 79 79 80 * expected= ret;80 *((unsigned *)expected) = ret; 81 81 return false; 82 82 } 83 83 84 unsigned short __atomic_fetch_add_2(volatile unsigned short*mem, unsigned short val, int model)84 unsigned short __atomic_fetch_add_2(volatile void *mem, unsigned short val, int model) 85 85 { 86 86 (void) model; … … 106 106 [rp0] "=m" (ras_page[0]), 107 107 [rp1] "=m" (ras_page[1]), 108 [addr] "+m" (* mem)108 [addr] "+m" (*((volatile unsigned short *)mem)) 109 109 : [imm] "r" (val) 110 110 ); … … 116 116 } 117 117 118 unsigned __atomic_fetch_add_4(volatile unsigned *mem, unsigned val, int model)118 unsigned __atomic_fetch_add_4(volatile void *mem, unsigned val, int model) 119 119 { 120 120 (void) model; … … 140 140 [rp0] "=m" (ras_page[0]), 141 141 [rp1] "=m" (ras_page[1]), 142 [addr] "+m" (* mem)142 [addr] "+m" (*((volatile unsigned *)mem)) 143 143 : [imm] "r" (val) 144 144 ); … … 150 150 } 151 151 152 unsigned __atomic_fetch_sub_4(volatile unsigned *mem, unsigned val, int model)152 unsigned __atomic_fetch_sub_4(volatile void *mem, unsigned val, int model) 153 153 { 154 154 return __atomic_fetch_add_4(mem, -val, model);
Note:
See TracChangeset
for help on using the changeset viewer.