Группа :: Система/Основа
Пакет: rdma-core
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: rdma-core-e2k.patch
Скачать
Скачать
diff --git a/util/udma_barrier.h b/util/udma_barrier.h
index 5730576..05281cf 100644
--- a/util/udma_barrier.h
+++ b/util/udma_barrier.h
@@ -84,6 +84,9 @@
#define udma_to_device_barrier() asm volatile("" ::: "memory")
#elif defined(__x86_64__)
#define udma_to_device_barrier() asm volatile("" ::: "memory")
+#elif defined(__e2k__)
+#include <x86intrin.h>
+#define udma_to_device_barrier() __builtin_ia32_mfence()
#elif defined(__PPC64__)
#define udma_to_device_barrier() asm volatile("sync" ::: "memory")
#elif defined(__PPC__)
@@ -118,6 +121,8 @@
#define udma_from_device_barrier() asm volatile("lock; addl $0,0(%%esp) " ::: "memory")
#elif defined(__x86_64__)
#define udma_from_device_barrier() asm volatile("lfence" ::: "memory")
+#elif defined(__e2k__)
+#define udma_from_device_barrier() __builtin_ia32_lfence()
#elif defined(__PPC64__)
#define udma_from_device_barrier() asm volatile("lwsync" ::: "memory")
#elif defined(__PPC__)
@@ -184,6 +189,8 @@
#define mmio_flush_writes() asm volatile("lock; addl $0,0(%%esp) " ::: "memory")
#elif defined(__x86_64__)
#define mmio_flush_writes() asm volatile("sfence" ::: "memory")
+#elif defined(__e2k__)
+#define mmio_flush_writes() __builtin_ia32_sfence()
#elif defined(__PPC64__)
#define mmio_flush_writes() asm volatile("sync" ::: "memory")
#elif defined(__PPC__)