Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 1 | #ifndef _TOOLS_LINUX_ASM_AARCH64_BARRIER_H |
| 2 | #define _TOOLS_LINUX_ASM_AARCH64_BARRIER_H |
| 3 | |
| 4 | /* |
| 5 | * From tools/perf/perf-sys.h, last modified in: |
| 6 | * f428ebd184c82a7914b2aa7e9f868918aaf7ea78 perf tools: Fix AAAAARGH64 memory barriers |
| 7 | * |
| 8 | * XXX: arch/arm64/include/asm/barrier.h in the kernel sources use dsb, is this |
| 9 | * a case like for arm32 where we do things differently in userspace? |
| 10 | */ |
| 11 | |
| 12 | #define mb() asm volatile("dmb ish" ::: "memory") |
| 13 | #define wmb() asm volatile("dmb ishst" ::: "memory") |
| 14 | #define rmb() asm volatile("dmb ishld" ::: "memory") |
| 15 | |
| 16 | #endif /* _TOOLS_LINUX_ASM_AARCH64_BARRIER_H */ |