barrier.h 908 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * Memory barrier implementations for PKUnity SoC and UniCore ISA
  3. *
  4. * Copyright (C) 2001-2012 GUAN Xue-tao
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #ifndef __UNICORE_BARRIER_H__
  11. #define __UNICORE_BARRIER_H__
  12. #define isb() __asm__ __volatile__ ("" : : : "memory")
  13. #define dsb() __asm__ __volatile__ ("" : : : "memory")
  14. #define dmb() __asm__ __volatile__ ("" : : : "memory")
  15. #define mb() barrier()
  16. #define rmb() barrier()
  17. #define wmb() barrier()
  18. #define smp_mb() barrier()
  19. #define smp_rmb() barrier()
  20. #define smp_wmb() barrier()
  21. #define read_barrier_depends() do { } while (0)
  22. #define smp_read_barrier_depends() do { } while (0)
  23. #define set_mb(var, value) do { var = value; smp_mb(); } while (0)
  24. #endif /* __UNICORE_BARRIER_H__ */