git: 80aae8a3f8aa - main - zfs: merge openzfs/zfs@3ee08abd2

From: Martin Matuska <mm_at_FreeBSD.org>
Date: Thu, 19 Mar 2026 20:31:06 UTC
The branch main has been updated by mm:

URL: https://cgit.FreeBSD.org/src/commit/?id=80aae8a3f8aa70712930664572be9e6885dc0be7

commit 80aae8a3f8aa70712930664572be9e6885dc0be7
Merge: 56dddebc5549 3ee08abd2fce
Author:     Martin Matuska <mm@FreeBSD.org>
AuthorDate: 2026-03-19 20:25:34 +0000
Commit:     Martin Matuska <mm@FreeBSD.org>
CommitDate: 2026-03-19 20:25:34 +0000

    zfs: merge openzfs/zfs@3ee08abd2
    
    Notable upstream pull request merges:
     #17000 -multiple cmd/zfs: support creating parents with canmount=no
     #17926 b481a8bbb Make zpool status dedup table support raw bytes -p output
     #18238 -multiple Report space metrics per allocation class
     #18240 5dad9459d Add --no-preserve-encryption flag
     #18257 1eace5906 libzfs: use mount_setattr for selective remount including
                      legacy mounts
     #18259 1e2c94a04 More consistent use of TREE_* macros in AVL comparators
     #18262 c58b8b7dc Fix check for .cfi_negate_ra_state on aarch64
     #18264 f109c7bb9 Add the --file-layout (-f) option to zdb(8)
     #18268 304de7f19 libzfs: handle EDOM error in zpool_create
     #18275 753f1e1e2 zstream: add a drop_record subcommand
     #18276 0f90a797d Fix vdev_rebuild_range() tx commit
     #18277 1e1d64d66 Fix log vdev removal issues
     #18278 06b0abfe6 Fix the send --exclude option to work with encryption
     #18281 e73ada771 libzpool: lift zfs_file ops out to separate source file
     #18284 d97945776 zstream: consolidate shared code
     #18285 -multiple Separate SIMD compile checks for userspace and kernel
     #18288 c5905b2cb Implement lzc_send_progress
     #18289 -multiple L2ARC: Add depth cap and write budget fairness for
                      persistent markers
     #18290 d45c8d648 FreeBSD: Improve dmesg kernel message prefix
     #18294 b403040c4 draid: fix data corruption after disk clear
     #18296 -multiple libzfs: mnttab cleanup
     #18300 d35951b18 zpool clear: remove undocumented rewind flags
     #18301 ae7fcd5f9 fix libzfs diff mem leak in an error path
     #18303 65165df12 zilstat: add man page
     #18314 7f65e04ab libzfs: scrub: only include start and end nv pairs if
                      needed for scrub
     #18315 -multiple Sync ZVOLs block cloning conditions with file systems
     #18330 f80338fac zarcsummary: add man page
     #18337 f259a47c7 zpool-iostat.8: clarify first report shows per-second
                      averages
    
    Obtained from:  OpenZFS
    OpenZFS commit: 3ee08abd2fcef3123188e9ad61a9cd80b9b7831c

 cddl/lib/libicp/Makefile                           |   1 +
 cddl/lib/libicp_rescue/Makefile                    |   1 +
 cddl/lib/libspl/Makefile                           |   2 +-
 cddl/lib/libzdb/Makefile                           |   1 +
 cddl/lib/libzfs/Makefile                           |   2 +
 cddl/lib/libzpool/Makefile                         |   2 +
 cddl/usr.bin/zstream/Makefile                      |   5 +-
 cddl/usr.bin/ztest/Makefile                        |   1 +
 cddl/usr.sbin/zdb/Makefile                         |   1 +
 cddl/usr.sbin/zhack/Makefile                       |   1 +
 stand/libsa/zfs/Makefile.inc                       |   4 +-
 sys/conf/kern.pre.mk                               |   1 +
 sys/contrib/openzfs/README.md                      |  42 +-
 sys/contrib/openzfs/cmd/zdb/zdb.c                  | 383 +++++++++++-
 sys/contrib/openzfs/cmd/zed/zed_exec.c             |  17 +-
 sys/contrib/openzfs/cmd/zed/zed_strings.c          |  22 +-
 sys/contrib/openzfs/cmd/zfs/zfs_iter.c             |   8 +-
 sys/contrib/openzfs/cmd/zfs/zfs_main.c             | 130 ++--
 sys/contrib/openzfs/cmd/zinject/translate.c        |   2 +-
 sys/contrib/openzfs/cmd/zpool/zpool_main.c         |  63 +-
 sys/contrib/openzfs/cmd/zstream/Makefile.am        |   5 +-
 sys/contrib/openzfs/cmd/zstream/zstream.c          |   4 +
 sys/contrib/openzfs/cmd/zstream/zstream.h          |   4 +-
 .../openzfs/cmd/zstream/zstream_decompress.c       |  26 +-
 .../openzfs/cmd/zstream/zstream_drop_record.c      | 324 ++++++++++
 sys/contrib/openzfs/cmd/zstream/zstream_dump.c     |  13 +-
 .../openzfs/cmd/zstream/zstream_recompress.c       |  26 +-
 sys/contrib/openzfs/cmd/zstream/zstream_redup.c    |  54 +-
 sys/contrib/openzfs/cmd/zstream/zstream_util.c     | 106 ++++
 sys/contrib/openzfs/cmd/zstream/zstream_util.h     |  60 ++
 sys/contrib/openzfs/config/Rules.am                |   1 +
 sys/contrib/openzfs/config/kernel-fs-context.m4    |   3 +
 sys/contrib/openzfs/config/kernel.m4               |  13 +-
 sys/contrib/openzfs/config/toolchain-cfi.m4        |  33 ++
 sys/contrib/openzfs/config/toolchain-simd.m4       | 656 +++------------------
 sys/contrib/openzfs/config/user-mount-setattr.m4   |  27 +
 sys/contrib/openzfs/config/user-statx.m4           |   1 +
 sys/contrib/openzfs/config/user.m4                 |   1 +
 sys/contrib/openzfs/config/zfs-build.m4            |   3 +-
 .../contrib/debian/openzfs-zfsutils.install        |   2 +
 sys/contrib/openzfs/include/Makefile.am            |   1 +
 sys/contrib/openzfs/include/libzfs.h               |   5 +
 sys/contrib/openzfs/include/libzfs_core.h          |   2 +-
 sys/contrib/openzfs/include/libzutil.h             |   3 +-
 .../include/os/linux/kernel/linux/simd_x86.h       | 127 +---
 sys/contrib/openzfs/include/sys/arc_impl.h         |  23 +-
 sys/contrib/openzfs/include/sys/fs/zfs.h           |  81 +++
 sys/contrib/openzfs/include/sys/simd_config.h      | 102 ++++
 sys/contrib/openzfs/include/sys/spa.h              |   1 +
 sys/contrib/openzfs/include/sys/vdev_raidz_impl.h  |  10 +-
 sys/contrib/openzfs/include/sys/vdev_rebuild.h     |   1 +
 sys/contrib/openzfs/include/zfs_fletcher.h         |  16 +-
 sys/contrib/openzfs/lib/libspl/Makefile.am         |   4 +-
 .../lib/libspl/include/os/freebsd/sys/mnttab.h     |  18 +-
 .../lib/libspl/include/os/linux/sys/mnttab.h       |  18 +-
 .../os/freebsd/{getmntany.c => getextmntent.c}     |   4 +-
 sys/contrib/openzfs/lib/libspl/os/freebsd/mnttab.c |  35 +-
 .../lib/libspl/os/linux/{getmntany.c => mnttab.c}  |  38 +-
 sys/contrib/openzfs/lib/libzdb/libzdb.c            |  32 +-
 sys/contrib/openzfs/lib/libzfs/Makefile.am         |   1 +
 sys/contrib/openzfs/lib/libzfs/libzfs.abi          | 569 +++++++++++++-----
 sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c    | 234 +-------
 sys/contrib/openzfs/lib/libzfs/libzfs_diff.c       |   2 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_impl.h       |  31 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_mnttab.c     | 211 +++++++
 sys/contrib/openzfs/lib/libzfs/libzfs_mount.c      |  43 +-
 sys/contrib/openzfs/lib/libzfs/libzfs_pool.c       |  74 ++-
 sys/contrib/openzfs/lib/libzfs/libzfs_sendrecv.c   |  79 ++-
 sys/contrib/openzfs/lib/libzfs/libzfs_util.c       |   2 +-
 .../openzfs/lib/libzfs/os/freebsd/libzfs_zmount.c  |  11 +
 .../openzfs/lib/libzfs/os/linux/libzfs_mount_os.c  | 143 +++++
 .../openzfs/lib/libzfs_core/libzfs_core.abi        |  40 +-
 sys/contrib/openzfs/lib/libzfs_core/libzfs_core.c  |  33 ++
 sys/contrib/openzfs/lib/libzpool/Makefile.am       |   1 +
 sys/contrib/openzfs/lib/libzpool/kernel.c          | 388 ------------
 sys/contrib/openzfs/lib/libzpool/zfs_file_os.c     | 420 +++++++++++++
 sys/contrib/openzfs/lib/libzutil/zutil_pool.c      |  50 +-
 sys/contrib/openzfs/man/Makefile.am                |   2 +
 sys/contrib/openzfs/man/man1/zarcsummary.1         | 179 ++++++
 sys/contrib/openzfs/man/man1/zilstat.1             | 191 ++++++
 sys/contrib/openzfs/man/man4/zfs.4                 |  25 +-
 sys/contrib/openzfs/man/man7/zpoolconcepts.7       |  18 +-
 sys/contrib/openzfs/man/man7/zpoolprops.7          | 151 ++++-
 sys/contrib/openzfs/man/man8/zdb.8                 |   7 +
 sys/contrib/openzfs/man/man8/zfs-clone.8           |   4 +
 sys/contrib/openzfs/man/man8/zfs-create.8          |   8 +
 sys/contrib/openzfs/man/man8/zfs-rename.8          |   4 +
 sys/contrib/openzfs/man/man8/zfs-send.8            |  17 +-
 sys/contrib/openzfs/man/man8/zpool-iostat.8        |   4 +-
 sys/contrib/openzfs/man/man8/zstream.8             |  39 +-
 sys/contrib/openzfs/module/Kbuild.in               |   2 +
 sys/contrib/openzfs/module/Makefile.bsd            |   7 +-
 sys/contrib/openzfs/module/icp/algs/aes/aes_impl.c |   4 +-
 .../openzfs/module/icp/algs/aes/aes_impl_aesni.c   |   4 +-
 .../openzfs/module/icp/algs/blake3/blake3_impl.c   |  14 +-
 sys/contrib/openzfs/module/icp/algs/modes/gcm.c    |   6 +-
 .../openzfs/module/icp/algs/modes/gcm_pclmulqdq.c  |   4 +-
 .../openzfs/module/icp/algs/sha2/sha256_impl.c     |  16 +-
 .../openzfs/module/icp/algs/sha2/sha512_impl.c     |  12 +-
 .../icp/asm-aarch64/blake3/b3_aarch64_sse2.S       |   4 +-
 .../icp/asm-aarch64/blake3/b3_aarch64_sse41.S      |   4 +-
 .../openzfs/module/icp/asm-x86_64/aes/aes_aesni.S  |   2 +-
 .../module/icp/asm-x86_64/blake3/blake3_avx2.S     |   4 +-
 .../module/icp/asm-x86_64/blake3/blake3_avx512.S   |   4 +-
 .../module/icp/asm-x86_64/blake3/blake3_sse2.S     |   4 +-
 .../module/icp/asm-x86_64/blake3/blake3_sse41.S    |   4 +-
 .../icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S     |   6 +-
 .../module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S |  16 +-
 .../module/icp/asm-x86_64/modes/gcm_pclmulqdq.S    |   2 +-
 .../module/icp/asm-x86_64/modes/ghash-x86_64.S     |   6 +-
 .../module/icp/asm-x86_64/sha2/sha512-x86_64.S     |   6 +-
 .../openzfs/module/icp/core/kcf_mech_tabs.c        |   4 +-
 .../openzfs/module/icp/include/aes/aes_impl.h      |   2 +-
 .../openzfs/module/icp/include/modes/gcm_impl.h    |   2 +-
 .../openzfs/module/icp/include/modes/modes.h       |   6 +-
 .../openzfs/module/os/freebsd/spl/acl_common.c     |  10 +-
 .../openzfs/module/os/freebsd/spl/spl_cmn_err.c    |  10 +-
 .../openzfs/module/os/linux/zfs/zfs_ctldir.c       |  24 +-
 sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c |   1 +
 .../openzfs/module/os/linux/zfs/zpl_super.c        | 227 +++----
 sys/contrib/openzfs/module/zcommon/zfs_fletcher.c  |  10 +-
 .../openzfs/module/zcommon/zfs_fletcher_avx512.c   |   6 +-
 .../openzfs/module/zcommon/zfs_fletcher_intel.c    |   4 +-
 .../openzfs/module/zcommon/zfs_fletcher_sse.c      |   8 +-
 sys/contrib/openzfs/module/zcommon/zpool_prop.c    |  51 +-
 sys/contrib/openzfs/module/zfs/arc.c               | 234 ++++++--
 sys/contrib/openzfs/module/zfs/dmu_redact.c        |  22 +-
 sys/contrib/openzfs/module/zfs/dsl_bookmark.c      |   3 +-
 sys/contrib/openzfs/module/zfs/dsl_crypt.c         |  21 +-
 sys/contrib/openzfs/module/zfs/dsl_deadlist.c      |  14 +-
 sys/contrib/openzfs/module/zfs/dsl_deleg.c         |   6 +-
 sys/contrib/openzfs/module/zfs/dsl_scan.c          |   7 +-
 sys/contrib/openzfs/module/zfs/metaslab.c          |   8 +-
 sys/contrib/openzfs/module/zfs/refcount.c          |  10 +-
 sys/contrib/openzfs/module/zfs/spa.c               |  83 ++-
 sys/contrib/openzfs/module/zfs/spa_misc.c          |  11 +-
 sys/contrib/openzfs/module/zfs/vdev.c              |  29 +-
 sys/contrib/openzfs/module/zfs/vdev_draid.c        |   7 -
 sys/contrib/openzfs/module/zfs/vdev_queue.c        |   6 +-
 sys/contrib/openzfs/module/zfs/vdev_raidz_math.c   |  10 +-
 .../openzfs/module/zfs/vdev_raidz_math_avx2.c      |   5 +-
 .../openzfs/module/zfs/vdev_raidz_math_avx512bw.c  |   4 +-
 .../openzfs/module/zfs/vdev_raidz_math_avx512f.c   |   4 +-
 .../openzfs/module/zfs/vdev_raidz_math_sse2.c      |   4 +-
 .../openzfs/module/zfs/vdev_raidz_math_ssse3.c     |   8 +-
 sys/contrib/openzfs/module/zfs/vdev_rebuild.c      |  24 +-
 sys/contrib/openzfs/module/zfs/vdev_removal.c      |   1 -
 sys/contrib/openzfs/module/zfs/zfs_fuid.c          |   7 +-
 sys/contrib/openzfs/module/zfs/zil.c               |  20 +-
 sys/contrib/openzfs/module/zfs/zio.c               |  37 +-
 sys/contrib/openzfs/module/zfs/zvol.c              |  63 ++
 sys/contrib/openzfs/tests/runfiles/common.run      |  29 +-
 sys/contrib/openzfs/tests/runfiles/sanity.run      |   5 +-
 .../openzfs/tests/test-runner/bin/zts-report.py.in |   6 +-
 .../openzfs/tests/zfs-tests/include/libtest.shlib  |  40 +-
 .../openzfs/tests/zfs-tests/include/tunables.cfg   |   2 +
 .../openzfs/tests/zfs-tests/tests/Makefile.am      |   9 +
 .../tests/functional/cli_root/zdb/zdb_args_neg.ksh |   2 +-
 .../cli_root/zfs_clone/zfs_clone_011_pos.ksh       |  94 +++
 .../cli_root/zfs_create/zfs_create_015_pos.ksh     |  74 +++
 .../cli_root/zfs_rename/zfs_rename_015_pos.ksh     |  86 +++
 .../zpool_create/zpool_create_edom_neg.ksh         |  68 +++
 .../functional/cli_root/zpool_get/zpool_get.cfg    |  57 ++
 .../cli_root/zpool_get/zpool_get_005_pos.ksh       |  14 +-
 .../cli_root/zpool_get/zpool_get_006_pos.ksh       | 416 +++++++++++++
 .../cli_root/zpool_get/zpool_get_parsable.cfg      |  75 ++-
 .../functional/l2arc/l2arc_dwpd_ratelimit_pos.ksh  |   5 +-
 .../functional/l2arc/l2arc_dwpd_reimport_pos.ksh   |   5 +-
 .../l2arc/l2arc_multidev_scaling_pos.ksh           |  45 +-
 .../l2arc/l2arc_multidev_throughput_pos.ksh        | 110 ++--
 .../tests/functional/mmp/mmp_on_uberblocks.ksh     |   2 +-
 .../redundancy/redundancy_draid_spare1.ksh         |  11 +-
 .../removal/removal_with_missing_log.ksh           |  95 +++
 .../functional/rsend/rsend-exclude_001_pos.ksh     |  68 +++
 .../functional/rsend/rsend-exclude_002_pos.ksh     |  73 +++
 .../functional/rsend/send-zstream_drop_record.ksh  |  79 +++
 .../functional/rsend/send_encrypted_props.ksh      |   8 +
 sys/modules/zfs/Makefile                           |  91 +--
 sys/modules/zfs/zfs_config.h                       | 207 ++++---
 sys/modules/zfs/zfs_gitrev.h                       |   2 +-
 180 files changed, 5809 insertions(+), 2666 deletions(-)

