#ifndef _ASMARM64_BARRIER_H_ | |
#define _ASMARM64_BARRIER_H_ | |
/* | |
* From Linux arch/arm64/include/asm/barrier.h | |
*/ | |
#define isb() asm volatile("isb" : : : "memory") | |
#define dmb(opt) asm volatile("dmb " #opt : : : "memory") | |
#define dsb(opt) asm volatile("dsb " #opt : : : "memory") | |
#define mb() dsb(sy) | |
#define rmb() dsb(ld) | |
#define wmb() dsb(st) | |
#define smp_mb() dmb(ish) | |
#define smp_rmb() dmb(ishld) | |
#define smp_wmb() dmb(ishst) | |
#endif /* _ASMARM64_BARRIER_H_ */ |