diff --git a/rdma-core-44.0-sw.patch b/rdma-core-44.0-sw.patch new file mode 100644 index 0000000000000000000000000000000000000000..c3cb24e1decc2ff094975a7506c752b2dabc99e5 --- /dev/null +++ b/rdma-core-44.0-sw.patch @@ -0,0 +1,30 @@ +diff -Naur rdma-core-44.0.org/util/udma_barrier.h rdma-core-44.0.sw/util/udma_barrier.h +--- rdma-core-44.0.org/util/udma_barrier.h 2022-12-29 17:28:40.000000000 +0800 ++++ rdma-core-44.0.sw/util/udma_barrier.h 2023-06-20 16:24:36.590075662 +0800 +@@ -92,6 +92,8 @@ + #define udma_to_device_barrier() asm volatile("mf" ::: "memory") + #elif defined(__sparc_v9__) + #define udma_to_device_barrier() asm volatile("membar #StoreStore" ::: "memory") ++#elif defined(__sw_64__) ++#define udma_to_device_barrier() asm volatile("memb" ::: "memory"); + #elif defined(__aarch64__) + #define udma_to_device_barrier() asm volatile("dsb st" ::: "memory"); + #elif defined(__sparc__) || defined(__s390x__) +@@ -130,6 +132,8 @@ + #define udma_from_device_barrier() asm volatile("mf" ::: "memory") + #elif defined(__sparc_v9__) + #define udma_from_device_barrier() asm volatile("membar #LoadLoad" ::: "memory") ++#elif defined(__sw_64__) ++#define udma_from_device_barrier() asm volatile("memb" ::: "memory"); + #elif defined(__aarch64__) + #define udma_from_device_barrier() asm volatile("dsb ld" ::: "memory"); + #elif defined(__sparc__) || defined(__s390x__) +@@ -200,6 +204,8 @@ + #define mmio_flush_writes() asm volatile("fwb" ::: "memory") + #elif defined(__sparc_v9__) + #define mmio_flush_writes() asm volatile("membar #StoreStore" ::: "memory") ++#elif defined(__sw_64__) ++#define mmio_flush_writes() asm volatile("memb" ::: "memory"); + #elif defined(__aarch64__) + #define mmio_flush_writes() asm volatile("dsb st" ::: "memory"); + #elif defined(__sparc__) diff --git a/rdma-core.spec b/rdma-core.spec index f0c6eb38201584bc780f77f3c942438f03e550ab..ea4a3ff41ad2f53f03872b786bb3cc85fee1902a 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -1,4 +1,4 @@ -%define anolis_release .0.1 +%define anolis_release .0.2 Name: rdma-core Version: 46.0 Release: 1%{anolis_release}%{?dist}.1 @@ -26,6 +26,7 @@ Patch9999: 9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch # Do not build static libs by default. %define with_static %{?_with_static: 1} %{?!_with_static: 0} +Patch100000: rdma-core-44.0-sw.patch # 32-bit arm is missing required arch-specific memory barriers, ExcludeArch: %{arm} @@ -86,7 +87,7 @@ BuildRequires: make %define cmake_install DESTDIR=%{buildroot} make install %endif -%ifnarch loongarch64 +%ifnarch loongarch64 sw_64 BuildRequires: pandoc %endif @@ -276,6 +277,7 @@ easy, object-oriented access to IB verbs. %patch9000 -p1 %patch9999 -p1 %endif +%patch100000 -p1 %build @@ -634,6 +636,9 @@ fi %endif %changelog +* Wed Mar 20 2024 wuxiat - 46.0-1.0.2.1 +- cherry-pick `add sw Patch #9532175ecea28d05bb1173c2fb3e8ddf05b3e516`. + * Mon Dec 11 2023 Jacob Wang - 46.0-1.0.1.1 - Support loongarch64 (Hang Zhao) - Fix build error (geliwei@openanolis.org)