diff --cc cddl/lib/libicp/Makefile
index 15846e67a14b,000000000000..28e60d687bb7
mode 100644,000000..100644
--- a/cddl/lib/libicp/Makefile
+++ b/cddl/lib/libicp/Makefile
@@@ -1,139 -1,0 +1,140 @@@
 +.PATH: ${ZFSTOP}/module/icp
 +
 +PACKAGE=	zfs
 +LIB_PACKAGE=
 +
 +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/aesni-gcm-avx2-vaes.S \
 +        asm-x86_64/modes/ghash-x86_64.S \
 +        asm-x86_64/sha2/sha256-x86_64.S \
 +        asm-x86_64/sha2/sha512-x86_64.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_CPUARCH} == "arm"
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS = \
 +        asm-arm/sha2/sha256-armv7.S \
 +        asm-arm/sha2/sha512-armv7.S
 +.elif ${MACHINE_ARCH} == "aarch64"
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS = \
 +        asm-aarch64/blake3/b3_aarch64_sse2.S \
 +        asm-aarch64/blake3/b3_aarch64_sse41.S \
 +        asm-aarch64/sha2/sha256-armv8.S \
 +        asm-aarch64/sha2/sha512-armv8.S
 +.elif ${MACHINE_ARCH} == "powerpc64"
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS = \
 +        asm-ppc64/sha2/sha256-ppc.S \
 +        asm-ppc64/sha2/sha512-ppc.S \
 +        asm-ppc64/sha2/sha256-p8.S \
 +        asm-ppc64/sha2/sha512-p8.S
 +.elif ${MACHINE_ARCH} == "powerpc64le"
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS = \
 +        asm-ppc64/blake3/b3_ppc64le_sse2.S \
 +        asm-ppc64/blake3/b3_ppc64le_sse41.S \
 +        asm-ppc64/sha2/sha256-ppc.S \
 +        asm-ppc64/sha2/sha512-ppc.S \
 +        asm-ppc64/sha2/sha256-p8.S \
 +        asm-ppc64/sha2/sha512-p8.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/edonr/edonr.c \
 +        algs/modes/modes.c \
 +        algs/modes/gcm_generic.c \
 +        algs/modes/gcm_pclmulqdq.c \
 +        algs/modes/gcm.c \
 +        algs/modes/ccm.c \
 +        algs/sha2/sha2_generic.c \
 +        algs/sha2/sha256_impl.c \
 +        algs/sha2/sha512_impl.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 \
 +        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${ZFSTOP}/include
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/os/freebsd
 +CFLAGS+= -I${SRCTOP}/sys
 +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
 +CFLAGS+= -I${ZFSTOP}/module/icp/include
 +CFLAGS+= -I${ZFSTOP}/lib/libzpool/include
