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