This completes the xchg implementation for sh architecture. Note: The llsc variant is tricky since this only supports 4 byte atomics, the existing implementation of 1 byte xchg is wrong: we need to do a 4 byte cmpxchg and retry if any bytes changed meanwhile. Write this in C for clarity. Suggested-by: Rich Felker <dalias@libc.org> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> |
||
---|---|---|
.. | ||
asm | ||
cpu-common/cpu | ||
cpu-sh2/cpu | ||
cpu-sh2a/cpu | ||
cpu-sh3/cpu | ||
cpu-sh4/cpu | ||
cpu-sh4a/cpu | ||
cpu-sh5/cpu | ||
mach-common/mach | ||
mach-dreamcast/mach | ||
mach-ecovec24/mach | ||
mach-kfr2r09/mach | ||
mach-landisk/mach | ||
mach-migor/mach | ||
mach-sdk7786/mach | ||
mach-se/mach | ||
mach-sh03/mach | ||
mach-x3proto/mach | ||
uapi/asm |