++CFLAGS+= -include ${ZFSTOP}/include/sys/simd_config.h
 +CFLAGS+= -include ${ZFSTOP}/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.aesni-gcm-avx2-vaes.S+= -DLOCORE
 +CFLAGS.ghash-x86_64.S+= -DLOCORE
 +CFLAGS.sha256-x86_64.S+= -DLOCORE
 +CFLAGS.sha512-x86_64.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.sha256-armv7.S = -DLOCORE
 +CFLAGS.sha256-armv8.S = -DLOCORE
 +CFLAGS.sha512-armv7.S = -DLOCORE
 +CFLAGS.sha512-armv8.S = -DLOCORE
 +CFLAGS.b3_ppc64le_sse2.S = -DLOCORE
 +CFLAGS.b3_ppc64le_sse41.S = -DLOCORE
 +CFLAGS.sha256-p8.S = -DLOCORE
 +CFLAGS.sha256-ppc.S = -DLOCORE
 +CFLAGS.sha512-p8.S = -DLOCORE
 +CFLAGS.sha512-ppc.S = -DLOCORE
 +
 +
 +LDFLAGS.bfd+= -Wl,-znoexecstack
 +
 +.include <bsd.lib.mk>
diff --cc cddl/lib/libicp_rescue/Makefile
index 8dc8c396774c,000000000000..337bf0b145fa
mode 100644,000000..100644
--- a/cddl/lib/libicp_rescue/Makefile
+++ b/cddl/lib/libicp_rescue/Makefile
@@@ -1,137 -1,0 +1,138 @@@
 +.PATH: ${ZFSTOP}/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/modes/aesni-gcm-avx2-vaes.S \
 +        asm-x86_64/sha2/sha256-x86_64.S \
 +        asm-x86_64/sha2/sha512-x86_64.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_CPUARCH} == "arm"
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS = \
 +        asm-arm/sha2/sha256-armv7.S \
 +        asm-arm/sha2/sha512-armv7.S
 +.elif ${MACHINE_ARCH} == "aarch64"
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS = \
 +        asm-aarch64/blake3/b3_aarch64_sse2.S \
 +        asm-aarch64/blake3/b3_aarch64_sse41.S \
 +        asm-aarch64/sha2/sha256-armv8.S \
 +        asm-aarch64/sha2/sha512-armv8.S
 +.elif ${MACHINE_ARCH} == "powerpc64"
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS = \
 +        asm-ppc64/sha2/sha256-ppc.S \
 +        asm-ppc64/sha2/sha512-ppc.S \
 +        asm-ppc64/sha2/sha256-p8.S \
 +        asm-ppc64/sha2/sha512-p8.S
 +.elif ${MACHINE_ARCH} == "powerpc64le"
 +ASM_SOURCES_C =
 +ASM_SOURCES_AS = \
 +        asm-ppc64/blake3/b3_ppc64le_sse2.S \
 +        asm-ppc64/blake3/b3_ppc64le_sse41.S \
 +        asm-ppc64/sha2/sha256-ppc.S \
 +        asm-ppc64/sha2/sha512-ppc.S \
 +        asm-ppc64/sha2/sha256-p8.S \
 +        asm-ppc64/sha2/sha512-p8.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/edonr/edonr.c \
 +        algs/modes/modes.c \
 +        algs/modes/gcm_generic.c \
 +        algs/modes/gcm_pclmulqdq.c \
 +        algs/modes/gcm.c \
 +        algs/modes/ccm.c \
 +        algs/sha2/sha2_generic.c \
 +        algs/sha2/sha256_impl.c \
 +        algs/sha2/sha512_impl.c \
 +        algs/skein/skein_block.c \
 +        illumos-crypto.c \
 +        io/aes.c \
 +        io/sha2_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)
 +
 +.PATH: ${ZFSTOP}/module/zfs
 +KERNEL_C+=	zfs_impl.c
 +
 +SRCS= $(ASM_SOURCES_AS) $(KERNEL_C)
 +
 +WARNS?=	2
 +SHLIB_MAJOR= 3
 +CSTD=	c99
 +CFLAGS+= -DIN_BASE
 +CFLAGS+= -I${ZFSTOP}/include
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/os/freebsd
 +CFLAGS+= -I${SRCTOP}/sys
 +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
 +CFLAGS+= -I${ZFSTOP}/module/icp/include
 +CFLAGS+= -I${ZFSTOP}/lib/libzpool/include
