xref: /kvm-unit-tests/lib/x86/asm/barrier.h (revision 2b0de978b2392a2236bad9d0a560e184c45e1313)
1 #ifndef _ASM_X86_BARRIER_H_
2 #define _ASM_X86_BARRIER_H_
3 /*
4  * Copyright (C) 2016, Red Hat Inc, Alexander Gordeev <agordeev@redhat.com>
5  *
6  * This work is licensed under the terms of the GNU LGPL, version 2.
7  */
8 
9 #define mb()	asm volatile("mfence":::"memory")
10 #define rmb()	asm volatile("lfence":::"memory")
11 #define wmb()	asm volatile("sfence":::"memory")
12 
13 #define smp_mb()	mb()
14 #define smp_rmb()	barrier()
15 #define smp_wmb()	barrier()
16 
17 #endif
18