Lines Matching refs:ptr

13 rt_atomic_t rt_hw_atomic_exchange(volatile rt_atomic_t *ptr, rt_atomic_t val)  in rt_hw_atomic_exchange()  argument
17 asm volatile ("amoswap.w %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_exchange()
19 asm volatile ("amoswap.d %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_exchange()
24 rt_atomic_t rt_hw_atomic_add(volatile rt_atomic_t *ptr, rt_atomic_t val) in rt_hw_atomic_add() argument
28 asm volatile ("amoadd.w %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_add()
30 asm volatile ("amoadd.d %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_add()
35 rt_atomic_t rt_hw_atomic_sub(volatile rt_atomic_t *ptr, rt_atomic_t val) in rt_hw_atomic_sub() argument
40 asm volatile ("amoadd.w %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_sub()
42 asm volatile ("amoadd.d %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_sub()
47 rt_atomic_t rt_hw_atomic_xor(volatile rt_atomic_t *ptr, rt_atomic_t val) in rt_hw_atomic_xor() argument
51 asm volatile ("amoxor.w %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_xor()
53 asm volatile ("amoxor.d %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_xor()
58 rt_atomic_t rt_hw_atomic_and(volatile rt_atomic_t *ptr, rt_atomic_t val) in rt_hw_atomic_and() argument
62 asm volatile ("amoand.w %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_and()
64 asm volatile ("amoand.d %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_and()
69 rt_atomic_t rt_hw_atomic_or(volatile rt_atomic_t *ptr, rt_atomic_t val) in rt_hw_atomic_or() argument
73 asm volatile ("amoor.w %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_or()
75 asm volatile ("amoor.d %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_or()
80 rt_atomic_t rt_hw_atomic_load(volatile rt_atomic_t *ptr) in rt_hw_atomic_load() argument
84 asm volatile ("amoxor.w %0, x0, (%1)" : "=r"(result) : "r"(ptr) : "memory"); in rt_hw_atomic_load()
86 asm volatile ("amoxor.d %0, x0, (%1)" : "=r"(result) : "r"(ptr) : "memory"); in rt_hw_atomic_load()
91 void rt_hw_atomic_store(volatile rt_atomic_t *ptr, rt_atomic_t val) in rt_hw_atomic_store() argument
95 asm volatile ("amoswap.w %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_store()
97 asm volatile ("amoswap.d %0, %1, (%2)" : "=r"(result) : "r"(val), "r"(ptr) : "memory"); in rt_hw_atomic_store()
101 rt_atomic_t rt_hw_atomic_flag_test_and_set(volatile rt_atomic_t *ptr) in rt_hw_atomic_flag_test_and_set() argument
106 asm volatile ("amoor.w %0, %1, (%2)" : "=r"(result) : "r"(temp), "r"(ptr) : "memory"); in rt_hw_atomic_flag_test_and_set()
108 asm volatile ("amoor.d %0, %1, (%2)" : "=r"(result) : "r"(temp), "r"(ptr) : "memory"); in rt_hw_atomic_flag_test_and_set()
113 void rt_hw_atomic_flag_clear(volatile rt_atomic_t *ptr) in rt_hw_atomic_flag_clear() argument
117 asm volatile ("amoand.w %0, x0, (%1)" : "=r"(result) :"r"(ptr) : "memory"); in rt_hw_atomic_flag_clear()
119 asm volatile ("amoand.d %0, x0, (%1)" : "=r"(result) :"r"(ptr) : "memory"); in rt_hw_atomic_flag_clear()
123 rt_atomic_t rt_hw_atomic_compare_exchange_strong(volatile rt_atomic_t *ptr, rt_atomic_t *old, rt_at… in rt_hw_atomic_compare_exchange_strong() argument
139 : [result]"+r" (result), [tmp]"+r" (tmp), [ptr]"+r" (ptr) in rt_hw_atomic_compare_exchange_strong()
154 : [result]"+r" (result), [tmp]"+r" (tmp), [ptr]"+r" (ptr) in rt_hw_atomic_compare_exchange_strong()