++CFLAGS+= -include ${ZFSTOP}/include/sys/simd_config.h
 +CFLAGS+= -include ${ZFSTOP}/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.aesni-gcm-avx2-vaes.S+= -DLOCORE
 +CFLAGS.ghash-x86_64.S+= -DLOCORE
 +CFLAGS.sha256-x86_64.S+= -DLOCORE
 +CFLAGS.sha512-x86_64.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.sha256-armv7.S = -DLOCORE
 +CFLAGS.sha512-armv7.S = -DLOCORE
 +CFLAGS.sha256-armv8.S = -DLOCORE
 +CFLAGS.sha512-armv8.S = -DLOCORE
 +CFLAGS.b3_ppc64le_sse2.S = -DLOCORE
 +CFLAGS.b3_ppc64le_sse41.S = -DLOCORE
 +CFLAGS.sha256-ppc.S = -DLOCORE
 +CFLAGS.sha256-p8.S = -DLOCORE
 +CFLAGS.sha512-ppc.S = -DLOCORE
 +CFLAGS.sha512-p8.S = -DLOCORE
 +
 +LDFLAGS.bfd+= -Wl,-znoexecstack
 +
 +.include <bsd.lib.mk>
diff --cc cddl/lib/libspl/Makefile
index b0f47172e52d,000000000000..a8935a86be16
mode 100644,000000..100644
--- a/cddl/lib/libspl/Makefile
+++ b/cddl/lib/libspl/Makefile
@@@ -1,64 -1,0 +1,64 @@@
 +.include <bsd.init.mk>
 +.include <bsd.compiler.mk>
 +
 +.PATH: ${ZFSTOP}/lib/libspl
 +.PATH: ${ZFSTOP}/include
 +
 +PACKAGE=	zfs
 +LIB_PACKAGE=
 +
 +LIB=	spl
 +LIBADD=
 +
 +SRCS = \
 +        assert.c \
 +	backtrace.c \
 +	condvar.c \
 +	kmem.c \
 +	libspl.c \
 +        list.c \
 +        mkdirp.c \
 +        mutex.c \
 +        os/freebsd/zone.c \
 +        page.c \
 +	procfs_list.c \
 +	random.c \
 +	rwlock.c \
 +	sid.c \
 +	taskq.c \
 +        timestamp.c \
 +        include/sys/list.h \
 +        include/sys/list_impl.h
 +
 +# These functions are not required when bootstrapping and the atomic code,
 +# among others, will not compile when building on macOS.
 +.if !defined(BOOTSTRAPPING)
 +SRCS += \
 +        atomic.c \
 +	cred.c \
 +        getexecname.c \
 +	kstat.c \
 +	thread.c \
 +        tunables.c \
 +        os/freebsd/getexecname.c \
 +        os/freebsd/gethostid.c \
