Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
aports
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
alpine
aports
Commits
10def5ea
Commit
10def5ea
authored
1 year ago
by
Natanael Copa
Browse files
Options
Downloads
Patches
Plain Diff
main/zfs-rpi: build fix for aarch64
parent
0961f019
No related branches found
Branches containing commit
No related tags found
Tags containing commit
1 merge request
!56280
update kernel to 6.6, refactor rpi kernels, support rpi5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
main/zfs-rpi/APKBUILD
+3
-1
3 additions, 1 deletion
main/zfs-rpi/APKBUILD
main/zfs-rpi/aarch64-disable-neon.patch
+158
-0
158 additions, 0 deletions
main/zfs-rpi/aarch64-disable-neon.patch
with
161 additions
and
1 deletion
main/zfs-rpi/APKBUILD
+
3
−
1
View file @
10def5ea
...
...
@@ -38,7 +38,8 @@ depends_dev="glib-dev e2fsprogs-dev util-linux-dev libtirpc-dev
makedepends
=
"
$depends_dev
linux-headers xz"
install_if
=
"zfs
$_kpkg
=
$_kpkgver
"
subpackages
=
"
$pkgname
-dev"
source
=
"https://github.com/openzfs/zfs/releases/download/zfs-
$_ver
/zfs-
$_ver
.tar.gz"
source
=
"https://github.com/openzfs/zfs/releases/download/zfs-
$_ver
/zfs-
$_ver
.tar.gz
aarch64-disable-neon.patch"
builddir
=
"
$srcdir
/
$_name
-
$_ver
"
for
f
in
$_extra_flavors
;
do
...
...
@@ -107,4 +108,5 @@ dev() {
sha512sums
=
"
05e17046ac4f0ba923151be3e554e075db4783c8936c5dcee2d3b6d459fb386ba33f9eb38d15c185db58a1d26926147a66c3b3fe14e9de40987f0e95efa2bb31 zfs-2.2.1.tar.gz
50499c40a670e8b447279912953732c015dfb3559372d5e203be30e1e22663920747c3a65f995e94b70bed0d5fdf82f72e260422792097578a50b49001df7aee aarch64-disable-neon.patch
"
This diff is collapsed.
Click to expand it.
main/zfs-rpi/aarch64-disable-neon.patch
0 → 100644
+
158
−
0
View file @
10def5ea
ERROR: modpost: GPL-incompatible module zfs.ko uses GPL-only symbol 'kernel_neon_begin'
ERROR: modpost: GPL-incompatible module zfs.ko uses GPL-only symbol 'kernel_neon_end'
There is no way around this so just disable all zfs kernel SIMD on aarch64
for the time being.
diff --git a/include/os/linux/kernel/linux/simd.h b/include/os/linux/kernel/linux/simd.h
index f4376b2..02f8110 100644
--- a/include/os/linux/kernel/linux/simd.h
+++ b/include/os/linux/kernel/linux/simd.h
@@ -31,9 +31,6 @@
#elif defined(__arm__)
#include <linux/simd_arm.h>
-#elif defined(__aarch64__)
-#include <linux/simd_aarch64.h>
-
#elif defined(__powerpc__)
#include <linux/simd_powerpc.h>
diff --git a/module/Kbuild.in b/module/Kbuild.in
index 4395938..dc991b6 100644
--- a/module/Kbuild.in
+++ b/module/Kbuild.in
@@ -169,7 +169,6 @@
zfs-$(CONFIG_X86) += $(addprefix icp/,$(ICP_OBJS_X86))
zfs-$(CONFIG_UML_X86)+= $(addprefix icp/,$(ICP_OBJS_X86))
zfs-$(CONFIG_X86_64) += $(addprefix icp/,$(ICP_OBJS_X86_64))
zfs-$(CONFIG_ARM) += $(addprefix icp/,$(ICP_OBJS_ARM))
-zfs-$(CONFIG_ARM64) += $(addprefix icp/,$(ICP_OBJS_ARM64))
zfs-$(CONFIG_PPC) += $(addprefix icp/,$(ICP_OBJS_PPC_PPC64))
zfs-$(CONFIG_PPC64) += $(addprefix icp/,$(ICP_OBJS_PPC_PPC64))
@@ -257,7 +256,6 @@
ZCOMMON_OBJS_ARM64 := \
zfs-objs += $(addprefix zcommon/,$(ZCOMMON_OBJS))
zfs-$(CONFIG_X86) += $(addprefix zcommon/,$(ZCOMMON_OBJS_X86))
zfs-$(CONFIG_UML_X86)+= $(addprefix zcommon/,$(ZCOMMON_OBJS_X86))
-zfs-$(CONFIG_ARM64) += $(addprefix zcommon/,$(ZCOMMON_OBJS_ARM64))
# Zstd uses -O3 by default, so we should follow
@@ -484,7 +482,6 @@
ZFS_OBJS_PPC_PPC64 := \
zfs-objs += $(addprefix zfs/,$(ZFS_OBJS)) $(addprefix os/linux/zfs/,$(ZFS_OBJS_OS))
zfs-$(CONFIG_X86) += $(addprefix zfs/,$(ZFS_OBJS_X86))
zfs-$(CONFIG_UML_X86)+= $(addprefix zfs/,$(ZFS_OBJS_X86))
-zfs-$(CONFIG_ARM64) += $(addprefix zfs/,$(ZFS_OBJS_ARM64))
zfs-$(CONFIG_PPC) += $(addprefix zfs/,$(ZFS_OBJS_PPC_PPC64))
zfs-$(CONFIG_PPC64) += $(addprefix zfs/,$(ZFS_OBJS_PPC_PPC64))
diff --git a/module/icp/algs/blake3/blake3_impl.c b/module/icp/algs/blake3/blake3_impl.c
index f3f48c2..df02487 100644
--- a/module/icp/algs/blake3/blake3_impl.c
+++ b/module/icp/algs/blake3/blake3_impl.c
@@ -30,7 +30,7 @@
#include "blake3_impl.h"
-#if defined(__aarch64__) || \
+#if 0 || \
(defined(__x86_64) && defined(HAVE_SSE2)) || \
(defined(__PPC64__) && defined(__LITTLE_ENDIAN__))
@@ -96,7 +96,7 @@
const blake3_ops_t blake3_sse2_impl = {
};
#endif
-#if defined(__aarch64__) || \
+#if 0 || \
(defined(__x86_64) && defined(HAVE_SSE2)) || \
(defined(__PPC64__) && defined(__LITTLE_ENDIAN__))
@@ -257,12 +257,12 @@
extern const blake3_ops_t blake3_generic_impl;
static const blake3_ops_t *const blake3_impls[] = {
&blake3_generic_impl,
-#if defined(__aarch64__) || \
+#if 0 || \
(defined(__x86_64) && defined(HAVE_SSE2)) || \
(defined(__PPC64__) && defined(__LITTLE_ENDIAN__))
&blake3_sse2_impl,
#endif
-#if defined(__aarch64__) || \
+#if 0 || \
(defined(__x86_64) && defined(HAVE_SSE4_1)) || \
(defined(__PPC64__) && defined(__LITTLE_ENDIAN__))
&blake3_sse41_impl,
diff --git a/module/icp/algs/sha2/sha256_impl.c b/module/icp/algs/sha2/sha256_impl.c
index 01ce5cb..69f8233 100644
--- a/module/icp/algs/sha2/sha256_impl.c
+++ b/module/icp/algs/sha2/sha256_impl.c
@@ -118,7 +118,7 @@
const sha256_ops_t sha256_shani_impl = {
};
#endif
-#elif defined(__aarch64__) || (defined(__arm__) && __ARM_ARCH > 6)
+#elif (defined(__aarch64__) && 0) || (defined(__arm__) && __ARM_ARCH > 6)
static boolean_t sha256_have_neon(void)
{
return (kfpu_allowed() && zfs_neon_available());
@@ -192,7 +192,7 @@
static const sha256_ops_t *const sha256_impls[] = {
#if defined(__x86_64) && defined(HAVE_SSE4_1)
&sha256_shani_impl,
#endif
-#if defined(__aarch64__) || (defined(__arm__) && __ARM_ARCH > 6)
+#if 0 || (defined(__arm__) && __ARM_ARCH > 6)
&sha256_armv7_impl,
&sha256_neon_impl,
&sha256_armv8_impl,
diff --git a/module/icp/algs/sha2/sha512_impl.c b/module/icp/algs/sha2/sha512_impl.c
index 27b35a6..23f5ea5 100644
--- a/module/icp/algs/sha2/sha512_impl.c
+++ b/module/icp/algs/sha2/sha512_impl.c
@@ -88,7 +88,7 @@
const sha512_ops_t sha512_avx2_impl = {
};
#endif
-#elif defined(__aarch64__)
+#elif defined(__aarch64__) && 0
extern void zfs_sha512_block_armv7(uint64_t s[8], const void *, size_t);
const sha512_ops_t sha512_armv7_impl = {
.is_supported = sha2_is_supported,
@@ -164,7 +164,7 @@
static const sha512_ops_t *const sha512_impls[] = {
#if defined(__x86_64) && defined(HAVE_AVX2)
&sha512_avx2_impl,
#endif
-#if defined(__aarch64__)
+#if 0
&sha512_armv7_impl,
&sha512_armv8_impl,
#endif
diff --git a/module/zcommon/zfs_fletcher.c b/module/zcommon/zfs_fletcher.c
index 619ddef..39dbd65 100644
--- a/module/zcommon/zfs_fletcher.c
+++ b/module/zcommon/zfs_fletcher.c
@@ -188,9 +188,6 @@
static const fletcher_4_ops_t *fletcher_4_impls[] = {
#if defined(__x86_64) && defined(HAVE_AVX512BW)
&fletcher_4_avx512bw_ops,
#endif
-#if defined(__aarch64__) && !defined(__FreeBSD__)
- &fletcher_4_aarch64_neon_ops,
-#endif
};
/* Hold all supported implementations */
diff --git a/module/zfs/vdev_raidz_math.c b/module/zfs/vdev_raidz_math.c
index e12b961..62c0063 100644
--- a/module/zfs/vdev_raidz_math.c
+++ b/module/zfs/vdev_raidz_math.c
@@ -61,10 +61,6 @@
static const raidz_impl_ops_t *const raidz_all_maths[] = {
#if defined(__x86_64) && defined(HAVE_AVX512BW) /* only x86_64 for now */
&vdev_raidz_avx512bw_impl,
#endif
-#if defined(__aarch64__) && !defined(__FreeBSD__)
- &vdev_raidz_aarch64_neon_impl,
- &vdev_raidz_aarch64_neonx2_impl,
-#endif
#if defined(__powerpc__) && defined(__altivec__)
&vdev_raidz_powerpc_altivec_impl,
#endif
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment