diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2019-10-04 23:33:31 -0700 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2022-05-01 19:51:22 -0700 |
commit | 725aea873261e8d986e527838fde2a721f0962d8 (patch) | |
tree | 904b4456d5cb34d2b6d57a41845c06c176d91270 /arch/xtensa/include/asm/barrier.h | |
parent | 507185695e93c70aced2f419892bc2ab9387b324 (diff) |
xtensa: enable KCSAN
Prefix arch-specific barrier macros with '__' to make use of instrumented
generic macros.
Prefix arch-specific bitops with 'arch_' to make use of instrumented
generic functions.
Provide stubs for 64-bit atomics when building with KCSAN.
Disable KCSAN instrumentation in arch/xtensa/boot.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Acked-by: Marco Elver <elver@google.com>
Diffstat (limited to 'arch/xtensa/include/asm/barrier.h')
-rw-r--r-- | arch/xtensa/include/asm/barrier.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/xtensa/include/asm/barrier.h b/arch/xtensa/include/asm/barrier.h index d6f8d4ddc2bc..898ea397e9bc 100644 --- a/arch/xtensa/include/asm/barrier.h +++ b/arch/xtensa/include/asm/barrier.h @@ -11,9 +11,15 @@ #include <asm/core.h> -#define mb() ({ __asm__ __volatile__("memw" : : : "memory"); }) -#define rmb() barrier() -#define wmb() mb() +#define __mb() ({ __asm__ __volatile__("memw" : : : "memory"); }) +#define __rmb() barrier() +#define __wmb() __mb() + +#ifdef CONFIG_SMP +#define __smp_mb() __mb() +#define __smp_rmb() __rmb() +#define __smp_wmb() __wmb() +#endif #if XCHAL_HAVE_S32C1I #define __smp_mb__before_atomic() barrier() |