Re: git: 1f1e2261e341 - main - zfs: merge openzfs/zfs@deb121309
- In reply to: Martin Matuska : "git: 1f1e2261e341 - main - zfs: merge openzfs/zfs@deb121309"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 24 Jun 2022 14:01:13 UTC
This broke the build on arm64 as we need to remove -mgeneral-regs-only from CFLAGS for b3_aarch64_sse2.S and b3_aarch64_sse41.S. I’ve pushed a fix in 52f6e63ab3656b417d8dd2b905569707c90c9ecf.
Andrew
> On 23 Jun 2022, at 16:50, Martin Matuska <mm@FreeBSD.org> wrote:
>
> The branch main has been updated by mm:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=1f1e2261e341e6ca6862f82261066ef1705f0a7a
>
> commit 1f1e2261e341e6ca6862f82261066ef1705f0a7a
> Merge: a320e9dd51e6 deb1213098e2
> Author: Martin Matuska <mm@FreeBSD.org>
> AuthorDate: 2022-06-23 15:47:42 +0000
> Commit: Martin Matuska <mm@FreeBSD.org>
> CommitDate: 2022-06-23 15:49:33 +0000
>
> zfs: merge openzfs/zfs@deb121309
>
> Notable upstream pull request merges:
> #12918 Introduce BLAKE3 checksums as an OpenZFS feature
> #13553 Reduce ZIO io_lock contention on sorted scrub
> #13537 Improve sorted scan memory accounting
> #13540 AVL: Remove obsolete branching optimizations
> #13563 FreeBSD: Improve crypto_dispatch() handling
>
> Obtained from: OpenZFS
> OpenZFS commit: deb1213098e2dc10e6eee5e5c57bb40584e096a6
>
> cddl/lib/libicp/Makefile | 29 +-
> cddl/lib/libicp_rescue/Makefile | 29 +-
> cddl/lib/libzpool/Makefile | 2 +
> sys/contrib/openzfs/AUTHORS | 1 +
> sys/contrib/openzfs/cmd/zfs/zfs_iter.c | 6 +-
> sys/contrib/openzfs/cmd/zfs/zfs_main.c | 68 +-
> sys/contrib/openzfs/cmd/zpool/zpool_main.c | 4 +-
> sys/contrib/openzfs/cmd/ztest.c | 89 +
> sys/contrib/openzfs/config/always-arch.m4 | 2 +
> sys/contrib/openzfs/config/kernel-add-disk.m4 | 3 +-
> sys/contrib/openzfs/config/kernel-blk-queue.m4 | 32 +
> sys/contrib/openzfs/config/kernel-user-ns-inum.m4 | 23 +
> sys/contrib/openzfs/config/kernel.m4 | 2 +
> .../contrib/dracut/90zfs/module-setup.sh.in | 3 +-
> .../contrib/pyzfs/libzfs_core/_constants.py | 1 +
> sys/contrib/openzfs/etc/Makefile.am | 3 +
> .../etc/systemd/system/zfs-trim-monthly@.timer.in | 12 +
> .../etc/systemd/system/zfs-trim-weekly@.timer.in | 12 +
> .../etc/systemd/system/zfs-trim@.service.in | 15 +
> sys/contrib/openzfs/include/Makefile.am | 2 +
> sys/contrib/openzfs/include/libzfs.h | 10 +
> .../openzfs/include/os/freebsd/spl/sys/ccompile.h | 2 +
> .../include/os/linux/kernel/linux/blkdev_compat.h | 111 +
> .../include/os/linux/kernel/linux/simd_powerpc.h | 34 +-
> .../include/os/linux/kernel/linux/vfs_compat.h | 16 -
> sys/contrib/openzfs/include/os/linux/spl/sys/uio.h | 39 +-
> .../openzfs/include/os/linux/spl/sys/zone.h | 31 +-
> .../include/os/linux/zfs/sys/zfs_context_os.h | 5 +
> sys/contrib/openzfs/include/sys/blake3.h | 125 +
> sys/contrib/openzfs/include/sys/fs/zfs.h | 6 +-
> sys/contrib/openzfs/include/sys/zfs_chksum.h | 48 +
> sys/contrib/openzfs/include/sys/zfs_ioctl.h | 3 +-
> sys/contrib/openzfs/include/sys/zio.h | 1 +
> sys/contrib/openzfs/include/sys/zio_checksum.h | 12 +-
> sys/contrib/openzfs/include/zfeature_common.h | 1 +
> sys/contrib/openzfs/lib/libicp/Makefile.am | 25 +-
> sys/contrib/openzfs/lib/libspl/include/sys/simd.h | 18 +
> sys/contrib/openzfs/lib/libspl/include/sys/types.h | 2 +-
> sys/contrib/openzfs/lib/libspl/include/zone.h | 12 +-
> sys/contrib/openzfs/lib/libspl/os/linux/zone.c | 32 +-
> sys/contrib/openzfs/lib/libuutil/libuutil.abi | 2 +-
> sys/contrib/openzfs/lib/libzfs/libzfs.abi | 18 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_crypto.c | 10 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c | 64 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_diff.c | 2 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_impl.h | 4 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_pool.c | 299 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c | 36 +-
> sys/contrib/openzfs/lib/libzfs/libzfs_util.c | 12 +-
> .../openzfs/lib/libzfs/os/freebsd/libzfs_compat.c | 2 -
> .../openzfs/lib/libzfs/os/linux/libzfs_pool_os.c | 2 +-
> .../openzfs/lib/libzfs/os/linux/libzfs_util_os.c | 71 +
> .../openzfs/lib/libzfs_core/libzfs_core.abi | 2 +-
> sys/contrib/openzfs/lib/libzpool/Makefile.am | 2 +
> sys/contrib/openzfs/man/Makefile.am | 2 +
> sys/contrib/openzfs/man/man4/zfs.4 | 69 +-
> sys/contrib/openzfs/man/man7/zfsprops.7 | 10 +-
> sys/contrib/openzfs/man/man7/zpool-features.7 | 8 +
> sys/contrib/openzfs/man/man8/zfs-unzone.8 | 1 +
> sys/contrib/openzfs/man/man8/zfs-zone.8 | 116 +
> sys/contrib/openzfs/man/man8/zpool-trim.8 | 21 +
> sys/contrib/openzfs/module/Kbuild.in | 38 +-
> sys/contrib/openzfs/module/Makefile.bsd | 34 +-
> sys/contrib/openzfs/module/avl/avl.c | 24 +-
> .../openzfs/module/icp/algs/blake3/blake3.c | 732 +++++
> .../module/icp/algs/blake3/blake3_generic.c | 202 ++
> .../openzfs/module/icp/algs/blake3/blake3_impl.c | 284 ++
> .../openzfs/module/icp/algs/blake3/blake3_impl.h | 213 ++
> .../openzfs/module/icp/algs/blake3/blake3_x86-64.c | 248 ++
> .../icp/asm-aarch64/blake3/b3_aarch64_sse2.S | 2450 ++++++++++++++++
> .../icp/asm-aarch64/blake3/b3_aarch64_sse41.S | 2463 ++++++++++++++++
> .../module/icp/asm-ppc64/blake3/b3_ppc64le_sse2.S | 2823 ++++++++++++++++++
> .../module/icp/asm-ppc64/blake3/b3_ppc64le_sse41.S | 3064 ++++++++++++++++++++
> .../module/icp/asm-x86_64/blake3/blake3_avx2.S | 1845 ++++++++++++
> .../module/icp/asm-x86_64/blake3/blake3_avx512.S | 2618 +++++++++++++++++
> .../module/icp/asm-x86_64/blake3/blake3_sse2.S | 2323 +++++++++++++++
> .../module/icp/asm-x86_64/blake3/blake3_sse41.S | 2058 +++++++++++++
> .../openzfs/module/os/freebsd/zfs/crypto_os.c | 41 +-
> .../openzfs/module/os/linux/spl/spl-generic.c | 6 +
> sys/contrib/openzfs/module/os/linux/spl/spl-zone.c | 424 +++
> sys/contrib/openzfs/module/os/linux/zfs/policy.c | 2 +-
> .../openzfs/module/os/linux/zfs/zfs_ioctl_os.c | 47 +
> sys/contrib/openzfs/module/os/linux/zfs/zfs_uio.c | 154 +-
> .../openzfs/module/os/linux/zfs/zfs_vfsops.c | 20 +
> .../openzfs/module/os/linux/zfs/zpl_ctldir.c | 17 +
> .../openzfs/module/os/linux/zfs/zpl_super.c | 1 +
> .../openzfs/module/os/linux/zfs/zpl_xattr.c | 5 +-
> sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 632 +++-
> .../openzfs/module/zcommon/zfeature_common.c | 31 +-
> sys/contrib/openzfs/module/zcommon/zfs_prop.c | 8 +-
> sys/contrib/openzfs/module/zfs/blake3_zfs.c | 117 +
> sys/contrib/openzfs/module/zfs/dsl_prop.c | 10 +-
> sys/contrib/openzfs/module/zfs/dsl_scan.c | 26 +-
> sys/contrib/openzfs/module/zfs/spa_misc.c | 3 +
> sys/contrib/openzfs/module/zfs/vdev.c | 6 +-
> sys/contrib/openzfs/module/zfs/zcp_synctask.c | 2 +-
> sys/contrib/openzfs/module/zfs/zfs_chksum.c | 323 +++
> sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 14 +-
> sys/contrib/openzfs/module/zfs/zio_checksum.c | 6 +
> sys/contrib/openzfs/tests/runfiles/common.run | 10 +-
> sys/contrib/openzfs/tests/runfiles/linux.run | 8 +-
> sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore | 1 +
> .../openzfs/tests/zfs-tests/cmd/Makefile.am | 6 +-
> .../tests/zfs-tests/cmd/checksum/blake3_test.c | 575 ++++
> .../tests/zfs-tests/cmd/checksum/edonr_test.c | 3 -
> .../tests/zfs-tests/cmd/checksum/sha2_test.c | 3 -
> .../tests/zfs-tests/cmd/checksum/skein_test.c | 3 -
> .../openzfs/tests/zfs-tests/include/commands.cfg | 5 +
> .../openzfs/tests/zfs-tests/include/libtest.shlib | 45 +-
> .../tests/zfs-tests/include/properties.shlib | 2 +-
> .../openzfs/tests/zfs-tests/include/tunables.cfg | 1 +
> .../openzfs/tests/zfs-tests/tests/Makefile.am | 9 +
> .../tests/functional/checksum/default.cfg | 2 +-
> .../tests/functional/checksum/run_blake3_test.ksh | 30 +
> .../cli_root/zfs_set/checksum_001_pos.ksh | 2 +-
> .../functional/cli_root/zpool_get/zpool_get.cfg | 1 +
> .../user_namespace/user_namespace_001.ksh | 5 +
> .../user_namespace/user_namespace_002.ksh | 115 +
> .../user_namespace/user_namespace_003.ksh | 97 +
> .../user_namespace/user_namespace_004.ksh | 67 +
> .../tests/functional/zvol/zvol_common.shlib | 11 +
> .../functional/zvol/zvol_misc/zvol_misc_fua.ksh | 96 +
> .../functional/zvol/zvol_misc/zvol_misc_trim.ksh | 136 +
> .../tests/functional/zvol/zvol_stress/cleanup.ksh | 36 +
> .../tests/functional/zvol/zvol_stress/setup.ksh | 36 +
> .../functional/zvol/zvol_stress/zvol_stress.ksh | 169 ++
> sys/modules/zfs/Makefile | 30 +-
> sys/modules/zfs/zfs_config.h | 10 +-
> sys/modules/zfs/zfs_gitrev.h | 2 +-
> 129 files changed, 25938 insertions(+), 516 deletions(-)
>
> diff --cc cddl/lib/libicp/Makefile
> index 6a8e979ea836,000000000000..5b316453af9a
> mode 100644,000000..100644
> --- a/cddl/lib/libicp/Makefile
> +++ b/cddl/lib/libicp/Makefile
> @@@ -1,92 -1,0 +1,119 @@@
> +# $FreeBSD$
> +
> +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
> +
> +PACKAGE= utilities
> +LIB= icp
> +LIBADD=
> +
> +
> +.if ${MACHINE_ARCH} == "amd64"
> +ASM_SOURCES_C = asm-x86_64/aes/aeskey.c
> +ASM_SOURCES_AS = \
> + asm-x86_64/aes/aes_amd64.S \
> + asm-x86_64/aes/aes_aesni.S \
> + asm-x86_64/modes/gcm_pclmulqdq.S \
> + asm-x86_64/modes/aesni-gcm-x86_64.S \
> + asm-x86_64/modes/ghash-x86_64.S \
> + asm-x86_64/sha2/sha256_impl.S \
> - asm-x86_64/sha2/sha512_impl.S
> ++ asm-x86_64/sha2/sha512_impl.S \
> ++ asm-x86_64/blake3/blake3_avx2.S \
> ++ asm-x86_64/blake3/blake3_avx512.S \
> ++ asm-x86_64/blake3/blake3_sse2.S \
> ++ asm-x86_64/blake3/blake3_sse41.S
> +
> +CFLAGS+= -D__amd64 -D_SYS_STACK_H -UHAVE_AES
> ++.elif ${MACHINE_ARCH} == "aarch64"
> ++ASM_SOURCES_C =
> ++ASM_SOURCES_AS = \
> ++ asm-aarch64/blake3/b3_aarch64_sse2.S \
> ++ asm-aarch64/blake3/b3_aarch64_sse41.S
> ++.elif ${MACHINE_ARCH} == "powerpc64"
> ++ASM_SOURCES_C =
> ++ASM_SOURCES_AS = \
> ++ asm-ppc64/blake3/b3_ppc64le_sse2.S \
> ++ asm-ppc64/blake3/b3_ppc64le_sse41.S
> +.else
> +ASM_SOURCES_C =
> +ASM_SOURCES_AS =
> +.endif
> +
> +
> +KERNEL_C = \
> + spi/kcf_spi.c \
> + api/kcf_ctxops.c \
> + api/kcf_cipher.c \
> + api/kcf_mac.c \
> + algs/aes/aes_impl_aesni.c \
> + algs/aes/aes_impl_generic.c \
> + algs/aes/aes_impl_x86-64.c \
> + algs/aes/aes_impl.c \
> + algs/aes/aes_modes.c \
> ++ algs/blake3/blake3.c \
> ++ algs/blake3/blake3_generic.c \
> ++ algs/blake3/blake3_impl.c \
> ++ algs/blake3/blake3_x86-64.c \
> + algs/edonr/edonr.c \
> + algs/modes/modes.c \
> + algs/modes/cbc.c \
> + algs/modes/gcm_generic.c \
> + algs/modes/gcm_pclmulqdq.c \
> + algs/modes/gcm.c \
> + algs/modes/ctr.c \
> + algs/modes/ccm.c \
> + algs/modes/ecb.c \
> + algs/sha2/sha2.c \
> + algs/skein/skein.c \
> + algs/skein/skein_block.c \
> + algs/skein/skein_iv.c \
> + illumos-crypto.c \
> + io/aes.c \
> + io/sha2_mod.c \
> + io/skein_mod.c \
> + core/kcf_sched.c \
> + core/kcf_prov_lib.c \
> + core/kcf_callprov.c \
> + core/kcf_mech_tabs.c \
> + core/kcf_prov_tabs.c \
> + $(ASM_SOURCES_C)
> +
> +
> +
> +
> +
> +
> +SRCS= $(ASM_SOURCES_AS) $(KERNEL_C)
> +
> +WARNS?= 2
> +SHLIB_MAJOR= 3
> +CSTD= c99
> +CFLAGS+= -DIN_BASE
> +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
> +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/
> +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
> +CFLAGS+= -I${SRCTOP}/sys
> +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
> +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
> +CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
> +CFLAGS+= -DHAVE_ISSETUGID
> +CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
> +
> +
> +CFLAGS.aes_amd64.S+= -DLOCORE
> +CFLAGS.aes_aesni.S+= -DLOCORE
> +CFLAGS.gcm_pclmulqdq.S+= -DLOCORE
> +CFLAGS.aesni-gcm-x86_64.S+= -DLOCORE
> +CFLAGS.ghash-x86_64.S+= -DLOCORE
> +CFLAGS.sha256_impl.S+= -DLOCORE
> +CFLAGS.sha512_impl.S+= -DLOCORE
> ++CFLAGS.blake3_avx2.S = -DLOCORE
> ++CFLAGS.blake3_avx512.S = -DLOCORE
> ++CFLAGS.blake3_sse2.S = -DLOCORE
> ++CFLAGS.blake3_sse41.S = -DLOCORE
> ++CFLAGS.b3_aarch64_sse2.S = -DLOCORE
> ++CFLAGS.b3_aarch64_sse41.S = -DLOCORE
> ++CFLAGS.b3_ppc64le_sse2.S = -DLOCORE
> ++CFLAGS.b3_ppc64le_sse41.S = -DLOCORE
> ++
> +
> +.include <bsd.lib.mk>
> diff --cc cddl/lib/libicp_rescue/Makefile
> index d3e69d276d17,000000000000..3fd098bc86ed
> mode 100644,000000..100644
> --- a/cddl/lib/libicp_rescue/Makefile
> +++ b/cddl/lib/libicp_rescue/Makefile
> @@@ -1,85 -1,0 +1,112 @@@
> +# $FreeBSD$
> +
> +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
> +
> +PACKAGE= utilities
> +LIB= icp_rescue
> +LIBADD=
> +
> +
> +.if ${MACHINE_ARCH} == "amd64"
> +ASM_SOURCES_C = asm-x86_64/aes/aeskey.c
> +ASM_SOURCES_AS = \
> + asm-x86_64/aes/aes_amd64.S \
> + asm-x86_64/aes/aes_aesni.S \
> + asm-x86_64/modes/gcm_pclmulqdq.S \
> + asm-x86_64/modes/aesni-gcm-x86_64.S \
> + asm-x86_64/sha2/sha256_impl.S \
> - asm-x86_64/sha2/sha512_impl.S
> ++ asm-x86_64/sha2/sha512_impl.S \
> ++ asm-x86_64/blake3/blake3_avx2.S \
> ++ asm-x86_64/blake3/blake3_avx512.S \
> ++ asm-x86_64/blake3/blake3_sse2.S \
> ++ asm-x86_64/blake3/blake3_sse41.S
> +
> +CFLAGS+= -D__amd64 -D_SYS_STACK_H
> ++.elif ${MACHINE_ARCH} == "aarch64"
> ++ASM_SOURCES_C =
> ++ASM_SOURCES_AS = \
> ++ asm-aarch64/blake3/b3_aarch64_sse2.S \
> ++ asm-aarch64/blake3/b3_aarch64_sse41.S
> ++.elif ${MACHINE_ARCH} == "powerpc64"
> ++ASM_SOURCES_C =
> ++ASM_SOURCES_AS = \
> ++ asm-ppc64/blake3/b3_ppc64le_sse2.S \
> ++ asm-ppc64/blake3/b3_ppc64le_sse41.S
> +.else
> +ASM_SOURCES_C =
> +ASM_SOURCES_AS =
> +.endif
> +
> +
> +KERNEL_C = \
> + spi/kcf_spi.c \
> + api/kcf_ctxops.c \
> + api/kcf_cipher.c \
> + api/kcf_mac.c \
> + algs/aes/aes_impl_aesni.c \
> + algs/aes/aes_impl_generic.c \
> + algs/aes/aes_impl_x86-64.c \
> + algs/aes/aes_impl.c \
> + algs/aes/aes_modes.c \
> ++ algs/blake3/blake3.c \
> ++ algs/blake3/blake3_generic.c \
> ++ algs/blake3/blake3_impl.c \
> ++ algs/blake3/blake3_x86-64.c \
> + algs/edonr/edonr.c \
> + algs/modes/modes.c \
> + algs/modes/cbc.c \
> + algs/modes/gcm_generic.c \
> + algs/modes/gcm_pclmulqdq.c \
> + algs/modes/gcm.c \
> + algs/modes/ctr.c \
> + algs/modes/ccm.c \
> + algs/modes/ecb.c \
> + algs/sha2/sha2.c \
> + algs/skein/skein_block.c \
> + illumos-crypto.c \
> + io/aes.c \
> + io/sha2_mod.c \
> + io/skein_mod.c \
> + core/kcf_sched.c \
> + core/kcf_prov_lib.c \
> + core/kcf_callprov.c \
> + core/kcf_mech_tabs.c \
> + core/kcf_prov_tabs.c \
> + $(ASM_SOURCES_C)
> +
> +SRCS= $(ASM_SOURCES_AS) $(KERNEL_C)
> +
> +WARNS?= 2
> +SHLIB_MAJOR= 3
> +CSTD= c99
> +CFLAGS+= -DIN_BASE
> +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
> +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/
> +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
> +CFLAGS+= -I${SRCTOP}/sys
> +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
> +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
> +CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
> +CFLAGS+= -DHAVE_ISSETUGID -UHAVE_AVX -DRESCUE
> +CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
> +
> +
> +CFLAGS.aes_amd64.S+= -DLOCORE
> +CFLAGS.aes_aesni.S+= -DLOCORE
> +CFLAGS.gcm_pclmulqdq.S+= -DLOCORE
> +CFLAGS.aesni-gcm-x86_64.S+= -DLOCORE
> +CFLAGS.ghash-x86_64.S+= -DLOCORE
> +CFLAGS.sha256_impl.S+= -DLOCORE
> +CFLAGS.sha512_impl.S+= -DLOCORE
> +CFLAGS.gcm.c+= -UCAN_USE_GCM_ASM
> ++CFLAGS.blake3_avx2.S = -DLOCORE
> ++CFLAGS.blake3_avx512.S = -DLOCORE
> ++CFLAGS.blake3_sse2.S = -DLOCORE
> ++CFLAGS.blake3_sse41.S = -DLOCORE
> ++CFLAGS.b3_aarch64_sse2.S = -DLOCORE
> ++CFLAGS.b3_aarch64_sse41.S = -DLOCORE
> ++CFLAGS.b3_ppc64le_sse2.S = -DLOCORE
> ++CFLAGS.b3_ppc64le_sse41.S = -DLOCORE
> ++
> +
> +.include <bsd.lib.mk>
> diff --cc cddl/lib/libzpool/Makefile
> index 69700ec51407,000000000000..92f1bda6d82a
> mode 100644,000000..100644
> --- a/cddl/lib/libzpool/Makefile
> +++ b/cddl/lib/libzpool/Makefile
> @@@ -1,331 -1,0 +1,333 @@@
> +# $FreeBSD$
> +
> +ZFSTOP= ${SRCTOP}/sys/contrib/openzfs
> +
> +# ZFS_COMMON_SRCS
> +.PATH: ${ZFSTOP}/module/zfs
> +.PATH: ${ZFSTOP}/module/zcommon
> +.PATH: ${ZFSTOP}/module/unicode
> +# LUA_SRCS
> +.PATH: ${ZFSTOP}/module/lua
> +# ZSTD_SRCS
> +.PATH: ${ZFSTOP}/module/zstd
> +.PATH: ${ZFSTOP}/module/zstd/lib/common
> +.PATH: ${ZFSTOP}/module/zstd/lib/compress
> +.PATH: ${ZFSTOP}/module/zstd/lib/decompress
> +
> +.PATH: ${ZFSTOP}/module/os/linux/zfs
> +
> +.PATH: ${ZFSTOP}/lib/libzpool
> +
> +.if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S)
> +.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}
> +ATOMIC_SRCS= opensolaris_atomic.S
> +ACFLAGS+= -Wa,--noexecstack
> +.else
> +.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern
> +ATOMIC_SRCS= opensolaris_atomic.c
> +.endif
> +
> +.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpcspe"
> +# Don't waste GOT entries on small data.
> +PICFLAG= -fPIC
> +.endif
> +
> +LIB= zpool
> +
> +USER_C = \
> + kernel.c \
> + taskq.c \
> + util.c
> +
> +KERNEL_C = \
> + zfeature_common.c \
> + zfs_comutil.c \
> + zfs_deleg.c \
> + zfs_fletcher.c \
> + zfs_fletcher_superscalar.c \
> + zfs_fletcher_superscalar4.c \
> + zfs_namecheck.c \
> + zfs_prop.c \
> + zfs_zstd.c \
> + zpool_prop.c \
> + zprop_common.c \
> + abd.c \
> + abd_os.c \
> + aggsum.c \
> + arc.c \
> + arc_os.c \
> ++ blake3_zfs.c \
> + blkptr.c \
> + bplist.c \
> + bpobj.c \
> + bptree.c \
> + btree.c \
> + bqueue.c \
> + cityhash.c \
> + dbuf.c \
> + dbuf_stats.c \
> + ddt.c \
> + ddt_zap.c \
> + dmu.c \
> + dmu_diff.c \
> + dmu_object.c \
> + dmu_objset.c \
> + dmu_recv.c \
> + dmu_redact.c \
> + dmu_send.c \
> + dmu_traverse.c \
> + dmu_tx.c \
> + dmu_zfetch.c \
> + dnode.c \
> + dnode_sync.c \
> + dsl_bookmark.c \
> + dsl_dataset.c \
> + dsl_deadlist.c \
> + dsl_deleg.c \
> + dsl_dir.c \
> + dsl_crypt.c \
> + dsl_pool.c \
> + dsl_prop.c \
> + dsl_scan.c \
> + dsl_synctask.c \
> + dsl_destroy.c \
> + dsl_userhold.c \
> + edonr_zfs.c \
> + entropy_common.c \
> + error_private.c \
> + fm.c \
> + fse_compress.c \
> + fse_decompress.c \
> + gzip.c \
> + hist.c \
> + hkdf.c \
> + huf_compress.c \
> + huf_decompress.c \
> + lzjb.c \
> + lz4.c \
> + lz4_zfs.c \
> + metaslab.c \
> + mmp.c \
> + multilist.c \
> + objlist.c \
> + pathname.c \
> + pool.c \
> + range_tree.c \
> + refcount.c \
> + rrwlock.c \
> + sa.c \
> + sha256.c \
> + skein_zfs.c \
> + spa.c \
> + spa_boot.c \
> + spa_checkpoint.c \
> + spa_config.c \
> + spa_errlog.c \
> + spa_history.c \
> + spa_log_spacemap.c \
> + spa_misc.c \
> + spa_stats.c \
> + space_map.c \
> + space_reftree.c \
> + txg.c \
> + trace.c \
> + uberblock.c \
> + unique.c \
> + vdev.c \
> + vdev_cache.c \
> + vdev_draid.c \
> + vdev_draid_rand.c \
> + vdev_file.c \
> + vdev_indirect_births.c \
> + vdev_indirect.c \
> + vdev_indirect_mapping.c \
> + vdev_initialize.c \
> + vdev_label.c \
> + vdev_mirror.c \
> + vdev_missing.c \
> + vdev_queue.c \
> + vdev_raidz.c \
> + vdev_raidz_math_aarch64_neon.c \
> + vdev_raidz_math_aarch64_neonx2.c \
> + vdev_raidz_math_avx2.c \
> + vdev_raidz_math_avx512bw.c \
> + vdev_raidz_math_avx512f.c \
> + vdev_raidz_math.c \
> + vdev_raidz_math_scalar.c \
> + vdev_rebuild.c \
> + vdev_removal.c \
> + vdev_root.c \
> + vdev_trim.c \
> + xxhash.c \
> + zap.c \
> + zap_leaf.c \
> + zap_micro.c \
> + zcp.c \
> + zcp_get.c \
> + zcp_global.c \
> + zcp_iter.c \
> + zcp_set.c \
> + zcp_synctask.c \
> + zfeature.c \
> + zfs_byteswap.c \
> ++ zfs_chksum.c \
> + zfs_debug.c \
> + zfs_fm.c \
> + zfs_fuid.c \
> + zfs_sa.c \
> + zfs_znode.c \
> + zfs_racct.c \
> + zfs_ratelimit.c \
> + zfs_rlock.c \
> + zil.c \
> + zio.c \
> + zio_checksum.c \
> + zio_compress.c \
> + zio_crypt.c \
> + zio_inject.c \
> + zle.c \
> + zrlock.c \
> + zstd_common.c \
> + zstd_compress.c \
> + zstd_compress_literals.c \
> + zstd_compress_sequences.c \
> + zstd_compress_superblock.c \
> + zstd_ddict.c \
> + zstd_decompress.c \
> + zstd_decompress_block.c \
> + zstd_double_fast.c \
> + zstd_fast.c \
> + zstd_lazy.c \
> + zstd_ldm.c \
> + zstd_opt.c \
> + zthr.c
> +
> +ARCH_C =
> +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
> +ARCH_C += vdev_raidz_math_sse2.c \
> + vdev_raidz_math_ssse3.c \
> + zfs_fletcher_intel.c \
> + zfs_fletcher_sse.c
> +CFLAGS += -DHAVE_SSE2 -DHAVE_SSE3
> +.endif
> +.if ${MACHINE_ARCH} == "amd64"
> +ARCH_C += zfs_fletcher_avx512.c
> +CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \
> + -DHAVE_AVX512BW
> +.endif
> +.if ${MACHINE_CPUARCH} == "aarch64"
> +ARCH_C += zfs_fletcher_aarch64_neon.c
> +.endif
> +
> +LUA_C = \
> + lapi.c \
> + lauxlib.c \
> + lbaselib.c \
> + lcode.c \
> + lcompat.c \
> + lcorolib.c \
> + lctype.c \
> + ldebug.c \
> + ldo.c \
> + lfunc.c \
> + lgc.c \
> + llex.c \
> + lmem.c \
> + lobject.c \
> + lopcodes.c \
> + lparser.c \
> + lstate.c \
> + lstring.c \
> + lstrlib.c \
> + ltable.c \
> + ltablib.c \
> + ltm.c \
> + lvm.c \
> + lzio.c
> +
> +UNICODE_C = u8_textprep.c uconv.c
> +
> +SRCS= ${USER_C} ${KERNEL_C} ${LUA_C} ${UNICODE_C} ${ARCH_C}
> +
> +WARNS?= 2
> +CFLAGS+= \
> + -DIN_BASE \
> + -I${ZFSTOP}/include \
> + -I${ZFSTOP}/lib/libspl/include \
> + -I${ZFSTOP}/lib/libspl/include/os/freebsd \
> + -I${SRCTOP}/sys \
> + -I${ZFSTOP}/include/os/freebsd/zfs \
> + -I${SRCTOP}/cddl/compat/opensolaris/include \
> + -I${ZFSTOP}/module/icp/include \
> + -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h \
> + -DHAVE_ISSETUGID \
> + -include ${SRCTOP}/sys/modules/zfs/zfs_config.h \
> + -I${SRCTOP}/sys/modules/zfs \
> + -I${ZFSTOP}/include/os/freebsd/zfs \
> + -DLIB_ZPOOL_BUILD -DZFS_DEBUG \
> +
> +# XXX: pthread doesn't have mutex_owned() equivalent, so we need to look
> +# into libthr private structures. That's sooo evil, but it's only for
> +# ZFS debugging tools needs.
> +CFLAGS+= -DWANTS_MUTEX_OWNED
> +CFLAGS+= -I${SRCTOP}/lib/libpthread/thread
> +CFLAGS+= -I${SRCTOP}/lib/libpthread/sys
> +CFLAGS+= -I${SRCTOP}/lib/libthr/arch/${MACHINE_CPUARCH}/include
> +CFLAGS.gcc+= -fms-extensions
> +
> +LIBADD= md pthread z spl icp nvpair avl umem
> +
> +# atomic.S doesn't like profiling.
> +MK_PROFILE= no
> +
> +CSTD= c99
> +
> +# Since there are many asserts in this library, it makes no sense to compile
> +# it without debugging.
> +
> +CFLAGS+= -g -DDEBUG=1
> +
> +CFLAGS.entropy_common.c= -fno-tree-vectorize
> +CFLAGS.entropy_common.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.error_private.c= -fno-tree-vectorize
> +CFLAGS.error_private.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.fse_compress.c= -fno-tree-vectorize
> +CFLAGS.fse_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.fse_decompress.c= -fno-tree-vectorize
> +CFLAGS.fse_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.hist.c= -fno-tree-vectorize
> +CFLAGS.hist.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.huf_compress.c= -fno-tree-vectorize
> +CFLAGS.huf_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.huf_decompress.c= -fno-tree-vectorize
> +CFLAGS.huf_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.pool.c= -fno-tree-vectorize
> +CFLAGS.pool.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.xxhash.c= -fno-tree-vectorize
> +CFLAGS.xxhash.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_compress.c= -fno-tree-vectorize
> +CFLAGS.zstd_compress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_compress_literals.c= -fno-tree-vectorize
> +CFLAGS.zstd_compress_literals.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_compress_sequences.c= -fno-tree-vectorize
> +CFLAGS.zstd_compress_sequences.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_compress_superblock.c= -fno-tree-vectorize
> +CFLAGS.zstd_compress_superblock.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_double_fast.c= -fno-tree-vectorize
> +CFLAGS.zstd_double_fast.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_fast.c= -fno-tree-vectorize
> +CFLAGS.zstd_fast.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_lazy.c= -fno-tree-vectorize
> +CFLAGS.zstd_lazy.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_ldm.c= -fno-tree-vectorize
> +CFLAGS.zstd_ldm.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_opt.c= -fno-tree-vectorize
> +CFLAGS.zstd_opt.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_ddict.c= -fno-tree-vectorize
> +CFLAGS.zstd_ddict.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_decompress.c= -fno-tree-vectorize
> +CFLAGS.zstd_decompress.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +CFLAGS.zstd_decompress_block.c= -fno-tree-vectorize
> +CFLAGS.zstd_decompress_block.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}
> +
> +.include <bsd.lib.mk>
> diff --cc sys/contrib/openzfs/config/kernel-user-ns-inum.m4
> index 000000000000,2207a4aa6921..2207a4aa6921
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/config/kernel-user-ns-inum.m4
> +++ b/sys/contrib/openzfs/config/kernel-user-ns-inum.m4
> diff --cc sys/contrib/openzfs/etc/systemd/system/zfs-trim-monthly@.timer.in
> index 000000000000,8c13ffb304b3..8c13ffb304b3
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/etc/systemd/system/zfs-trim-monthly@.timer.in
> +++ b/sys/contrib/openzfs/etc/systemd/system/zfs-trim-monthly@.timer.in
> diff --cc sys/contrib/openzfs/etc/systemd/system/zfs-trim-weekly@.timer.in
> index 000000000000,dced3d88b5c9..dced3d88b5c9
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/etc/systemd/system/zfs-trim-weekly@.timer.in
> +++ b/sys/contrib/openzfs/etc/systemd/system/zfs-trim-weekly@.timer.in
> diff --cc sys/contrib/openzfs/etc/systemd/system/zfs-trim@.service.in
> index 000000000000,423fb448c16f..423fb448c16f
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/etc/systemd/system/zfs-trim@.service.in
> +++ b/sys/contrib/openzfs/etc/systemd/system/zfs-trim@.service.in
> diff --cc sys/contrib/openzfs/include/sys/blake3.h
> index 000000000000,b3391c5f2349..b3391c5f2349
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/include/sys/blake3.h
> +++ b/sys/contrib/openzfs/include/sys/blake3.h
> diff --cc sys/contrib/openzfs/include/sys/zfs_chksum.h
> index 000000000000,cfd07bd0ffe7..cfd07bd0ffe7
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/include/sys/zfs_chksum.h
> +++ b/sys/contrib/openzfs/include/sys/zfs_chksum.h
> diff --cc sys/contrib/openzfs/man/man8/zfs-unzone.8
> index 000000000000,9052b28aa880..9052b28aa880
> mode 000000,120000..120000
> --- a/sys/contrib/openzfs/man/man8/zfs-unzone.8
> +++ b/sys/contrib/openzfs/man/man8/zfs-unzone.8
> diff --cc sys/contrib/openzfs/man/man8/zfs-zone.8
> index 000000000000,2f975dde6799..2f975dde6799
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/man/man8/zfs-zone.8
> +++ b/sys/contrib/openzfs/man/man8/zfs-zone.8
> diff --cc sys/contrib/openzfs/module/icp/algs/blake3/blake3.c
> index 000000000000,8c9c06eb9d9f..8c9c06eb9d9f
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/algs/blake3/blake3.c
> +++ b/sys/contrib/openzfs/module/icp/algs/blake3/blake3.c
> diff --cc sys/contrib/openzfs/module/icp/algs/blake3/blake3_generic.c
> index 000000000000,6ff9a845ccdc..6ff9a845ccdc
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/algs/blake3/blake3_generic.c
> +++ b/sys/contrib/openzfs/module/icp/algs/blake3/blake3_generic.c
> diff --cc sys/contrib/openzfs/module/icp/algs/blake3/blake3_impl.c
> index 000000000000,c3809a2827be..c3809a2827be
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/algs/blake3/blake3_impl.c
> +++ b/sys/contrib/openzfs/module/icp/algs/blake3/blake3_impl.c
> diff --cc sys/contrib/openzfs/module/icp/algs/blake3/blake3_impl.h
> index 000000000000,7b40cc4d3f02..7b40cc4d3f02
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/algs/blake3/blake3_impl.h
> +++ b/sys/contrib/openzfs/module/icp/algs/blake3/blake3_impl.h
> diff --cc sys/contrib/openzfs/module/icp/algs/blake3/blake3_x86-64.c
> index 000000000000,48715e2128d2..48715e2128d2
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/algs/blake3/blake3_x86-64.c
> +++ b/sys/contrib/openzfs/module/icp/algs/blake3/blake3_x86-64.c
> diff --cc sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S
> index 000000000000,59a4d9afd437..59a4d9afd437
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S
> +++ b/sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S
> diff --cc sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse41.S
> index 000000000000,eb6946400b8a..eb6946400b8a
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse41.S
> +++ b/sys/contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse41.S
> diff --cc sys/contrib/openzfs/module/icp/asm-ppc64/blake3/b3_ppc64le_sse2.S
> index 000000000000,9deba202fde8..9deba202fde8
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/asm-ppc64/blake3/b3_ppc64le_sse2.S
> +++ b/sys/contrib/openzfs/module/icp/asm-ppc64/blake3/b3_ppc64le_sse2.S
> diff --cc sys/contrib/openzfs/module/icp/asm-ppc64/blake3/b3_ppc64le_sse41.S
> index 000000000000,a8b2627f12b0..a8b2627f12b0
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/asm-ppc64/blake3/b3_ppc64le_sse41.S
> +++ b/sys/contrib/openzfs/module/icp/asm-ppc64/blake3/b3_ppc64le_sse41.S
> diff --cc sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_avx2.S
> index 000000000000,b15d8fc7744e..b15d8fc7744e
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_avx2.S
> +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_avx2.S
> diff --cc sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_avx512.S
> index 000000000000,d02c5e7ec92f..d02c5e7ec92f
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_avx512.S
> +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_avx512.S
> diff --cc sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_sse2.S
> index 000000000000,39d23ee233df..39d23ee233df
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_sse2.S
> +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_sse2.S
> diff --cc sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_sse41.S
> index 000000000000,1c40236f0628..1c40236f0628
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_sse41.S
> +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/blake3/blake3_sse41.S
> diff --cc sys/contrib/openzfs/module/os/linux/spl/spl-zone.c
> index 000000000000,b8a8b7cd8cd8..b8a8b7cd8cd8
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/os/linux/spl/spl-zone.c
> +++ b/sys/contrib/openzfs/module/os/linux/spl/spl-zone.c
> diff --cc sys/contrib/openzfs/module/zfs/blake3_zfs.c
> index 000000000000,7560f30fd4e4..7560f30fd4e4
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/zfs/blake3_zfs.c
> +++ b/sys/contrib/openzfs/module/zfs/blake3_zfs.c
> diff --cc sys/contrib/openzfs/module/zfs/zfs_chksum.c
> index 000000000000,639784287d72..639784287d72
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/module/zfs/zfs_chksum.c
> +++ b/sys/contrib/openzfs/module/zfs/zfs_chksum.c
> diff --cc sys/contrib/openzfs/tests/zfs-tests/cmd/checksum/blake3_test.c
> index 000000000000,55d268f5f8b7..55d268f5f8b7
> mode 000000,100644..100644
> --- a/sys/contrib/openzfs/tests/zfs-tests/cmd/checksum/blake3_test.c
> +++ b/sys/contrib/openzfs/tests/zfs-tests/cmd/checksum/blake3_test.c
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/checksum/run_blake3_test.ksh
> index 000000000000,cf1ca70328e1..cf1ca70328e1
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/checksum/run_blake3_test.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/checksum/run_blake3_test.ksh
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_002.ksh
> index 000000000000,a5f76014ab85..a5f76014ab85
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_002.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_002.ksh
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_003.ksh
> index 000000000000,20a7f6677d20..20a7f6677d20
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_003.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_003.ksh
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_004.ksh
> index 000000000000,6edb0413c98a..6edb0413c98a
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_004.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/user_namespace/user_namespace_004.ksh
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_fua.ksh
> index 000000000000,e44107030f3c..e44107030f3c
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_fua.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_fua.ksh
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh
> index 000000000000,2e417a0e6676..2e417a0e6676
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/cleanup.ksh
> index 000000000000,b81a372638e3..b81a372638e3
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/cleanup.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/cleanup.ksh
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/setup.ksh
> index 000000000000,9e70fc47b89b..9e70fc47b89b
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/setup.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/setup.ksh
> diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/zvol_stress.ksh
> index 000000000000,c1aadcac3bf5..c1aadcac3bf5
> mode 000000,100755..100755
> --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/zvol_stress.ksh
> +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_stress/zvol_stress.ksh
> diff --cc sys/modules/zfs/Makefile
> index 510511a3e118,000000000000..1a6912fb8ebd
> mode 100644,000000..100644
> --- a/sys/modules/zfs/Makefile
> +++ b/sys/modules/zfs/Makefile
> @@@ -1,446 -1,0 +1,474 @@@
> +# $FreeBSD$
> +
> +SRCDIR=${SRCTOP}/sys/contrib/openzfs/module
> +INCDIR=${SRCTOP}/sys/contrib/openzfs/include
> +
> +KMOD= zfs
> +
> +.PATH: ${SRCDIR}/avl \
> + ${SRCDIR}/lua \
> + ${SRCDIR}/nvpair \
> ++ ${SRCDIR}/icp/algs/blake3 \
> ++ ${SRCDIR}/icp/asm-aarch64/blake3 \
> ++ ${SRCDIR}/icp/asm-ppc64/blake3 \
> ++ ${SRCDIR}/icp/asm-x86_64/blake3 \
> + ${SRCDIR}/icp/algs/edonr \
> + ${SRCDIR}/os/freebsd/spl \
> + ${SRCDIR}/os/freebsd/zfs \
> + ${SRCDIR}/unicode \
> + ${SRCDIR}/zcommon \
> + ${SRCDIR}/zfs \
> + ${SRCDIR}/zstd \
> + ${SRCDIR}/zstd/lib/common \
> + ${SRCDIR}/zstd/lib/compress \
> + ${SRCDIR}/zstd/lib/decompress
> +
> +
> +CFLAGS+= -I${INCDIR}
> +CFLAGS+= -I${INCDIR}/os/freebsd
> +CFLAGS+= -I${INCDIR}/os/freebsd/spl
> +CFLAGS+= -I${INCDIR}/os/freebsd/zfs
> +CFLAGS+= -I${SRCDIR}/zstd/include
> ++CFLAGS+= -I${SRCDIR}/icp/include
> +CFLAGS+= -I${.CURDIR}
> +
> +CFLAGS+= -D__KERNEL__ -DFREEBSD_NAMECACHE -DBUILDING_ZFS \
> + -DHAVE_UIO_ZEROCOPY -DWITHOUT_NETDUMP -D__KERNEL -D_SYS_CONDVAR_H_ \
> + -D_SYS_VMEM_H_ -DIN_FREEBSD_BASE
> +
> +.if ${MACHINE_ARCH} == "amd64"
> - CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_SSE2 -DHAVE_AVX512F -DHAVE_AVX512BW -DHAVE_SSSE3
> ++CFLAGS+= -D__x86_64 -DHAVE_SSE2 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2 \
> ++ -DHAVE_AVX -DHAVE_AVX2 -DHAVE_AVX512F -DHAVE_AVX512VL -DHAVE_AVX512BW
> +.endif
> +
> +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
> + ${MACHINE_ARCH} == "powerpcspe" || ${MACHINE_ARCH} == "arm"
> +CFLAGS+= -DBITS_PER_LONG=32
> +.else
> +CFLAGS+= -DBITS_PER_LONG=64
> +.endif
> +
> +SRCS= vnode_if.h device_if.h bus_if.h
> +
> +# avl
> +SRCS+= avl.c
> +
> +# icp
> +SRCS+= edonr.c
> +
> ++#icp/algs/blake3
> ++SRCS+= blake3.c \
> ++ blake3_generic.c \
> ++ blake3_impl.c \
> ++ blake3_x86-64.c
> ++
> ++#icp/asm-aarch64/blake3
> ++SRCS+= b3_aarch64_sse2.S \
> ++ b3_aarch64_sse41.S
> ++
> ++#icp/asm-ppc64/blake3
> ++SRCS+= b3_ppc64le_sse2.S \
> ++ b3_ppc64le_sse41.S
> ++
> *** 1384 LINES SKIPPED ***
>