-         os/freebsd/getmntany.c \
++        os/freebsd/getextmntent.c \
 +        os/freebsd/mnttab.c
 +.endif
 +
 +WARNS?=	2
 +CSTD=	c99
 +CFLAGS+= -DIN_BASE
 +CFLAGS+= -I${ZFSTOP}/include
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/os/freebsd
 +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
 +CFLAGS+= -I${ZFSTOP}/module/icp/include
 +CFLAGS+= -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h
 +CFLAGS+= -DHAVE_ISSETUGID
 +CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
 +.if ${COMPILER_TYPE} == "clang"
 +CFLAGS.atomic.c+=	-Wno-error=atomic-alignment
 +.endif
 +
 +.include <bsd.lib.mk>
diff --cc cddl/lib/libzdb/Makefile
index f5a6a42d7aad,000000000000..194521680e9c
mode 100644,000000..100644
--- a/cddl/lib/libzdb/Makefile
+++ b/cddl/lib/libzdb/Makefile
@@@ -1,28 -1,0 +1,29 @@@
 +.PATH: ${ZFSTOP}/lib/libzdb
 +.PATH: ${ZFSTOP}/include
 +
 +PACKAGE=	zfs
 +LIB_PACKAGE=
 +
 +LIB=	zdb
 +
 +INCS = libzdb.h
 +
 +SRCS = libzdb.c 
 +
 +WARNS?=	2
 +CSTD=	c99
 +
 +CFLAGS+= -I${ZFSTOP}/include
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/os/freebsd
 +CFLAGS+= -I${ZFSTOP}/lib/libzpool/include
 +CFLAGS+= -I${ZFSTOP}/include/os/freebsd/zfs
 +CFLAGS+= -I${SRCTOP}/sys
 +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
