xtensa: add exclusive atomics support
authorMax Filippov <jcmvbkbc@gmail.com>
Fri, 21 Dec 2018 01:18:12 +0000 (17:18 -0800)
committerMax Filippov <jcmvbkbc@gmail.com>
Tue, 7 May 2019 17:36:31 +0000 (10:36 -0700)
commitf7c34874f04a80d6c39a32f08da2529e59602d3c
treea225ab153205701d24bee7423fc950a9009cb533
parentd065fcf12c21348cbc125460f75332f467518fb1
xtensa: add exclusive atomics support

Implement atomic primitives using exclusive access opcodes available in
the recent xtensa cores.
Since l32ex/s32ex don't have any memory ordering guarantees don't define
__smp_mb__before_atomic/__smp_mb__after_atomic to make them use memw.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/include/asm/atomic.h
arch/xtensa/include/asm/barrier.h
arch/xtensa/include/asm/bitops.h
arch/xtensa/include/asm/cmpxchg.h
arch/xtensa/include/asm/core.h
arch/xtensa/include/asm/futex.h
arch/xtensa/kernel/setup.c