blob: 235f61045df7d6f5196320297ee3756631c6a996 [file] [log] [blame] [edit]
#ifndef KVM__KVM_BARRIER_H
#define KVM__KVM_BARRIER_H
#define nop() __asm__ __volatile__ ("nop")
#define RISCV_FENCE(p, s) \
__asm__ __volatile__ ("fence " #p "," #s : : : "memory")
/* These barriers need to enforce ordering on both devices or memory. */
#define mb() RISCV_FENCE(iorw,iorw)
#define rmb() RISCV_FENCE(ir,ir)
#define wmb() RISCV_FENCE(ow,ow)
#endif /* KVM__KVM_BARRIER_H */