diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2017-12-11 11:59:45 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2017-12-11 11:59:45 +0000 |
| commit | b258727e794ba80ee28ea85c0dc0bb26c6e1315a (patch) | |
| tree | faa4429c61ac8c99645e622d1c95d3c1f7061526 /contrib/ofed | |
| parent | 0521e6e192fb91917a5aa1074ccd175a90b85d48 (diff) | |
Notes
Diffstat (limited to 'contrib/ofed')
| -rw-r--r-- | contrib/ofed/include/udma_barrier.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/contrib/ofed/include/udma_barrier.h b/contrib/ofed/include/udma_barrier.h index 23acf233d763..71d264f8dce2 100644 --- a/contrib/ofed/include/udma_barrier.h +++ b/contrib/ofed/include/udma_barrier.h @@ -96,6 +96,14 @@ #define udma_to_device_barrier() asm volatile("dsb st" ::: "memory"); #elif defined(__sparc__) || defined(__s390x__) #define udma_to_device_barrier() asm volatile("" ::: "memory") +#elif defined(__mips__) +#include <sys/types.h> +#include <machine/atomic.h> +#define udma_to_device_barrier() mips_sync() +#elif defined(__arm__) +#include <sys/types.h> +#include <machine/atomic.h> +#define udma_to_device_barrier() dmb() #else #error No architecture specific memory barrier defines found! #endif @@ -128,6 +136,10 @@ #define udma_from_device_barrier() asm volatile("dsb ld" ::: "memory"); #elif defined(__sparc__) || defined(__s390x__) #define udma_from_device_barrier() asm volatile("" ::: "memory") +#elif defined(__mips__) +#define udma_from_device_barrier() mips_sync() +#elif defined(__arm__) +#define udma_from_device_barrier() dmb() #else #error No architecture specific memory barrier defines found! #endif @@ -192,6 +204,10 @@ #define mmio_flush_writes() asm volatile("dsb st" ::: "memory"); #elif defined(__sparc__) || defined(__s390x__) #define mmio_flush_writes() asm volatile("" ::: "memory") +#elif defined(__mips__) +#define mmio_flush_writes() mips_sync() +#elif defined(__arm__) +#define mmio_flush_writes() dmb() #else #error No architecture specific memory barrier defines found! #endif |
