blob: 80f96f7556e32e783de8b808a3394889dba6e2f9 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001#ifndef _TOOLS_LINUX_ASM_MIPS_BARRIER_H
2#define _TOOLS_LINUX_ASM_MIPS_BARRIER_H
3/*
4 * FIXME: This came from tools/perf/perf-sys.h, where it was first introduced
5 * in c1e028ef40b8d6943b767028ba17d4f2ba020edb, more work needed to make it
6 * more closely follow the Linux kernel arch/mips/include/asm/barrier.h file.
7 * Probably when we continue work on tools/ Kconfig support to have all the
8 * CONFIG_ needed for properly doing that.
9 */
10#define mb() asm volatile( \
11 ".set mips2\n\t" \
12 "sync\n\t" \
13 ".set mips0" \
14 : /* no output */ \
15 : /* no input */ \
16 : "memory")
17#define wmb() mb()
18#define rmb() mb()
19
20#endif /* _TOOLS_LINUX_ASM_MIPS_BARRIER_H */