aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arc/include/asm/barrier.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arc/include/asm/barrier.h')
-rw-r--r--arch/arc/include/asm/barrier.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/arc/include/asm/barrier.h b/arch/arc/include/asm/barrier.h
index a7209983ee64..b1e327495c7d 100644
--- a/arch/arc/include/asm/barrier.h
+++ b/arch/arc/include/asm/barrier.h
@@ -30,9 +30,7 @@
30#define rmb() asm volatile("dmb 1\n" : : : "memory") 30#define rmb() asm volatile("dmb 1\n" : : : "memory")
31#define wmb() asm volatile("dmb 2\n" : : : "memory") 31#define wmb() asm volatile("dmb 2\n" : : : "memory")
32 32
33#endif 33#elif !defined(CONFIG_ARC_PLAT_EZNPS) /* CONFIG_ISA_ARCOMPACT */
34
35#ifdef CONFIG_ISA_ARCOMPACT
36 34
37/* 35/*
38 * ARCompact based cores (ARC700) only have SYNC instruction which is super 36 * ARCompact based cores (ARC700) only have SYNC instruction which is super
@@ -41,6 +39,14 @@
41 */ 39 */
42 40
43#define mb() asm volatile("sync\n" : : : "memory") 41#define mb() asm volatile("sync\n" : : : "memory")
42
43#else /* CONFIG_ARC_PLAT_EZNPS */
44
45#include <plat/ctop.h>
46
47#define mb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RW) : "memory")
48#define rmb() asm volatile (".word %0" : : "i"(CTOP_INST_SCHD_RD) : "memory")
49
44#endif 50#endif
45 51
46#include <asm-generic/barrier.h> 52#include <asm-generic/barrier.h>