View | Details | Raw Unified | Return to bug 41801
Collapse All | Expand All

(-)a/util/udma_barrier.h (+7 lines)
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__)

Return to bug 41801