git: 1f1e2261e341 - main - zfs: merge openzfs/zfs@deb121309
- Reply: Larry Rosenman : "Re: git: 1f1e2261e341 - main - zfs: merge openzfs/zfs@deb121309"
- Reply: Andrew Turner : "Re: git: 1f1e2261e341 - main - zfs: merge openzfs/zfs@deb121309"
- Reply: Jessica Clarke : "Re: git: 1f1e2261e341 - main - zfs: merge openzfs/zfs@deb121309"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 23 Jun 2022 15:50:11 UTC
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 ***