Compare commits
10 Commits
aab78a3292
...
eb8fca2a61
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb8fca2a61 | ||
|
|
fecc09cab7 | ||
|
|
cac00714cf | ||
|
|
5d0e2d7fe6 | ||
|
|
42e6206657 | ||
|
|
d2f2d62a4b | ||
|
|
b3c10b5bba | ||
|
|
b41e0ac5e6 | ||
|
|
d59da9614b | ||
|
|
d866ac3a89 |
54
0001-Add-loongarch64-support.patch
Normal file
54
0001-Add-loongarch64-support.patch
Normal file
@ -0,0 +1,54 @@
|
||||
From 249491af07c735d93fc743e413a5304057e43a75 Mon Sep 17 00:00:00 2001
|
||||
From: doupengda <doupengda@loongson.cn>
|
||||
Date: Tue, 7 Mar 2023 11:08:46 +0800
|
||||
Subject: [PATCH] Add loongarch64 support
|
||||
|
||||
---
|
||||
utils/uds/atomicDefs.h | 8 +++++++-
|
||||
utils/uds/cpu.h | 2 +-
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/utils/uds/atomicDefs.h b/utils/uds/atomicDefs.h
|
||||
index 0aad609..f468369 100644
|
||||
--- a/utils/uds/atomicDefs.h
|
||||
+++ b/utils/uds/atomicDefs.h
|
||||
@@ -97,6 +97,8 @@
|
||||
__asm__ __volatile__("bcr 14,0" : : : "memory");
|
||||
#elif defined __PPC__
|
||||
__asm__ __volatile__("sync" : : : "memory");
|
||||
+#elif defined __loongarch64
|
||||
+ __asm__ __volatile__("dbar 0" : : : "memory");
|
||||
#else
|
||||
#error "no fence defined"
|
||||
#endif
|
||||
@@ -122,6 +124,8 @@
|
||||
__asm__ __volatile__("bcr 14,0" : : : "memory");
|
||||
#elif defined __PPC__
|
||||
__asm__ __volatile__("lwsync" : : : "memory");
|
||||
+#elif defined __loongarch64
|
||||
+ __asm__ __volatile__("dbar 0" : : : "memory");
|
||||
#else
|
||||
#error "no fence defined"
|
||||
#endif
|
||||
@@ -147,6 +151,8 @@
|
||||
__asm__ __volatile__("bcr 14,0" : : : "memory");
|
||||
#elif defined __PPC__
|
||||
__asm__ __volatile__("lwsync" : : : "memory");
|
||||
+#elif defined __loongarch64
|
||||
+ __asm__ __volatile__("dbar 0" : : : "memory");
|
||||
#else
|
||||
#error "no fence defined"
|
||||
#endif
|
||||
diff --git a/utils/uds/cpu.h b/utils/uds/cpu.h
|
||||
index 6549f6e..e26d653 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__)
|
||||
+#elif defined(__x86_64__) || defined(__aarch64__) || defined(__loongarch64)
|
||||
#define CACHE_LINE_BYTES 64
|
||||
#else
|
||||
#error "unknown cache line size"
|
||||
@ -1,38 +0,0 @@
|
||||
From a85f6e9973697f90d11e9beb1eb16206774e4767 Mon Sep 17 00:00:00 2001
|
||||
From: "Christopher N. Hesse" <raymanfx@gmail.com>
|
||||
Date: Wed, 3 Apr 2019 22:24:29 +0200
|
||||
Subject: [PATCH 2/2] Ignore misaligned pointers
|
||||
|
||||
Signed-off-by: Christopher N. Hesse <raymanfx@gmail.com>
|
||||
---
|
||||
utils/vdo/base/Makefile | 1 +
|
||||
utils/vdo/user/Makefile | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/utils/vdo/base/Makefile b/utils/vdo/base/Makefile
|
||||
index 4f2ed82..6d4c4e8 100644
|
||||
--- a/utils/vdo/base/Makefile
|
||||
+++ b/utils/vdo/base/Makefile
|
||||
@@ -46,6 +46,7 @@ C_WARNS = \
|
||||
-Wnested-externs \
|
||||
-Wold-style-definition \
|
||||
-Wswitch-default \
|
||||
+ -Wno-address-of-packed-member \
|
||||
|
||||
OPT_FLAGS = -O3 -fno-omit-frame-pointer
|
||||
DEBUG_FLAGS =
|
||||
diff --git a/utils/vdo/user/Makefile b/utils/vdo/user/Makefile
|
||||
index b0a60d0..811dd8a 100644
|
||||
--- a/utils/vdo/user/Makefile
|
||||
+++ b/utils/vdo/user/Makefile
|
||||
@@ -48,6 +48,7 @@ C_WARNS = \
|
||||
-Wnested-externs \
|
||||
-Wold-style-definition \
|
||||
-Wswitch-default \
|
||||
+ -Wno-address-of-packed-member \
|
||||
|
||||
OPT_FLAGS = -O3 -fno-omit-frame-pointer
|
||||
DEBUG_FLAGS =
|
||||
--
|
||||
2.21.0
|
||||
|
||||
12
0002-fix_dmeventd_linking.patch
Normal file
12
0002-fix_dmeventd_linking.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -Naur vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69.orig/utils/vdo/Makefile vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69/utils/vdo/Makefile
|
||||
--- vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69.orig/utils/vdo/Makefile 2021-05-04 08:26:42.000000000 +0000
|
||||
+++ vdo-1cf3a0b44e81d61d4a0ff8193211ad1297fefa69/utils/vdo/Makefile 2021-06-01 17:05:02.117033793 +0000
|
||||
@@ -150,7 +150,7 @@
|
||||
$(CC) $(LDFLAGS) $^ $(LDPRFLAGS) -o $@
|
||||
|
||||
vdoformat: LDPRFLAGS += "-lblkid"
|
||||
-vdodmeventd: LDPRFLAGS += "-ldevmapper-event"
|
||||
+vdodmeventd: LDPRFLAGS += -ldevmapper -ldevmapper-event
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
DEPSOURCES = $(wildcard *.c)
|
||||
80
0003-RISC-V-support.patch
Normal file
80
0003-RISC-V-support.patch
Normal file
@ -0,0 +1,80 @@
|
||||
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 \
|
||||
BIN
6.2.6.14.tar.gz
BIN
6.2.6.14.tar.gz
Binary file not shown.
BIN
8.2.2.2.tar.gz
Normal file
BIN
8.2.2.2.tar.gz
Normal file
Binary file not shown.
74
vdo.spec
74
vdo.spec
@ -1,16 +1,21 @@
|
||||
Name: vdo
|
||||
Version: 6.2.6.14
|
||||
Release: 1
|
||||
Version: 8.2.2.2
|
||||
Release: 2
|
||||
Summary: Management tools for Virtual Data Optimizer
|
||||
License: GPLv2
|
||||
URL: http://github.com/dm-vdo/vdo
|
||||
Source0: https://github.com/dm-vdo/vdo/archive/refs/tags/%{version}.tar.gz
|
||||
Patch0002: 0002-Ignore-misaligned-pointers.patch
|
||||
Patch0001: 0001-Add-loongarch64-support.patch
|
||||
Patch0002: 0002-fix_dmeventd_linking.patch
|
||||
Patch0003: 0003-RISC-V-support.patch
|
||||
|
||||
BuildRequires: gcc libuuid-devel device-mapper-devel device-mapper-event-devel
|
||||
BuildRequires: valgrind-devel python3 python3-devel zlib-devel systemd
|
||||
BuildRequires: zlib-devel libblkid-devel
|
||||
%ifarch "%{valgrind_arches}"
|
||||
BuildRequires: valgrind-devel
|
||||
%endif
|
||||
%{?systemd_requires}
|
||||
Requires: lvm2 >= 2.02 python3-PyYAML >= 3.10 libuuid >= 2.23 kmod-kvdo >= 6.2 util-linux >= 2.32.1
|
||||
Requires: libuuid >= 2.23 kmod-kvdo >= 6.2 util-linux >= 2.32.1
|
||||
Provides: kvdo-kmod-common = %{version}
|
||||
|
||||
%define __requires_exclude perl
|
||||
@ -30,56 +35,43 @@ This package provides the user-space management tools for VDO.
|
||||
|
||||
%install
|
||||
%make_install DESTDIR=%{buildroot} INSTALLOWNER= bindir=%{_bindir} \
|
||||
defaultdocdir=%{_defaultdocdir} name=%{name} \
|
||||
python3_sitelib=%{python3_sitelib} mandir=%{_mandir} \
|
||||
unitdir=%{_unitdir} presetdir=%{_presetdir}
|
||||
|
||||
# Fix the python3 shebangs
|
||||
for file in %{_bindir}/vdo \
|
||||
%{_bindir}/vdostats
|
||||
do
|
||||
pathfix.py -pni "%{__python3}" %{buildroot}${file}
|
||||
done
|
||||
|
||||
%post
|
||||
%systemd_post vdo.service
|
||||
|
||||
%preun
|
||||
%systemd_preun vdo.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart vdo.service
|
||||
defaultdocdir=%{_defaultdocdir} name=%{name} mandir=%{_mandir} \
|
||||
unitdir=%{_unitdir} presetdir=%{_presetdir} sysconfdir=%{_sysconfdir}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%dir %{_defaultdocdir}/%{name}
|
||||
%doc CONTRIBUTORS.txt README.md
|
||||
%dir %{_defaultdocdir}/%{name}/examples
|
||||
%doc %{_defaultdocdir}/%{name}/examples/*
|
||||
%license %{_defaultdocdir}/%{name}/COPYING
|
||||
%{_bindir}/*
|
||||
%dir %{python3_sitelib}/%{name}
|
||||
%{python3_sitelib}/%{name}/__init__.py
|
||||
%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-*.pyc
|
||||
%{python3_sitelib}/%{name}/__pycache__/__init__.cpython-*.opt-1.pyc
|
||||
%dir %{python3_sitelib}/%{name}/vdomgmnt/
|
||||
%{python3_sitelib}/%{name}/vdomgmnt/*
|
||||
%dir %{python3_sitelib}/%{name}/statistics/
|
||||
%{python3_sitelib}/%{name}/statistics/*
|
||||
%dir %{python3_sitelib}/%{name}/utils/
|
||||
%{python3_sitelib}/%{name}/utils/*
|
||||
%{_unitdir}/vdo.service
|
||||
%{_presetdir}/97-vdo.preset
|
||||
/bash_completion.d/vdo
|
||||
/bash_completion.d/vdostats
|
||||
/etc/udev/rules.d/69-vdo-start-by-dev.rules
|
||||
/usr/lib/systemd/system/vdo-start-by-dev@.service
|
||||
/usr/libexec/vdoprepareforlvm
|
||||
%dir %{_sysconfdir}/bash_completion.d
|
||||
%{_sysconfdir}/bash_completion.d/vdostats
|
||||
|
||||
%files help
|
||||
%defattr(-,root,root)
|
||||
%{_mandir}/man8/*
|
||||
|
||||
%changelog
|
||||
* Sun Apr 28 2024 yinsist <jianhui.oerv@isrc.iscas.ac.cn> - 8.2.2.2-2
|
||||
- Valgrind does not support certain architectures like RISC-V, Before depending on Valgrind, first check if Valgrind supports the architecture
|
||||
|
||||
* Tue Feb 27 2024 liyanan <liyanan61@h-partners.com> - 8.2.2.2-1
|
||||
- Upgrade to 8.2.2.2
|
||||
|
||||
* Wed Aug 16 2023 huxintao <806908118@qq.com> - 6.2.9.7-1
|
||||
- Upgrade to 6.2.9.7
|
||||
|
||||
* Fri Mar 17 2023 laokz <zhangkai@iscas.ac.cn> - 6.2.6.14-3
|
||||
- Add RISC-V support (Patch by YukariChiba<i@0x7f.cc>)
|
||||
- Source of fence commands: RISC-V ISA Spec from riscv.org
|
||||
- Remove -Wcast-align flag, since it causes error in RISC-V gcc
|
||||
- Remove error-prone patch isolation macro
|
||||
|
||||
* Tue Mar 7 2023 doupengda <doupengda@loongson.cn> - 6.2.6.14-2
|
||||
- Add loongarch64 support
|
||||
|
||||
* Fri May 20 2022 houyingchao <houyingchao@h-partners.com> - 6.2.6.14-1
|
||||
- Upgrade to 6.2.6.14
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user