Compare commits

...

3 Commits

Author SHA1 Message Date
David Abdurachmanov 6fba5bbfeb
Add barrier definitions for RISC-V
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
2019-04-02 11:42:03 +02:00
David Abdurachmanov 4a8b9f8223
Disable BR pandoc on riscv64
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
2019-04-02 09:06:48 +02:00
David Abdurachmanov 864d65d074
Switch to use %{valgrind_arches}
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
2019-04-02 08:37:44 +02:00
2 changed files with 42 additions and 2 deletions

View File

@ -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

View File

@ -1,6 +1,6 @@
Name: rdma-core
Version: 20.1
Release: 3%{?dist}
Release: 3.0.riscv64%{?dist}
Summary: RDMA core userspace libraries and daemons
%ifnarch s390 %{arm}
@ -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
@ -22,14 +24,17 @@ BuildRequires: libudev-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
%ifnarch s390
%ifarch %{valgrind_arches}
BuildRequires: valgrind-devel
%endif
BuildRequires: systemd
BuildRequires: systemd-devel
BuildRequires: python3
BuildRequires: perl-generators
%ifnarch riscv64
# We don't have pandoc yet
BuildRequires: pandoc
%endif
Requires: dracut, kmod, systemd
# Red Hat/Fedora previously shipped redhat/ as a stand-alone
@ -236,6 +241,7 @@ discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
%prep
%setup
%patch0 -p1 -b .riscv
%build
@ -488,6 +494,9 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%doc %{_docdir}/%{name}-%{version}/ibsrpdm.md
%changelog
* Tue Apr 02 2019 David Abdurachmanov <david.abdurachmanov@gmail.com> - 20.1-3.0.riscv64
- Switch to use %{valgrind_arches}
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild