aboutsummaryrefslogtreecommitdiff
path: root/sys/modules
Commit message (Collapse)AuthorAgeFilesLines
* zfs: merge openzfs/zfs@5605a6d79Martin Matuska5 days2-4/+4
| | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16025 26b0f561b dnode_next_offset: backtrack if lower level does not match #17758 c722bf881 Add interface to interface spa_get_worst_case_min_alloc() function #17765 8d4c3ee9e zvol: Fix blk-mq sync #17787 8869caae5 zinject: Introduce ready delay fault injection #17780 b2196fbed Fix 'zpool add' safety check corner cases #17783 5c38029f4 zdb: add ZFS_KEYFORMAT_RAW support for -K option #17786 f0a95e897 zpool iostat: refresh pool list every interval #17807 -multiple zpool iostat: fix regressions in "all pools" mode after #17786 #17793 -multiple ddt prune: Add SCL_ZIO deadlock workaround #17799 ac2d8c80b Make mount/share errors non-fatal for zfs create/clone Obtained from: OpenZFS OpenZFS commit: 5605a6d79b3582296208ac391f93a5faf729fa92
* cxgbe: Support for NIC KTLS transmit on T7 adapters.John Baldwin10 days1-0/+1
| | | | | | | | | | | | | | | | | | | Unlike NIC KTLS support on T6, T7 is able to reuse the existing TSO functionality directly, including trimming the output of the crypto engine before it is passed on to TSO. This is much simpler and does not require the use of bypass pseudo-connections in the TOE engine. Among other things this permits arbitrary TCP options (including the full range of possible TCP timestamp values) while also avoiding various edge cases where parts of a requested TCP packet could not always be transmitted (e.g. partial trailers). This implementation also permits NIC KTLS to be used in parallel with TOE. This version does not yet support connections over a VF (specifically the ktls_tunnel_packet function needs to handle the VF work request), nor does it support VxLAN offload. MFC after: 3 days Sponsored by: Chelsio Communications
* cxgbe: Move the STAG and PBL memory pool arenas to the base driverJohn Baldwin10 days1-0/+1
| | | | | | | | | | | | | | Both RDMA (iw_cxgbe) and NVMe offloads use TPT table entries to map transaction tags in incoming PDUs to buffers in host memory permitting direct placement of received data into host memory buffers avoiding copies (iSCSI offload uses a different scheme for mapping tags to host memory). Move the vmem arenas for the supporting card memory regions from iw_cxgbe to the main driver so they can be shared with the NVMe offload driver. In addition, add some helper routines for constructing work requests to update TPT table entries. MFC after: 3 days Sponsored by: Chelsio Communications
* cxgbe(4): hw/fw headers and shared code for the Terminator 7 ASICNavdeep Parhar10 days2-3/+24
| | | | | | | | | | | | | | | | | | This is the first of a series of commits that will add T7 support to cxgbe. The ASIC is gen5x16 on the PCIe side and has a 400Gbps MAC on the Ethernet side. NICs using the T7 will come in the following variants: * 1 x 400Gbps with QSFP-DD connector * 2 x 200/100/40Gbps with QSFP56/QSFP28/QSFP+ connectors * 4 x 50/25/10/1Gbps with SFP28/SFP+/SFP connectors There are 8 general purpose ARM A72 cores available on select SmartNIC/DPU boards. Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications
* thunderbolt: Import USB4 codeAymeric Wibo12 days2-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add initial USB4 code written by Scott Long and originally passed on to HPS (source: https://github.com/hselasky/usb4), minus the ICM code and with some small fixes. For context, older TB chips implemented the connection manager in firmware (ICM) instead of in the OS (HCM), but maintaining the ICM code would be a huge burden for not many chips. Mostly completed work: - Debug/trace framework. - NHI controller driver. - PCIe bridge driver. - Router and config space layer handling (just reading in this commit). Link to the email where Scott shared details about the initial USB4 work: https://lists.freebsd.org/archives/freebsd-hackers/2024-July/003411.html Glanced at by: emaste, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49450 Event: EuroBSDcon 2025
* zfs: merge openzfs/zfs@b2196fbedMartin Matuska2025-09-242-3/+6
| | | | | | | | | | | | | Notable upstream pull request merges: #17705 545d66204 Fix a printf format specifier on FreeBSD/i386 #17708 3387d3409 Fix atomic-alignment warnings in libspl on FreeBSD/i386 #17719 f319ff357 vdev_disk_close: take disk write lock before destroying it #17732 1d2d81298 Refactor `zhack label repair` and fix `-c` regression on nonzero TXG #17764 ea37c30fc zdb: Fix asize overflow in verify_livelist_allocs() Obtained from: OpenZFS OpenZFS commit: b2196fbedf5dbfb8593288f5f9ba712e31429a84
* dtraceall: Enable kinst for aarch64 and riscv as wellChristos Margiolis2025-09-161-3/+3
| | | | | | | | | aarch64 and riscv are supported since 2023 so it should be safe to enable it by default. MFC after: 2 weeks Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D52575
* udbc: Add usb debug host mode driverTom Jones2025-09-152-4/+12
| | | | | | | | | | | | | | | xhci offers a debugging interface which uses a special usb 3 cable with the D+, D- and VBUS pairs disconnected. This interface allows a target device to configure its xhci controller as a debugging channel which can then be used to provide a serial link between the target and a debug host. This change extracts the udbc host mode driver from hrs@'s xhci debug implementation. Reviewed by: bcr (man page) MFC after: Before 15-ALPHA3 builds Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51299
* qat: enable qat driver for 402xx deviceHareshx Sankar Raj2025-09-151-1/+4
| | | | | | | | | | | | | | Enabled qat driver support for 402xx device with ID 0x4944/0x4945. This is an additional device supported under the existing qat_4xxx driver. Firmwares specific to the 402xx device are added. Signed-off-by: Hareshx Sankar Raj <hareshx.sankar.raj@intel.com> Relnotes: yes Sponsored by: Intel Corporation MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D52488
* iwlwifi: Don't compile for gcc before 14Warner Losh2025-09-151-0/+3
| | | | | | | | | | | | gcc 13 and earlier don't have __builtin_bitcountg. The linux wifi kpi uses this unconditionally. While in this one use, it might not be needed, I opted to not compile iwlwifi when building gcc12 or 13 rather than risk breaking it for everbody else. With this change gcc12 builds the kernel. Maybe this will stop jenkins email for every commit I make. Sponsored by: Netflix
* zfs: merge openzfs/zfs@3f4312a0aMartin Matuska2025-09-132-3/+3
| | | | | | | | | | | | | | | Notable upstream pull request merges: #17227 d64711c20 Detect a slow raidz child during reads #17543 -multiple zfs allow send:raw #17717 bc0b5318a Prevent scrubbing a read-only pool #17722 cb5f9aa58 FreeBSD: Satisfy ASSERT_VOP_IN_SEQC() #17729 3f4312a0a Fix two infinite loops if dmu_prefetch_max set to zero #17730 37cd30f71 Fix ddle memleak in ddt_log_load #17733 bc8bcfc71 Fix type in dbrrd_closest() #17735 9b772f328 Fix time database update calculations Obtained from: OpenZFS OpenZFS commit: 3f4312a0a428624e596bb35ae4806ea0d4d69472
* ossl: Add GCM support on powerpc64/powerpc64le (POWER8+)Timothy Pearson2025-09-111-1/+6
| | | | | | | | | | | | Separate ossl's existing AES-NI GCM implementation into a common ossl_aes_gcm.c and add conditionals to switch between OpenSSL's AES-NI and POWER8 GCM routines depending on the architecture. Since the existing AVX-512 implementation is less agnostic, move it into a separate ossl_aes_gcm_avx512.c. Reviewed by: markj MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D44274
* zfs: merge openzfs/zfs@7939bad5eMartin Matuska2025-09-102-7/+7
| | | | | | | | | | | | | | | | | Notable upstream pull request merges: #15869 ee7c36264 Add description of default sorting behavior to zfs_list.8 #17375 ced72fdd6 tunables: remove legacy FreeBSD aliases #17600 1da2c30be Update pam_zfs_key.c default path for FreeBSD #17632 b6bd3228b Synchronize the update of feature refcount #17645 59f8f5dfe zfs_vnops_os.c: Add support for the _PC_CLONE_BLKSIZE name #17665 0d54ae288 zdb: Fix format strings on 32-bit systems #17673 976f76534 Update compatibility.d files #17699 e3c3e86c0 Fix wrong dedup_table_size for legacy dedup #17704 e29bfa5bd Fix warnings about sha2_is_supported on FreeBSD/i386 #17706 a2424312c Fix the build on 32-bit FreeBSD with GCC Obtained from: OpenZFS OpenZFS commit: 7939bad5e79225288a2580e8ea217f5c6f616db2
* bpi-r2-pro: added support dts for bpi-r2-proMartinFx2025-09-051-1/+2
| | | | | Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1822
* snd_hda: Fix a sporadic panic during kldunloadTijl Coosemans2025-09-041-2/+2
| | | | | | | | | | | | | | | The interrupt handler releases the device lock in hdaa_stream_intr to avoid a lock order reversal. This allows child devices to be detached and destroyed and then the interrupt handler panics. Let hdac_detach take down the interrupt handler before detaching child devices and order hdac_driver so hdac_detach is called first. Remove duplicate hdac_if.h from the module Makefile. PR: 286385 Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D50393
* Revert "pseudofs: defer initialization until first mount"Kyle Evans2025-09-041-2/+2
| | | | | | | This reverts commit 65059dd2b6f94e570acc645be82b8ea056316459. lindebugfs does he vast majority of its pseudofs initialization nearly everywhere but pseudofs, so let's defer this to post-brsnching.
* pseudofs: defer initialization until first mountKyle Evans2025-09-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Currently, pseudofs all get fully constructed when the module is loaded and vfs registered, but this is pretty unnecessary. Just loading the fs doesn't mean that it will be used so we're adding overhead and risk[0] by fully initializing these at the start, along with committing resources that may not be used. Deferring pfs_init() allows us to reduce the risk of simply loading the module causing problems that are harder to avoid, and existing pseudo filesystems don't really care: configuration that is context-sensitive is generally deferred to access-time with PFS_PROCDEP. To preserve symmetry, we'll also teardown our pseudofs on last unmount, which leaves us with a vfs_uninit() implementation that simply destroys our lock and prints a message. [0] Example of such being recent bugs in linsysfs, which caused a panic as soon as the module was loaded because we're eager to set it up. Reviewed by: des (previous version), kib Differential Revision: https://reviews.freebsd.org/D52156
* irdma: normalize .CURDIR-relative paths to SRCTOPKa Ho Ng2025-08-271-3/+3
| | | | | | | Sponsored by: Juniper Networks, Inc. MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D52192
* ichwd: introduce i6300esbwd watch dog driverShengYi Hung2025-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | The intel 6300ESB watchdog is a special ICH-based watchdog device with a different interface. QEMU implements this watchdog for x86 systems. This change enables watchdog mode (rather than free-running mode) and introduces 1 sysctl: - hw.i6300esbwd.0.locked: locks the watchdog register after the event is triggered, preventing it from being disabled until a hard reset. This feature has been tested on a Vultr AMD guest machine and local qemu machine. PR: 259673 Approved by: markj (mentor), lwhsu (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52049
* zfs: merge openzfs/zfs@00dfa094aMartin Matuska2025-08-242-4/+4
| | | | | | | | | | | | | | | | | OpenZFS 2.4.0 rc1 Notable upstream pull request merges: #17643 94413bc75 zdb: Filter log spacemaps by vdev #17655 28ff57505 FreeBSD: satisfy VFS requirements for readdir() #17658 -multiple dnode: fix how we track and check dirtyness As OpenZFS 2.4 got branched, this is the last merge to main until stable/15 is branched. stable/15 will receive updates from the vendor/openzfs/zfs-2.4-release branch. Obtained from: OpenZFS OpenZFS commit: 00dfa094ac35e240bed33f8bcfea68d805eab6ae OpenZFS tag: zfs-2.4.0-rc1
* sys/modules: fix standalone build for multiple modulesShengYi Hung2025-08-2318-13/+23
| | | | | | | | | Multiple Makefile miss opt_*.h and *_if.h header file. We fix it by running make in sys/modules to build all modules. Approved by: lwhsu (mentor), markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52062
* rtw88 / rtw89: define LINUXKPI_VERSIONBjoern A. Zeeb2025-08-212-0/+2
| | | | | | | | Always define the LINUXKPI_VERSION for LinuxKPI based wireless drivers. This ensures that LinuxKPI can move indepdent of drivers. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* zfs: fix build issues from 53a2e2635Martin Matuska2025-08-201-1/+5
| | | | | Add aesni-gcm-avx2-vaes.S to libicp, libicp_rescue and module build This was somehow not catched by my make universe
* zfs: merge openzfs/zfs@a9410ccbdMartin Matuska2025-08-203-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17058 -multiple Port AVX2 implementation of aes-gcm from BoringSSL #17602 077269bfe Fix Assert in dbuf_undirty, which triggers during usage zap shrink #17613 d15143207 ZIL: Make allocations more flexible #17618 5061f959d Retire zfs_autoimport_disable kmod option #17166 d3c1d27af zdb: better handling for corrupt block pointers #17616 1ccae433e Allow vmem_alloc backed multilists #17619 e0e60d319 Better pack struct zio_prop #17620 152e34822 Silence zstd large allocation warning #17622 -multiple ZIL: restore some things lost in "ZIL-crash" review #17625 -multiple zvol: cleanup & fixup zvol destruction sequence and locking #17631 885d929cf Fix missed assertion update in physical rewrite patch #17642 a9410ccbd Make zpool_find_config() report errors #17647 30a915efe zfs-send.8: mention combination of -c/-e flags and zstd_compress feature #17649 2c877e845 FreeBSD: Set st_rdev to NODEV, not 0, when not a device (already backported) Obtained from: OpenZFS OpenZFS commit: a9410ccbd9f0375a7eeb6bc35eb55efe9c21493e
* ix/ixv: Add support for new Intel Ethernet E610 family devicesBhosale, Yogeshnull2025-08-192-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is part 1 of the support for the new Intel Ethernet E610 family of devices. Introduce new PCI device IDs: • 57AE: Intel(R) E610 (Backplane) • 57AF: Intel(R) E610 (SFP) • 57B0: Intel(R) E610 (10 GbE) • 57B1: Intel(R) E610 (2.5 GbE) • 57B2: Intel(R) E610 (SGMII) Key updates for E610 family: • Firmware manages Link and PHY • Implement new CSR-based Admin Command Interface (ACI) for SW-FW interaction • Tested exclusively for x64 operating systems on E610-XT2/XT4 (10G) and E610-IT4 (2.5G) • Enable link speeds above 1G: 2.5G, 5G and 10G • NVM Recovery Mode and Rollback support Signed-off-by: Yogesh Bhosale yogesh.bhosale@intel.com Co-developed-by: Krzysztof Galazka krzysztof.galazka@intel.com Approved by: kbowling (mentor), erj (mentor) Tested by: gowtham.kumar.ks_intel.com Sponsored by: Intel Corporation MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50067
* u2f(4): a HID driver for FIDO/U2F security keysVladimir Kondratyev2025-08-172-0/+9
| | | | | | | | | | | | | | | | | While FIDO/U2F keys were already supported by the generic uhid(4) and hidraw(4) drivers, this driver adds some additional features an does steps to tighten the security of FIDO/U2F access. - It automatically loads through devd. - Automatically enables HQ_NO_READAHEAD for FIDO/U2F devices. - Implements only miminum set of features. - Do not requires external devfs configuration to set character device permissions. - Names character device as u2f/# to make possible capsicum or any other pledge()-style sandboxing. PR: 265528 Differential Revision: https://reviews.freebsd.org/D51612
* ossl: Add chacha-armv8-sve.S on aarch64John Baldwin2025-08-151-0/+1
| | | | Fixes: 4757b351ea9d ("openssl: Import version 3.5.1")
* zfs: merge openzfs/zfs@1d0b94c4eMartin Matuska2025-08-122-3/+3
| | | | | | | | | | | | | Notable upstream pull request merges: #17398 -multiple ZIL: "crash" the ZIL if the pool suspends during fallback #17585 0c376d0f5 Document the new '-a' zpool option #17590 03592417c SIMD: Don't require definition of `HAVE_XSAVE` #17591 -multiple Prefer VERIFY0 over comparision with 0 or NULL #17596 -multiple zvol: misc cleanups #17605 2fd145b57 zvol: cleanup error handling and passthrough Obtained from: OpenZFS OpenZFS commit: 1d0b94c4e73d83299528c44fb4fa3b29eb6009a3
* zfs: merge openzfs/zfs@8302b6e32Martin Matuska2025-08-073-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16853 894edd084 Add TXG timestamp database #17004 -multiple Implement dynamic gang header sizes #17405 dea0fc969 ZVOL: Return early, if volmode is ZFS_VOLMODE_NONE on FreeBSD side #17455 cf146460c Default to zfs_bclone_wait_dirty=1 #17481 523d9d600 Validate mountpoint on path-based unmount using statx #17482 92da9e0e9 ZVOL: Implement zvol_alloc() function on FreeBSD side #17489 dee62e074 spa: ZIO_TASKQ_ISSUE: Use symbolic priority #17496 bf846dcb7 Release topology restrictions on special/dedup #17497 4e92aee23 Relax special_small_blocks restrictions #17503 ea38787f2 Revert "Fix incorrect expected error in ztest" #17505 be1e991a1 Allow and prefer special vdevs as ZIL #17506 ee0cb4cb8 ztest: Fix false positive of ENOSPC handling #17507 92d3b4ee2 zio: rename `io_reexecute` as `io_post`; use it for the direct IO checksum error flag #17508 6af8db61b metaslab: don't pass whole zio to throttle reserve APIs #17518 4c2a7f85d FreeBSD: Add support for _PC_HAS_HIDDENSYSTEM #17521 d7ab07dfb ZIL: Force writing of open LWB on suspend #17524 b6e8db509 zpool/zfs: Add '-a|--all' option to scrub, trim, initialize #17531 c1e51c55f Correct weight recalculation of space-based metaslabs #17533 d323fbf49 FreeBSD: zfs_putpages: don't undirty pages until after write completes #17536 b21e04e8d Fix zdb pool/ with -k #17537 -multiple Userspace tunables #17540 2957eabbe Add support for FreeBSD's Solaris style extended attribute interface #17547 4bd7a2eaa zdb: fix checksum calculation for decompressed blocks #17551 -multiple cleanup: remove var init/update #17561 0f8a1105e Skip dbuf_evict_one() from dbuf_evict_notify() for reclaim thread #17563 10a78e264 Faster checksum benchmark on system boot #17564 00ce064d8 spa: update blkptr diagram to include vdev padding on encrypted blocks #17565 -multiple Physical rewrite #17566 fc885f308 Don't use wrong weight when passivating group #17572 f70c85086 BRT: Fix ZAP entry endianness #17575 0b6fd024a ZVOL: Unify zvol minors operations and improve error handling #17581 cb5e7e097 range_tree: Provide more debug details upon unexpected add/remove #17587 -multiple Fix two issues with dynamic gang headers Obtained from: OpenZFS OpenZFS commit: 8302b6e32bb153a6f402b106484d5736f082abcc
* riscv: Add the sdhci_fdt driver to the buildBojan Novković2025-08-011-1/+2
| | | | | Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D48534
* amdsmu: Initial work on a driver for the AMD SMUAymeric Wibo2025-07-262-0/+16
| | | | | | | | | | | | | | | | | | | Start work on a driver for the AMD SMU (system management unit), which will eventually be used for getting S0ix statistics (e.g. how long the CPU has spent in the deepest - S0i3 - sleep state during the last sleep) as well as letting PMFW (power management firmware, running on the SMU) know when we intend to enter and exit sleep. It is what's responsible for actually turning off the VDD line to the CPU. With this commit, amdsmu is just able to get the SMU's firmware version on AMD Rembrandt, Phoenix, and Strix Point CPUs. This is the equivalent to amd-pmc on Linux. Reviewed by: cem, kib, mckusick Approved by: kib, mckusick Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48683
* efidev: add support for memory attributeShengYi Hung2025-07-221-1/+1
| | | | | | | | | | | The EFI_PROPERTIES_TABLE has been deprecated in the UEFI specification. It is now replaced by the EFI_MEMORY_ATTRIBUTES_TABLE, which provides a new header and data format for describing memory region attributes. Reviewed by: imp Approved by: markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49998
* ice: Add host SR-IOV supportKrzysztof Galazka2025-07-181-0/+1
| | | | | | | | | Enable basic SR-IOV support for E800 adapters. Authored-by: Eric Joyner <erj@FreeBSD.org> Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com> Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1573
* qlnxe: Fix build with INETZhenlei Huang2025-07-171-0/+1
| | | | | | | | | | | | | opt_inet.h is missing from 5684c8783b64, thus actually `#ifdef INET` does not work. PR: 287445 See also: https://redmine.pfsense.org/issues/16248 Reviewed by: kbowling Tested by: leper <leper4@protonmail.com> Fixes: 5684c8783b64 qlnxe: Add missing #ifdef INET to fix amd64 LINT-NOINET/NOIP builds MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D51295
* hwt(4): Add Intel Processor Trace backendBojan Novković2025-07-162-0/+10
| | | | | Differential Revision: https://reviews.freebsd.org/D46397 Reviewed by: kib, markj, br
* sound: Retire midisynthChristos Margiolis2025-07-061-2/+2
| | | | | | | Unused code since we retired the sequencer. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D50609
* sound: Retire the MIDI sequencerChristos Margiolis2025-07-061-1/+1
| | | | | | | | | | The in-kernel MIDI sequencer is not used anymore, since this is done by userland applications nowadays. It also contains bugs, and we are not exactly sure how it works, or if it worked properly in the first place. Sponsored by: The FreeBSD Foundation Reviewed by: vishwin, markj Differential Revision: https://reviews.freebsd.org/D50605
* iwlwifi: compile in ACPI supportBjoern A. Zeeb2025-07-041-1/+7
| | | | | | | | | | | | Now that LinuxKPI supports the lower case Linux ACPI spellings under LINUXKPI_WANT_LINUX_ACPI we only need to provide the debug macro to allow us to compile in ACPI support. This ties into regulatory and will be used, e.g., for 11ax, 11be, and Per Platform Antenna Gain (PPAG) settings. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* rtw89: enable ACPI support on FreeBSDBjoern A. Zeeb2025-07-041-0/+1
| | | | | | | | | Now that LinuxKPI supports the lower case Linux ACPI spellings under LINUXKPI_WANT_LINUX_ACPI remove the #ifdef around the code and compile in ACPI support. Sponsored by: The FreeBSD Foundation MFC after; 3 days
* Import the Hardware Trace (HWT) framework.Ruslan Bukin2025-07-032-0/+26
| | | | | | | | | | | | | | | | The HWT framework provides infrastructure for hardware-assisted tracing. It collects detailed information about software execution and records it as "events" in highly compressed format into DRAM. The events cover information about control flow changes of a program, whether branches taken or not, exceptions taken, timing information, cycles elapsed and more. This allows to reconstruct entire program flow of a given application. This comes with separate machine-dependent tracing backends for trace collection, trace decoder libraries and an instrumentation tool. Reviewed by: kib (sys/kern bits) Sponsored by: UKRI Differential Revision: https://reviews.freebsd.org/D40466
* zfs: merge openzfs/zfs@69ee01aa4Martin Matuska2025-06-282-3/+9
| | | | | | | | | | | | | | Notable upstream pull request merges: #17463 48ce292ea Clarify and restrict dmu_tx_assign() errors #17484 d461a67d0 Ensure that gang_copies is always at least as large as copies #17486 0a2163d19 FreeBSD: Ensure that z_pflags is initialized for new znodes #17488 ea076d692 vdev_raidz_asize_to_psize: return psize, not asize #17490 69ee01aa4 Fix bug caused by rounding in vdev_raidz_asize_to_psize Obtained from: OpenZFS OpenZFS commit: 69ee01aa4b106dd57016b0d756201ecf7c211d46
* zfs: merge openzfs/zfs@8170eb6ebMartin Matuska2025-06-212-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17385 e1677d9ee ZVOL: Make zvol_prefetch_bytes module parameter platform-independent #17386 e0edfcbd4 ZVOL: Make zvol_volmode module parameter platform-independent #17391 108562344 Improve allocation fallback handling #17409 68817d28c Include class name into struct metaslab_class #17413 af7d60959 zpl: handle suspend from two remaining calls to `txg_wait_synced()` #17415 b7f919d22 Relax zfs_vnops_read_chunk_size limitations #17423 5e5253be8 FreeBSD: Wire projects support #17426 -multiple Channel programs: add zfs.sync.clone() #17431 e0ef4d276 Improve block cloning transactions accounting #17432 46b82de61 scrub: generate scrub_finish event #17435 bcd043023 Allow zero compression if dedup is enabled #17438 ba227e2cc Make TX abort after assign safer #17441 4ae931aa9 Polish db_rwlock scope #17434 66ec7fb26 Reduce zfs_dmu_offset_next_sync penalty #17445 238eab7dc FreeBSD: zfs_putpages: don't undirty pages until after write completes #17458 bd27b7540 ZIL: Relax parallel write ZIOs processing #17469 717213d43 Fix other nonrot bugs Obtained from: OpenZFS OpenZFS commit: 8170eb6ebcf2e7b1c735da80c331d7a57f1de987
* nvme.ko: Don't include nvme_util.cJohn Baldwin2025-06-161-1/+0
| | | | | | | | | This file is already included in cam.ko which nvme.ko depends on unconditionally. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D50705
* ufshci: Add to build on arm64 and aarch64Warner Losh2025-06-151-0/+5
| | | | | | Add UFS Host Controller Itnerface driver to the build. Sponsored by: Netflix
* ufshci: Introduce the ufshci(4) driverJaeyoon Choi2025-06-151-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a storage driver that supports the Universal Flash Storage Host Controller Interface (UFSHCI) on FreeBSD. Universal Flash Storage (UFS) is a flash-based mobile storage device that replaces eMMC, aiming for high performance with low power. The UFS Host Controller Interface (UFSHCI) is the host side controller and connects UFS device to a system bus, such as PCIe. The code targets the latest standards: - UFS 4.1: https://www.jedec.org/standards-documents/docs/jesd220g - UFSHCI 4.1: https://www.jedec.org/standards-documents/docs/jesd223f The ufshci(4) driver implements controller/device initialization, interrupt, single-doorbell(SDB) queue based IO requests. Support for multi-queue (MCQ) IO requests is planned for a later commit. Implemented features: - PCIe bus support - legacy(INTx) Interrupt Handling - UIC command support - UTP Transfer Request (UTR) support - UTP Task Management Request (UTMR) support - single doorbell queue (SDB) with multiple queue depth - SCSI command set support - sysctl Work in progress: - multi-Circular Queue (per-CPU IO queues) - MSI-X interrupt Support - write booster - write Protect - Host Performance Booster (HPB) - interrupt aggregation - ARM based system bus support - ufs-utils port Tests were performed on QEMU and an Intel-based laptop. Since QEMU has an emulated UFS device, I tested on QEMU. How to test on QEMU: 1. Run QEMU $ qemu-system-x86_64 ... -device ufs -drive file=blk1g.bin,format=raw,if=none,id=luimg -device ufs-lu,drive=luimg,lun=0 2. Loading/unloading the ufshci module on QEMU $ kldload /usr/obj/usr/src/amd64.amd64/sys/modules/ufshci/ufshci.ko $ kldunload ufshci Testing on real hardware: - Samsung Galaxy Book S (Intel Lakefield) with UFS 3.0 - Lenovo duet 3 11ian8 (Intel N100) with UFS 2.1 Sponsored by: Samsung Electronics Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D50370
* qat: move debugfs handling to separate fileHareshx Sankar Raj2025-06-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Moved handling of debugfs entries to a separate file. In addition, it will allow to consolidate the addition of debugfs entries to a single location in the code. This implementation adds infrastructure to create (and remove) debugfs entries at two different stages. - Done when a device is probed, allows to keep debugfs entries persistent between a transition in device state (up to down or vice versa). - Done after the initialization phase, allows to have debugfs entries that are accessible only when the device is up. In addition, moved the creation of debugfs entries for configuration of the newly created function adf_dbgfs_init() and replace symbolic permissions with octal permissions when creating the debugfs files. Added sysctl oids storage for proper cleanup on device down. Reviewed by: markj, ziaee MFC after: 2 weeks Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D50379
* qat: add disable safe dc mode for QAT SPR devicesHareshx Sankar Raj2025-06-064-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | Build and sysctl configuration modes are introduced for QAT SPR devices to disable safe dc mode. A new QAT driver build option ‘QAT_DISABLE_SAFE_DC_MODE’ is required to build the QAT driver with code that allows a request to be sent to FW to override the ‘History Buffer’ mitigation. Default QAT driver builds do not include this ‘QAT_DISABLE_SAFE_DC_MODE’ build option. Even if the QAT driver was built with code that allows a request to be sent to FW to override the ‘History Buffer’ mitigation, the QAT driver must still be configured using sysctl to request an override of the ‘History Buffer’ mitigation if desired. The default QAT driver configuration option sysctl dev.qat.X.disable_safe_dc_mode does not allow override of the mitigation. The new sysctl attribute disable_safe_dc_mode is to be set to 1 for overriding the history buffer mitigation. Firmware for qat_4xxx is updated for this change. If this mode is enabled, decompression throughput increases but may result in a data leak if num_user_processes is more than 1. This option is to be enabled only if your system is not prone to user data leaks. Reviewed by: markj, ziaee MFC after: 2 weeks Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D50379
* zfs: merge openzfs/zfs@3084336aeMartin Matuska2025-05-302-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #14876 b048bfa9c Allow opt-in of zvol blocks in special class #16486 b6916f995 ARC: parallel eviction #17169 1a8f5ad3b zvol: Enable zvol threading functionality on FreeBSD #17209 c17bdc491 More aggressively assert that db_mtx protects db.db_data #17218 734eba251 Wire O_DIRECT also to Uncached I/O #17246 49fbdd453 Introduce zfs rewrite subcommand #17255 b1ccab172 ARC: Avoid overflows in arc_evict_adj() #17280 848794503 zcp: get_prop: fix encryptionroot and encryption #17301 086105f4c Cause zpool scan resume commands to get logged in history #17306 246e5883b zfs_valstr: update zio_flag strings for ZIO_FLAG_PREALLOCATED #17309 78628a5c1 FreeBSD: Use new SYSCTL_SIZEOF() #17314 89a8a9158 ARC: Notify dbuf cache about target size reduction #17319 8b9c4e643 spa: clear checkpoint information during retry #17339 d5616ad34 Increase meta-dnode redundancy in "some" mode #17340 ea74cdedd Fix 2 bugs in non-raw send with encryption #17342 e55225be3 Add explicit DMU_DIRECTIO checks #17343 d8a33bc0a icp: Use explicit_memset() exclusively in gcm_clear_ctx() #17344 -multiple libzfs_core: add ZFS_IOC_TRACE envvar to enable ioctl tracing #17348 f0baaa329 arcstat: prevent ZeroDivisionError when L2ARC becomes empty #17353 83fa80a55 dmu_objset_hold_flags() should call dsl_dataset_rele_flags() on error #17355 -multiple Allow txg_wait_synced_flags() and dmu_tx_assign() to return when the pool suspends #17361 5c30b2438 Fix null dereference in spa_vdev_remove_cancel_sync() #17363 ddf28f27c Fix off-by-one bug in range tree code #17367 06fa8f3f6 zfs_cmd: reorganise zfs_cmd_t to match original size #17368 2a91d577b Expose dataset encryption status via fast stat path #17372 c464f1d01 Only interrupt active disk I/Os in failmode=continue #17373 9d76950d6 ZIL: Improve write log size accounting #17377 -multiple tunables: general code cleanup #17379 fa697b94e FreeBSD: Add posix_fadvise(POSIX_FADV_WILLNEED) support #17384 3dfa98d01 ZVOL: Make zvol_inhibit_dev module parameter platform-independent Obtained from: OpenZFS OpenZFS commit: 3084336ae4a4e114e41be3177a3f5c779d66e93c
* buildkernel: fix build for kernels without VIMAGEGleb Smirnoff2025-05-261-1/+4
| | | | Fixes: 9b5ddb2accfc80f70a0da52444008ebabef2a9ee
* wtap(4): Connect to buildLi-Wen Hsu2025-05-201-0/+1
| | | | Sponsored by: The FreeBSD Foundation