commit | 3226aad81aa670015a59e51458a0deb2d3bcb600 | [log] [tgz] |
---|---|---|
author | Michael S. Tsirkin <mst@redhat.com> | Thu Jan 07 17:54:54 2016 +0200 |
committer | Michael S. Tsirkin <mst@redhat.com> | Tue Jan 12 20:47:01 2016 +0200 |
tree | 0cc2ab0abf363ad3f851fdcb14c0f7c1386e89de | |
parent | a65961272e1ebdb60804bbe2bb440481fcbd1c76 [diff] |
sh: support 1 and 2 byte xchg 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>