12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef __ASM_BARRIER_H
- #define __ASM_BARRIER_H
- #ifdef CONFIG_ISA_ARCV2
- #define mb() asm volatile("dmb 3\n" : : : "memory")
- #define rmb() asm volatile("dmb 1\n" : : : "memory")
- #define wmb() asm volatile("dmb 2\n" : : : "memory")
- #elif !defined(CONFIG_ARC_PLAT_EZNPS)
- #define mb() asm volatile("sync\n" : : : "memory")
- #else
- #include <plat/ctop.h>
- #define mb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RW) : "memory")
- #define rmb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RD) : "memory")
- #endif
- #include <asm-generic/barrier.h>
- #endif
|