#ifndef _ASM_GENERIC_BARRIER_H_ | |
#define _ASM_GENERIC_BARRIER_H_ | |
/* | |
* asm-generic/barrier.h | |
* | |
* Copyright (C) 2016, Red Hat Inc, Alexander Gordeev <agordeev@redhat.com> | |
* | |
* This work is licensed under the terms of the GNU LGPL, version 2. | |
*/ | |
#ifndef mb | |
#define mb() asm volatile("":::"memory") | |
#endif | |
#ifndef rmb | |
#define rmb() asm volatile("":::"memory") | |
#endif | |
#ifndef wmb | |
#define wmb() asm volatile("":::"memory") | |
#endif | |
#ifndef smp_mb | |
#define smp_mb() mb() | |
#endif | |
#ifndef smp_rmb | |
#define smp_rmb() rmb() | |
#endif | |
#ifndef smp_wmb | |
#define smp_wmb() wmb() | |
#endif | |
#ifndef cpu_relax | |
#define cpu_relax() asm volatile ("":::"memory") | |
#endif | |
#endif /* _ASM_GENERIC_BARRIER_H_ */ |