spdk/0100-spdk-uos-add-sw64-support.patch
zhangshaoning 4eff9c99ec Add sw_64 support
(cherry picked from commit a8e706af3faa706e71e9c87561c94056be96553d)
2025-03-10 10:48:27 +08:00

47 lines
1.9 KiB
Diff

diff -Naur a/include/spdk/barrier.h b/include/spdk/barrier.h
--- a/include/spdk/barrier.h 2024-01-26 23:17:18.000000000 +0800
+++ b/include/spdk/barrier.h 2024-12-12 21:12:33.045436865 +0800
@@ -95,6 +95,16 @@
#define _spdk_smp_mb() __asm volatile("dbar 0" ::: "memory")
#define _spdk_ivdt_dcache(pdata)
+#elif defined(__sw_64)
+
+#define _spdk_rmb() __asm volatile("memb" ::: "memory")
+#define _spdk_wmb() __asm volatile("memb" ::: "memory")
+#define _spdk_mb() __asm volatile("memb" ::: "memory")
+#define _spdk_smp_rmb() __asm volatile("memb" ::: "memory")
+#define _spdk_smp_wmb() __asm volatile("memb" ::: "memory")
+#define _spdk_smp_mb() __asm volatile("memb" ::: "memory")
+#define _spdk_ivdt_dcache(pdata)
+
#else
#define _spdk_rmb()
diff -Naur a/lib/nvme/nvme_pcie_common.c b/lib/nvme/nvme_pcie_common.c
--- a/lib/nvme/nvme_pcie_common.c 2024-01-26 23:17:18.000000000 +0800
+++ b/lib/nvme/nvme_pcie_common.c 2024-12-12 21:15:59.272412493 +0800
@@ -898,7 +898,7 @@
__builtin_prefetch(&pqpair->tr[next_cpl->cid]);
}
-#if defined(__PPC64__) || defined(__riscv) || defined(__loongarch__)
+#if defined(__PPC64__) || defined(__riscv) || defined(__loongarch__) || defined(__sw_64)
/*
* This memory barrier prevents reordering of:
* - load after store from/to tr
diff -Naur a/mk/spdk.common.mk b/mk/spdk.common.mk
--- a/mk/spdk.common.mk 2024-01-26 23:17:18.000000000 +0800
+++ b/mk/spdk.common.mk 2024-12-12 21:47:43.964114007 +0800
@@ -71,6 +71,10 @@
else ifneq ($(filter loongarch%,$(TARGET_MACHINE)),)
COMMON_CFLAGS += -march=$(TARGET_ARCHITECTURE)
COMMON_CFLAGS += -DPAGE_SIZE=$(shell getconf PAGESIZE)
+else ifneq ($(filter sw_64%,$(TARGET_MACHINE)),)
+# -march=native is not yet supported by GCC on RISC-V. Falling back to default.
+#COMMON_CFLAGS += -march=$(TARGET_ARCHITECTURE)
+#COMMON_CFLAGS += -DPAGE_SIZE=$(shell getconf PAGESIZE)
else
COMMON_CFLAGS += -march=$(TARGET_ARCHITECTURE)
endif