* @brief Performs a strex operation. * @param addr Address to perform the operation on. * @param val Value to store. * @return Whether the operation was successful. */
| 73 | * @return Whether the operation was successful. |
| 74 | */ |
| 75 | static inline bool __strex(s32* addr, s32 val) |
| 76 | { |
| 77 | bool res; |
| 78 | __asm__ __volatile__("strex %[res], %[val], %[addr]" : [res] "=&r" (res) : [val] "r" (val), [addr] "Q" (*addr)); |
| 79 | return res; |
| 80 | } |
| 81 | |
| 82 | /** |
| 83 | * @brief Performs a ldrexh operation. |
no outgoing calls
no test coverage detected