1 #ifndef KVM__KVM_BARRIER_H 2 #define KVM__KVM_BARRIER_H 3 4 #define nop() __asm__ __volatile__ ("nop") 5 6 #define RISCV_FENCE(p, s) \ 7 __asm__ __volatile__ ("fence " #p "," #s : : : "memory") 8 9 /* These barriers need to enforce ordering on both devices or memory. */ 10 #define mb() RISCV_FENCE(iorw,iorw) 11 #define rmb() RISCV_FENCE(ir,ir) 12 #define wmb() RISCV_FENCE(ow,ow) 13 14 #endif /* KVM__KVM_BARRIER_H */ 15