1 Star 0 Fork 27

沈辰邦/vdo_3

forked from src-openEuler/vdo 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0003-RISC-V-support.patch 2.12 KB
一键复制 编辑 原始数据 按行查看 历史
lyn 提交于 2024-02-27 09:26 . Upgrade to 8.2.2.2
diff --git a/utils/uds/atomicDefs.h b/utils/uds/atomicDefs.h
index f468369..673f974 100644
--- a/utils/uds/atomicDefs.h
+++ b/utils/uds/atomicDefs.h
@@ -99,6 +99,8 @@
__asm__ __volatile__("sync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
+#elif defined __riscv
+ __asm__ __volatile__("fence rw,rw" : : : "memory");
#else
#error "no fence defined"
#endif
@@ -126,6 +128,8 @@
__asm__ __volatile__("lwsync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
+#elif defined __riscv
+ __asm__ __volatile__("fence r,r" : : : "memory");
#else
#error "no fence defined"
#endif
@@ -153,6 +157,8 @@
__asm__ __volatile__("lwsync" : : : "memory");
#elif defined __loongarch64
__asm__ __volatile__("dbar 0" : : : "memory");
+#elif defined __riscv
+ __asm__ __volatile__("fence w,w" : : : "memory");
#else
#error "no fence defined"
#endif
diff --git a/utils/uds/cpu.h b/utils/uds/cpu.h
index e26d653..f3fd61f 100644
--- a/utils/uds/cpu.h
+++ b/utils/uds/cpu.h
@@ -36,7 +36,7 @@
#define CACHE_LINE_BYTES 128
#elif defined(__s390x__)
#define CACHE_LINE_BYTES 256
-#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64)
+#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64) || defined(__riscv)
#define CACHE_LINE_BYTES 64
#else
#error "unknown cache line size"
diff --git a/utils/uds/Makefile b/utils/uds/Makefile
index e33d682..ff6ece0 100644
--- a/utils/uds/Makefile
+++ b/utils/uds/Makefile
@@ -32,8 +32,11 @@
CC=gcc
endif
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
+Wcast-align = -Wcast-align
+endif
WARNS = -Wall \
- -Wcast-align \
+ $(Wcast-align) \
-Werror \
-Wextra \
-Winit-self \
diff --git a/utils/vdo/Makefile b/utils/vdo/Makefile
index fb009a7..26a8e28 100644
--- a/utils/vdo/Makefile
+++ b/utils/vdo/Makefile
@@ -22,10 +22,12 @@
UDS_DIR = ../uds
-
+ifeq ($(filter riscv64%,$(MAKE_HOST)),)
+Wcast-align = -Wcast-align
+endif
WARNS = \
-Wall \
- -Wcast-align \
+ $(Wcast-align) \
-Werror \
-Wextra \
-Winit-self \
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/shen-chenbang/vdo_3.git
[email protected]:shen-chenbang/vdo_3.git
shen-chenbang
vdo_3
vdo_3
master

搜索帮助