++CFLAGS+= -include ${ZFSTOP}/include/sys/simd_config.h
 +CFLAGS+= -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h
 +CFLAGS+= -I${ZFSTOP}/lib/libzutil
 +CFLAGS+= -DHAVE_ISSETUGID -DIN_BASE
 +CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
 +
 +.include <bsd.lib.mk>
diff --cc cddl/lib/libzfs/Makefile
index 8f364d2c2bb1,000000000000..d28424a353e5
mode 100644,000000..100644
--- a/cddl/lib/libzfs/Makefile
+++ b/cddl/lib/libzfs/Makefile
@@@ -1,105 -1,0 +1,107 @@@
 +.PATH: ${ZFSTOP}/module/icp
 +.PATH: ${ZFSTOP}/module/zcommon
 +.PATH: ${ZFSTOP}/lib/libzfs
 +.PATH: ${ZFSTOP}/lib/libzfs/os/freebsd
 +.PATH: ${ZFSTOP}/include
 +.PATH: ${ZFSTOP}/module/zstd
 +.PATH: ${ZFSTOP}/module/zstd/lib
 +
 +PACKAGE=	zfs
 +LIB_PACKAGE=
 +
 +LIB=	zfs
 +LIBADD= \
 +	avl \
 +	bsdxml \
 +	crypto \
 +	geom \
 +	m \
 +	md \
 +	nvpair \
 +	pthread \
 +	rt \
 +	umem \
 +	util \
 +	z \
 +	zfs_core \
 +	zutil
 +
 +INCS=	libzfs.h
 +USER_C = \
 +	libzfs_changelist.c \
 +	libzfs_config.c \
 +	libzfs_crypto.c \
 +	libzfs_dataset.c \
 +	libzfs_diff.c \
 +	libzfs_import.c \
 +	libzfs_iter.c \
