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