16d74d178SCharlie Jenkins /* SPDX-License-Identifier: GPL-2.0-only */ 26d74d178SCharlie Jenkins /* 36d74d178SCharlie Jenkins * Copied from the kernel sources to tools/arch/riscv: 46d74d178SCharlie Jenkins */ 56d74d178SCharlie Jenkins 66d74d178SCharlie Jenkins #ifndef _ASM_RISCV_FENCE_H 76d74d178SCharlie Jenkins #define _ASM_RISCV_FENCE_H 86d74d178SCharlie Jenkins 96d74d178SCharlie Jenkins #define RISCV_FENCE_ASM(p, s) "\tfence " #p "," #s "\n" 106d74d178SCharlie Jenkins #define RISCV_FENCE(p, s) \ 116d74d178SCharlie Jenkins ({ __asm__ __volatile__ (RISCV_FENCE_ASM(p, s) : : : "memory"); }) 126d74d178SCharlie Jenkins 136d74d178SCharlie Jenkins #endif /* _ASM_RISCV_FENCE_H */ 14