|
Lines 84-89
Link Here
|
| 84 |
#define udma_to_device_barrier() asm volatile("" ::: "memory") |
84 |
#define udma_to_device_barrier() asm volatile("" ::: "memory") |
| 85 |
#elif defined(__x86_64__) |
85 |
#elif defined(__x86_64__) |
| 86 |
#define udma_to_device_barrier() asm volatile("" ::: "memory") |
86 |
#define udma_to_device_barrier() asm volatile("" ::: "memory") |
|
|
87 |
#elif defined(__e2k__) |
| 88 |
#include <x86intrin.h> |
| 89 |
#define udma_to_device_barrier() __builtin_ia32_mfence() |
| 87 |
#elif defined(__PPC64__) |
90 |
#elif defined(__PPC64__) |
| 88 |
#define udma_to_device_barrier() asm volatile("sync" ::: "memory") |
91 |
#define udma_to_device_barrier() asm volatile("sync" ::: "memory") |
| 89 |
#elif defined(__PPC__) |
92 |
#elif defined(__PPC__) |
|
Lines 118-123
Link Here
|
| 118 |
#define udma_from_device_barrier() asm volatile("lock; addl $0,0(%%esp) " ::: "memory") |
121 |
#define udma_from_device_barrier() asm volatile("lock; addl $0,0(%%esp) " ::: "memory") |
| 119 |
#elif defined(__x86_64__) |
122 |
#elif defined(__x86_64__) |
| 120 |
#define udma_from_device_barrier() asm volatile("lfence" ::: "memory") |
123 |
#define udma_from_device_barrier() asm volatile("lfence" ::: "memory") |
|
|
124 |
#elif defined(__e2k__) |
| 125 |
#define udma_from_device_barrier() __builtin_ia32_lfence() |
| 121 |
#elif defined(__PPC64__) |
126 |
#elif defined(__PPC64__) |
| 122 |
#define udma_from_device_barrier() asm volatile("lwsync" ::: "memory") |
127 |
#define udma_from_device_barrier() asm volatile("lwsync" ::: "memory") |
| 123 |
#elif defined(__PPC__) |
128 |
#elif defined(__PPC__) |
|
Lines 184-189
Link Here
|
| 184 |
#define mmio_flush_writes() asm volatile("lock; addl $0,0(%%esp) " ::: "memory") |
189 |
#define mmio_flush_writes() asm volatile("lock; addl $0,0(%%esp) " ::: "memory") |
| 185 |
#elif defined(__x86_64__) |
190 |
#elif defined(__x86_64__) |
| 186 |
#define mmio_flush_writes() asm volatile("sfence" ::: "memory") |
191 |
#define mmio_flush_writes() asm volatile("sfence" ::: "memory") |
|
|
192 |
#elif defined(__e2k__) |
| 193 |
#define mmio_flush_writes() __builtin_ia32_sfence() |
| 187 |
#elif defined(__PPC64__) |
194 |
#elif defined(__PPC64__) |
| 188 |
#define mmio_flush_writes() asm volatile("sync" ::: "memory") |
195 |
#define mmio_flush_writes() asm volatile("sync" ::: "memory") |
| 189 |
#elif defined(__PPC__) |
196 |
#elif defined(__PPC__) |