++	libzfs_mnttab.c \
 +	libzfs_mount.c \
 +	libzfs_pool.c \
 +	libzfs_sendrecv.c \
 +	libzfs_share.c \
 +	libzfs_share_nfs.c \
 +	libzfs_status.c \
 +	libzfs_util.c \
 +	os/freebsd/libzfs_share_nfs.c \
 +	os/freebsd/libzfs_share_smb.c
 +
 +# FreeBSD
 +USER_C += \
 +        libzfs_compat.c \
 +        libzfs_zmount.c
 +
 +KERNEL_C = \
 +        cityhash.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_valstr.c \
 +        zpool_prop.c \
 +        zprop_common.c
 +
 +ARCH_C =
 +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
 +ARCH_C += 	zfs_fletcher_intel.c \
 +		zfs_fletcher_sse.c 
 +CFLAGS +=  -DHAVE_SSE2
 +.endif
 +.if ${MACHINE_ARCH} == "amd64"
 +ARCH_C +=	zfs_fletcher_avx512.c
 +CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F
 +.endif
 +.if ${MACHINE_CPUARCH} == "aarch64"
 +ARCH_C +=	zfs_fletcher_aarch64_neon.c
 +.endif
 +
 +SRCS= $(USER_C) $(KERNEL_C) $(ARCH_C)
 +
 +WARNS?=	2
 +SHLIB_MAJOR= 4
 +CSTD=	c99
 +CFLAGS+= -DIN_BASE
 +CFLAGS+= -I${ZFSTOP}/include
 +CFLAGS+= -I${ZFSTOP}/include/os/freebsd
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include
 +CFLAGS+= -I${ZFSTOP}/lib/libspl/include/os/freebsd
 +CFLAGS+= -I${ZFSTOP}/lib/libshare
 +CFLAGS+= -I${ZFSTOP}/lib/libzpool/include
 +CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include
 +CFLAGS+= -I${SRCTOP}/sys
 +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
 +CFLAGS+= -I${ZFSTOP}/module/icp/include
