17 lines
275 B
Plaintext
17 lines
275 B
Plaintext
|
cat <<EOF
|
||
|
static __always_inline ${ret}
|
||
|
arch_${atomic}_read_acquire(const ${atomic}_t *v)
|
||
|
{
|
||
|
${int} ret;
|
||
|
|
||
|
if (__native_word(${atomic}_t)) {
|
||
|
ret = smp_load_acquire(&(v)->counter);
|
||
|
} else {
|
||
|
ret = arch_${atomic}_read(v);
|
||
|
__atomic_acquire_fence();
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|
||
|
EOF
|