1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2e2164f04SArnaldo Carvalho de Melo #ifndef _TOOLS_LINUX_ASM_MIPS_BARRIER_H 3e2164f04SArnaldo Carvalho de Melo #define _TOOLS_LINUX_ASM_MIPS_BARRIER_H 4e2164f04SArnaldo Carvalho de Melo /* 5e2164f04SArnaldo Carvalho de Melo * FIXME: This came from tools/perf/perf-sys.h, where it was first introduced 6e2164f04SArnaldo Carvalho de Melo * in c1e028ef40b8d6943b767028ba17d4f2ba020edb, more work needed to make it 7e2164f04SArnaldo Carvalho de Melo * more closely follow the Linux kernel arch/mips/include/asm/barrier.h file. 8e2164f04SArnaldo Carvalho de Melo * Probably when we continue work on tools/ Kconfig support to have all the 9e2164f04SArnaldo Carvalho de Melo * CONFIG_ needed for properly doing that. 10e2164f04SArnaldo Carvalho de Melo */ 11e2164f04SArnaldo Carvalho de Melo #define mb() asm volatile( \ 12e2164f04SArnaldo Carvalho de Melo ".set mips2\n\t" \ 13e2164f04SArnaldo Carvalho de Melo "sync\n\t" \ 14e2164f04SArnaldo Carvalho de Melo ".set mips0" \ 15e2164f04SArnaldo Carvalho de Melo : /* no output */ \ 16e2164f04SArnaldo Carvalho de Melo : /* no input */ \ 17e2164f04SArnaldo Carvalho de Melo : "memory") 18e2164f04SArnaldo Carvalho de Melo #define wmb() mb() 19e2164f04SArnaldo Carvalho de Melo #define rmb() mb() 20e2164f04SArnaldo Carvalho de Melo 21e2164f04SArnaldo Carvalho de Melo #endif /* _TOOLS_LINUX_ASM_MIPS_BARRIER_H */ 22