++CFLAGS+= -include ${ZFSTOP}/include/sys/simd_config.h
 +CFLAGS+= -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h
 +CFLAGS+= -DHAVE_ISSETUGID
 +CFLAGS+= -DHAVE_EXECVPE
 +CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
 +CFLAGS+= -DSYSCONFDIR=\"/etc\"
 +CFLAGS+= -DPKGDATADIR=\"/usr/share/zfs\"
 +CFLAGS+= -DZFSEXECDIR=\"${LIBEXECDIR}/zfs\"
 +
 +.include <bsd.lib.mk>
diff --cc cddl/lib/libzpool/Makefile
index 74a5f6ccb438,000000000000..9361d352f7c0
mode 100644,000000..100644
--- a/cddl/lib/libzpool/Makefile
+++ b/cddl/lib/libzpool/Makefile
@@@ -1,342 -1,0 +1,344 @@@
 +.PATH: ${ZFSTOP}/lib/libzpool
 +
 +# 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
 +
 +.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"
 +# Don't waste GOT entries on small data.
 +PICFLAG=	-fPIC
 +.endif
 +
 +PACKAGE=	zfs
 +LIB_PACKAGE=
 +
 +LIB=		zpool
 +
 +USER_C = \
 +	arc_os.c \
 +	kernel.c \
 +	util.c \
 +	zfs_debug.c
 +
 +.PATH: ${ZFSTOP}/module/os/linux/zfs
 +
 +KERNEL_C = \
 +	simd_stat.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 \
 +        blake3_zfs.c \
 +	blkptr.c \
 +	bplist.c \
 +	bpobj.c \
 +	bptree.c \
 +	bqueue.c \
 +	btree.c \
 +	brt.c \
 +	cityhash.c \
 +	dbuf.c \
 +	dbuf_stats.c \
 +	ddt.c \
 +	ddt_log.c \
 +	ddt_stats.c \
 +	ddt_zap.c \
 +	dmu.c \
 +	dmu_diff.c \
 +	dmu_direct.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 \
 +	sha2_zfs.c \
 +	skein_zfs.c \
 +	spa.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 \
 +	u8_textprep.c \
 +	trace.c \
 +	uberblock.c \
 +	unique.c \
 +	vdev.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_label_os.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 \
 +	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_crrd.c \
 +	zfs_debug_common.c \
++	zfs_file_os.c \
 +	zfs_fm.c \
 +	zfs_fuid.c \
 +	zfs_impl.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 \
 +	zstd_preSplit.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 \
*** 9473 LINES SKIPPED ***