Add barrier definitions for RISC-V
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
This commit is contained in:
parent
4a8b9f8223
commit
6fba5bbfeb
|
@ -0,0 +1,31 @@
|
|||
diff --git a/util/udma_barrier.h b/util/udma_barrier.h
|
||||
index 23acf23..899acf5 100644
|
||||
--- a/util/udma_barrier.h
|
||||
+++ b/util/udma_barrier.h
|
||||
@@ -96,6 +96,8 @@
|
||||
#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(__riscv)
|
||||
+#define udma_to_device_barrier() asm volatile("fence w,w" ::: "memory");
|
||||
#else
|
||||
#error No architecture specific memory barrier defines found!
|
||||
#endif
|
||||
@@ -128,6 +130,8 @@
|
||||
#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(__riscv)
|
||||
+#define udma_from_device_barrier() asm volatile("fence r,rw" ::: "memory");
|
||||
#else
|
||||
#error No architecture specific memory barrier defines found!
|
||||
#endif
|
||||
@@ -192,6 +196,8 @@
|
||||
#define mmio_flush_writes() asm volatile("dsb st" ::: "memory");
|
||||
#elif defined(__sparc__) || defined(__s390x__)
|
||||
#define mmio_flush_writes() asm volatile("" ::: "memory")
|
||||
+#elif defined(__riscv)
|
||||
+#define mmio_flush_writes() asm volatile("fence w,w" ::: "memory");
|
||||
#else
|
||||
#error No architecture specific memory barrier defines found!
|
||||
#endif
|
|
@ -15,6 +15,8 @@ License: GPLv2 or BSD
|
|||
Url: https://github.com/linux-rdma/rdma-core
|
||||
Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
Patch0: rdma-core-20.1-riscv-barriers.patch
|
||||
|
||||
BuildRequires: binutils
|
||||
BuildRequires: cmake >= 2.8.11
|
||||
BuildRequires: gcc
|
||||
|
@ -239,6 +241,7 @@ discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
|
|||
|
||||
%prep
|
||||
%setup
|
||||
%patch0 -p1 -b .riscv
|
||||
|
||||
%build
|
||||
|
||||
|
|
Loading…
Reference in New Issue