barrier.h 657 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef _ASM_BARRIER_H_
  2. #define _ASM_BARRIER_H_
  3. /*
  4. * asm-generic/barrier.h
  5. *
  6. * Copyright (C) 2016, Red Hat Inc, Alexander Gordeev <agordeev@redhat.com>
  7. *
  8. * This work is licensed under the terms of the GNU LGPL, version 2.
  9. */
  10. #ifndef mb
  11. #define mb() asm volatile("":::"memory")
  12. #endif
  13. #ifndef rmb
  14. #define rmb() asm volatile("":::"memory")
  15. #endif
  16. #ifndef wmb
  17. #define wmb() asm volatile("":::"memory")
  18. #endif
  19. #ifndef smp_mb
  20. #define smp_mb() mb()
  21. #endif
  22. #ifndef smp_rmb
  23. #define smp_rmb() rmb()
  24. #endif
  25. #ifndef smp_wmb
  26. #define smp_wmb() wmb()
  27. #endif
  28. #ifndef cpu_relax
  29. #define cpu_relax() asm volatile ("":::"memory")
  30. #endif
  31. #endif /* _ASM_BARRIER_H_ */