2018-09-04 11:48:25 +01:00
|
|
|
cat <<EOF
|
2019-11-26 15:04:05 +01:00
|
|
|
static __always_inline void
|
2021-07-13 11:52:50 +01:00
|
|
|
arch_${atomic}_set_release(${atomic}_t *v, ${int} i)
|
2018-09-04 11:48:25 +01:00
|
|
|
{
|
2022-02-07 10:19:43 +00:00
|
|
|
if (__native_word(${atomic}_t)) {
|
|
|
|
|
smp_store_release(&(v)->counter, i);
|
|
|
|
|
} else {
|
|
|
|
|
__atomic_release_fence();
|
|
|
|
|
arch_${atomic}_set(v, i);
|
|
|
|
|
}
|
2018-09-04 11:48:25 +01:00
|
|
|
}
|
|
|
|
|
EOF
|