aboutsummaryrefslogtreecommitdiff
path: root/share/man/man4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4')
-rw-r--r--share/man/man4/Makefile35
-rw-r--r--share/man/man4/aac.410
-rw-r--r--share/man/man4/aacraid.412
-rw-r--r--share/man/man4/acpi_battery.44
-rw-r--r--share/man/man4/agp.44
-rw-r--r--share/man/man4/ahc.412
-rw-r--r--share/man/man4/ahd.46
-rw-r--r--share/man/man4/ath.41
-rw-r--r--share/man/man4/aw_gpio.4 (renamed from share/man/man4/man4.arm/aw_gpio.4)2
-rw-r--r--share/man/man4/aw_mmc.4 (renamed from share/man/man4/man4.arm/aw_mmc.4)6
-rw-r--r--share/man/man4/aw_rtc.4 (renamed from share/man/man4/man4.arm/aw_rtc.4)2
-rw-r--r--share/man/man4/aw_sid.4 (renamed from share/man/man4/man4.arm/aw_sid.4)2
-rw-r--r--share/man/man4/aw_spi.4 (renamed from share/man/man4/man4.arm/aw_spi.4)2
-rw-r--r--share/man/man4/aw_syscon.4 (renamed from share/man/man4/man4.arm/aw_syscon.4)2
-rw-r--r--share/man/man4/bce.42
-rw-r--r--share/man/man4/blackhole.47
-rw-r--r--share/man/man4/bridge.4210
-rw-r--r--share/man/man4/cardbus.41
-rw-r--r--share/man/man4/cdceem.47
-rw-r--r--share/man/man4/ciss.49
-rw-r--r--share/man/man4/crypto.41
-rw-r--r--share/man/man4/cxgbe.45
-rw-r--r--share/man/man4/ddb.412
-rw-r--r--share/man/man4/dtrace_callout_execute.468
-rw-r--r--share/man/man4/dtrace_io.44
-rw-r--r--share/man/man4/dtrace_lockstat.44
-rw-r--r--share/man/man4/dtrace_pid.499
-rw-r--r--share/man/man4/dtrace_priv.459
-rw-r--r--share/man/man4/dtrace_vfs.497
-rw-r--r--share/man/man4/epair.425
-rw-r--r--share/man/man4/exca.43
-rw-r--r--share/man/man4/fdc.418
-rw-r--r--share/man/man4/geom_zero.4174
-rw-r--r--share/man/man4/gpioled.415
-rw-r--r--share/man/man4/hgame.492
-rw-r--r--share/man/man4/hifn.4132
-rw-r--r--share/man/man4/ice.4458
-rw-r--r--share/man/man4/ip.42
-rw-r--r--share/man/man4/isp.42
-rw-r--r--share/man/man4/iwlwifi.42
-rw-r--r--share/man/man4/iwx.425
-rw-r--r--share/man/man4/ix.433
-rw-r--r--share/man/man4/le.44
-rw-r--r--share/man/man4/linprocfs.44
-rw-r--r--share/man/man4/linsysfs.44
-rw-r--r--share/man/man4/mac_do.412
-rw-r--r--share/man/man4/man4.aarch64/Makefile6
-rw-r--r--share/man/man4/man4.arm/Makefile6
-rw-r--r--share/man/man4/mgb.42
-rw-r--r--share/man/man4/miibus.48
-rw-r--r--share/man/man4/mmcsd.411
-rw-r--r--share/man/man4/mpr.48
-rw-r--r--share/man/man4/mrsas.4199
-rw-r--r--share/man/man4/muge.42
-rw-r--r--share/man/man4/mx25l.424
-rw-r--r--share/man/man4/nda.412
-rw-r--r--share/man/man4/nvd.46
-rw-r--r--share/man/man4/p9fs.42
-rw-r--r--share/man/man4/pccard.478
-rw-r--r--share/man/man4/pccbb.43
-rw-r--r--share/man/man4/pci.413
-rw-r--r--share/man/man4/pcic.4100
-rw-r--r--share/man/man4/pfsync.42
-rw-r--r--share/man/man4/random.414
-rw-r--r--share/man/man4/re.412
-rw-r--r--share/man/man4/rgephy.44
-rw-r--r--share/man/man4/rights.43
-rw-r--r--share/man/man4/rl.416
-rw-r--r--share/man/man4/rndtest.41
-rw-r--r--share/man/man4/rue.48
-rw-r--r--share/man/man4/safe.416
-rw-r--r--share/man/man4/sbp.423
-rw-r--r--share/man/man4/sdhci.444
-rw-r--r--share/man/man4/snd_dummy.417
-rw-r--r--share/man/man4/syncache.429
-rw-r--r--share/man/man4/tcp.410
-rw-r--r--share/man/man4/thunderbolt.422
-rw-r--r--share/man/man4/u3g.44
-rw-r--r--share/man/man4/udbc.4132
-rw-r--r--share/man/man4/umass.4102
-rw-r--r--share/man/man4/umb.43
-rw-r--r--share/man/man4/upgt.44
-rw-r--r--share/man/man4/usbhid.48
-rw-r--r--share/man/man4/vt.49
-rw-r--r--share/man/man4/vtnet.453
-rw-r--r--share/man/man4/watchdog.462
-rw-r--r--share/man/man4/xl.41
-rw-r--r--share/man/man4/zero.43
88 files changed, 1817 insertions, 955 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 519b113b0a2e..722ee2bc9334 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -1,13 +1,16 @@
.include <src.opts.mk>
MANGROUPS= MAN
-MANPACKAGE= kernel
+MANPACKAGE= kernel-man
# If you add a new file here, please consider adding an entry to the
# hardware notes template (website/archetypes/release/hardware.adoc in
# the doc repository); otherwise the automatically generated hardware
# notes will not include your driver.
+# If you enable a driver for a different architecture, please remember
+# to update the arch specifier in the document title of the manual.
+
MAN= aac.4 \
aacraid.4 \
acpi.4 \
@@ -66,6 +69,12 @@ MAN= aac.4 \
audit.4 \
auditpipe.4 \
aue.4 \
+ ${_aw_gpio.4} \
+ ${_aw_mmc.4} \
+ ${_aw_rtc.4} \
+ ${_aw_sid.4} \
+ ${_aw_spi.4} \
+ ${_aw_syscon.4} \
axe.4 \
axge.4 \
axp.4 \
@@ -180,6 +189,7 @@ MAN= aac.4 \
geom.4 \
geom_linux_lvm.4 \
geom_uzip.4 \
+ geom_zero.4 \
gif.4 \
${_gve.4} \
gpio.4 \
@@ -195,7 +205,6 @@ MAN= aac.4 \
hidbus.4 \
hidquirk.4 \
hidraw.4 \
- hifn.4 \
hkbd.4 \
hms.4 \
hmt.4 \
@@ -450,7 +459,6 @@ MAN= aac.4 \
p9fs.4 \
pass.4 \
pca954x.4 \
- pccard.4 \
pccbb.4 \
pcf.4 \
pcf8574.4 \
@@ -458,7 +466,6 @@ MAN= aac.4 \
${_pchtherm.4} \
pci.4 \
pcib.4 \
- pcic.4 \
pcm.4 \
${_pf.4} \
${_pflog.4} \
@@ -586,6 +593,7 @@ MAN= aac.4 \
tdfx.4 \
termios.4 \
textdump.4 \
+ thunderbolt.4 \
ti.4 \
timecounters.4 \
tmpfs.4 \
@@ -883,7 +891,6 @@ _ntb_hw_intel.4= ntb_hw_intel.4
_ntb_hw_plx.4= ntb_hw_plx.4
_ntb_transport.4=ntb_transport.4
_nvram.4= nvram.4
-_padlock.4= padlock.4
_pchtherm.4= pchtherm.4
_qat.4= qat.4
_qat_c2xxx.4= qat_c2xxx.4
@@ -930,6 +937,10 @@ _vmm.4= vmm.4
.endif
.endif
+.if ${MACHINE_CPUARCH} == "i386"
+_padlock.4= padlock.4
+.endif
+
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64"
_hwt.4= hwt.4
.if ${MACHINE_CPUARCH} == "amd64"
@@ -958,6 +969,12 @@ _vmx.4= vmx.4
.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "aarch64" || \
${MACHINE_CPUARCH} == "riscv"
+_aw_gpio.4= aw_gpio.4
+_aw_mmc.4= aw_mmc.4
+_aw_rtc.4= aw_rtc.4
+_aw_sid.4= aw_sid.4
+_aw_spi.4= aw_spi.4
+_aw_syscon.4= aw_syscon.4
_cgem.4= cgem.4
MLINKS+=cgem.4 if_cgem.4
.endif
@@ -987,19 +1004,23 @@ _ccd.4= ccd.4
.if ${MK_CDDL} != "no"
_dtrace_provs= dtrace_audit.4 \
+ dtrace_callout_execute.4 \
dtrace_dtrace.4 \
dtrace_fbt.4 \
dtrace_io.4 \
dtrace_ip.4 \
dtrace_kinst.4 \
dtrace_lockstat.4 \
+ dtrace_pid.4 \
+ dtrace_priv.4 \
dtrace_proc.4 \
dtrace_profile.4 \
dtrace_sched.4 \
dtrace_sctp.4 \
dtrace_tcp.4 \
dtrace_udp.4 \
- dtrace_udplite.4
+ dtrace_udplite.4 \
+ dtrace_vfs.4
MLINKS+= dtrace_audit.4 dtaudit.4
.endif
@@ -1062,6 +1083,7 @@ MAN+= \
ucom.4 \
ucycom.4 \
udav.4 \
+ udbc.4 \
udbp.4 \
udl.4 \
uep.4 \
@@ -1101,6 +1123,7 @@ MAN+= \
veriexec.4 \
zyd.4
+MLINKS+=geom_zero.4 gzero.4
MLINKS+=mtw.4 if_mtw.4
MLINKS+=otus.4 if_otus.4
MLINKS+=rsu.4 if_rsu.4
diff --git a/share/man/man4/aac.4 b/share/man/man4/aac.4
index 7a7d0350dcdb..f4b431cc6b4f 100644
--- a/share/man/man4/aac.4
+++ b/share/man/man4/aac.4
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2000 Scott Long
.\" All rights reserved.
.\"
@@ -21,7 +24,7 @@
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
-.Dd July 10, 2009
+.Dd September 29, 2025
.Dt AAC 4
.Os
.Sh NAME
@@ -83,9 +86,10 @@ Linux-compatible
interface for the management device will be enabled and will allow
Linux-based management applications to control the card.
.Sh HARDWARE
-Controllers supported by the
+The
.Nm
-driver include:
+driver supports the following Parallel SCSI, SATA, and 3G SAS
+RAID controllers from the Adaptec AAC family:
.Pp
.Bl -bullet -compact
.It
diff --git a/share/man/man4/aacraid.4 b/share/man/man4/aacraid.4
index 3bf683ac40c8..0f64f36c493a 100644
--- a/share/man/man4/aacraid.4
+++ b/share/man/man4/aacraid.4
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2013 Achim Leubner
.\" All rights reserved.
.\"
@@ -21,12 +24,12 @@
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
-.Dd June 19, 2015
+.Dd September 29, 2025
.Dt AACRAID 4
.Os
.Sh NAME
.Nm aacraid
-.Nd Adaptec AACRAID Controller driver
+.Nd Adaptec Series 6/7/8 6G and 12G SAS+SATA RAID controller driver
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
@@ -78,9 +81,10 @@ Linux-compatible
interface for the management device will be enabled and will allow
Linux-based management applications to control the card.
.Sh HARDWARE
-Controllers supported by the
+The
.Nm
-driver include:
+driver supports the following
+Adaptec 6G and 12G SAS/SATA RAID controllers:
.Pp
.Bl -bullet -compact
.It
diff --git a/share/man/man4/acpi_battery.4 b/share/man/man4/acpi_battery.4
index 3707cd125678..49fed625ea31 100644
--- a/share/man/man4/acpi_battery.4
+++ b/share/man/man4/acpi_battery.4
@@ -158,8 +158,8 @@ Typically this will decrease every charging cycle.
.It btech
Battery technology:
.Bl -tag -width indent
-.It 0x00000000 Primary cell Pq non-rechargable
-.It 0x00000001 Secondary cell Pq rechargable
+.It 0x00000000 Primary cell Pq non-rechargeable
+.It 0x00000001 Secondary cell Pq rechargeable
.El
.It Va dvol
Design voltage in mV,
diff --git a/share/man/man4/agp.4 b/share/man/man4/agp.4
index 2aeb01850085..b7a649117f36 100644
--- a/share/man/man4/agp.4
+++ b/share/man/man4/agp.4
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd November 28, 2007
+.Dd October 24, 2025
.Dt AGP 4
.Os
.Sh NAME
@@ -34,7 +34,7 @@
The
.Nm
driver is slated to be removed in
-.Fx 15.0 .
+.Fx 16.0 .
.Sh DESCRIPTION
The
.Nm
diff --git a/share/man/man4/ahc.4 b/share/man/man4/ahc.4
index 38712c1f08b6..a2aa911c0646 100644
--- a/share/man/man4/ahc.4
+++ b/share/man/man4/ahc.4
@@ -1,4 +1,6 @@
.\"
+.\" SPDX-License-Identifier: BSD-3-Clause
+.\"
.\" Copyright (c) 1995, 1996, 1997, 1998, 2000
.\" Justin T. Gibbs. All rights reserved.
.\"
@@ -24,7 +26,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd February 15, 2017
+.Dd September 29, 2025
.Dt AHC 4
.Os
.Sh NAME
@@ -142,7 +144,7 @@ system hang if memory mapped I/O is attempted.
.Pp
Most modern motherboards perform the initialization correctly and work fine
with this option enabled and it is the default. This option can also be
-dynamically configued through a device hint documented below.
+dynamically configured through a device hint documented below.
.Ed
.Pp
To statically configure one or more controllers to assume the target role:
@@ -172,11 +174,7 @@ adapter, defaults to enabled (0 -- disabled, 1 -- enabled).
.Sh HARDWARE
The
.Nm
-driver supports the following
-.Tn SCSI
-host adapter chips and
-.Tn SCSI
-controller cards:
+driver supports the following VL/ISA/PCI parallel SCSI controllers and cards:
.Pp
.Bl -bullet -compact
.It
diff --git a/share/man/man4/ahd.4 b/share/man/man4/ahd.4
index c173a8cef619..7fa08c12b5b5 100644
--- a/share/man/man4/ahd.4
+++ b/share/man/man4/ahd.4
@@ -1,4 +1,6 @@
.\"
+.\" SPDX-License-Identifer: BSD-3-Clause
+.\"
.\" Copyright (c) 1995, 1996, 1997, 1998, 2000
.\" Justin T. Gibbs. All rights reserved.
.\" Copyright (c) 2002
@@ -26,7 +28,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd July 4, 2004
+.Dd September 29, 2025
.Dt AHD 4
.Os
.Sh NAME
@@ -132,7 +134,7 @@ A hint to define whether the SCSI target mode is enabled (0 -- disabled, 1 -- en
.Sh HARDWARE
The
.Nm
-driver supports the following:
+driver supports the following PCI/PCI-X parallel SCSI controllers:
.Pp
.Bl -bullet -compact
.It
diff --git a/share/man/man4/ath.4 b/share/man/man4/ath.4
index e731277e4e75..b40ccbd16f09 100644
--- a/share/man/man4/ath.4
+++ b/share/man/man4/ath.4
@@ -258,7 +258,6 @@ This should not happen.
.Xr ath_hal 4 ,
.Xr cardbus 4 ,
.Xr intro 4 ,
-.Xr pcic 4 ,
.Xr wlan 4 ,
.Xr wlan_ccmp 4 ,
.Xr wlan_tkip 4 ,
diff --git a/share/man/man4/man4.arm/aw_gpio.4 b/share/man/man4/aw_gpio.4
index ef9fc1fe2733..5cbc7562d9bd 100644
--- a/share/man/man4/man4.arm/aw_gpio.4
+++ b/share/man/man4/aw_gpio.4
@@ -23,7 +23,7 @@
.\" SUCH DAMAGE.
.\"
.Dd October 8, 2024
-.Dt AW_GPIO 4 arm
+.Dt AW_GPIO 4
.Os
.Sh NAME
.Nm aw_gpio
diff --git a/share/man/man4/man4.arm/aw_mmc.4 b/share/man/man4/aw_mmc.4
index e3f961fa5067..072835cce7c0 100644
--- a/share/man/man4/man4.arm/aw_mmc.4
+++ b/share/man/man4/aw_mmc.4
@@ -22,8 +22,8 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd Dec 25, 2017
-.Dt AW_MMC 4 arm
+.Dd October 20, 2025
+.Dt AW_MMC 4
.Os
.Sh NAME
.Nm aw_mmc
@@ -48,6 +48,8 @@ allwinner,sun5i-a13-mmc
allwinner,sun7i-a20-mmc
.It
allwinner,sun50i-a64-mmc
+.It
+allwinner,sun20i-d1-mmc
.El
.Sh SYSCTL VARIABLES
The following read-only variables are available via
diff --git a/share/man/man4/man4.arm/aw_rtc.4 b/share/man/man4/aw_rtc.4
index 87212d85116c..1296cd41da68 100644
--- a/share/man/man4/man4.arm/aw_rtc.4
+++ b/share/man/man4/aw_rtc.4
@@ -23,7 +23,7 @@
.\" SUCH DAMAGE.
.\"
.Dd December 10, 2024
-.Dt AW_RTC 4 arm
+.Dt AW_RTC 4
.Os
.Sh NAME
.Nm aw_rtc
diff --git a/share/man/man4/man4.arm/aw_sid.4 b/share/man/man4/aw_sid.4
index 8b3691259f22..5cd2f3d5e072 100644
--- a/share/man/man4/man4.arm/aw_sid.4
+++ b/share/man/man4/aw_sid.4
@@ -25,7 +25,7 @@
.\" SUCH DAMAGE.
.\"
.Dd October 8, 2024
-.Dt AW_SID 4 arm
+.Dt AW_SID 4
.Os
.Sh NAME
.Nm aw_sid
diff --git a/share/man/man4/man4.arm/aw_spi.4 b/share/man/man4/aw_spi.4
index d0566a45b54b..f8985e1c16bb 100644
--- a/share/man/man4/man4.arm/aw_spi.4
+++ b/share/man/man4/aw_spi.4
@@ -23,7 +23,7 @@
.\" SUCH DAMAGE.
.\"
.Dd May 17, 2018
-.Dt AW_SPI 4 arm
+.Dt AW_SPI 4
.Os
.Sh NAME
.Nm aw_spi
diff --git a/share/man/man4/man4.arm/aw_syscon.4 b/share/man/man4/aw_syscon.4
index 97f01196a8a6..e32f329e489a 100644
--- a/share/man/man4/man4.arm/aw_syscon.4
+++ b/share/man/man4/aw_syscon.4
@@ -25,7 +25,7 @@
.\" SUCH DAMAGE.
.\"
.Dd November 11, 2024
-.Dt AW_SYSCON 4 arm
+.Dt AW_SYSCON 4
.Os
.Sh NAME
.Nm aw_syscon
diff --git a/share/man/man4/bce.4 b/share/man/man4/bce.4
index ab979f371b66..aab9eaebd505 100644
--- a/share/man/man4/bce.4
+++ b/share/man/man4/bce.4
@@ -240,7 +240,7 @@ Values from 0-256 are valid.
A value of 0 disables this status block update (default 6).
.It Va hw.bce.tx_ticks
Time in microsecond ticks to wait before a status block
-update is generated due to TX activitiy.
+update is generated due to TX activity.
Values from 0-100 are valid.
A value of 0 disables this status block update.
Cannot be set to 0 if hw.bce.tx_quick_cons_trip is also 0
diff --git a/share/man/man4/blackhole.4 b/share/man/man4/blackhole.4
index bb955fd4497d..777a38eedc86 100644
--- a/share/man/man4/blackhole.4
+++ b/share/man/man4/blackhole.4
@@ -10,15 +10,12 @@
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
-.Dd May 25, 2024
+.Dd September 24, 2025
.Dt BLACKHOLE 4
.Os
.Sh NAME
.Nm blackhole
-.Nd a
-.Xr sysctl 8
-MIB for manipulating behaviour in respect of refused SCTP, TCP, or UDP connection
-attempts
+.Nd quietly drop refused SCTP, TCP, or UDP packets
.Sh SYNOPSIS
.Cd sysctl net.inet.sctp.blackhole Ns Op = Ns Brq "0 | 1 | 2"
.Cd sysctl net.inet.tcp.blackhole Ns Op = Ns Brq "0 | 1 | 2 | 3"
diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4
index 7048df4593bf..3af952256d3a 100644
--- a/share/man/man4/bridge.4
+++ b/share/man/man4/bridge.4
@@ -36,7 +36,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd July 28, 2025
+.Dd October 13, 2025
.Dt IF_BRIDGE 4
.Os
.Sh NAME
@@ -272,53 +272,149 @@ by setting the
node using
.Xr sysctl 8 .
.Sh VLAN SUPPORT
-The
+Virtual LANs (VLANs), defined in the IEEE 802.1Q standard, allow traffic
+on a bridge to be segregated into separate logical networks which cannot
+communicate with each other.
+For example, two interfaces in VLAN 10 would be able to communicate
+with each other, but not with another interface in VLAN 20.
+.Pp
+Each VLAN is identified by a number between 1 and 4094 inclusive.
+By default, all traffic on the bridge is assigned to "VLAN 0",
+a pseudo-VLAN used for historical compatibility.
+When VLANs are in use on a bridge, it is recommended to explicitly
+assign all traffic to a VLAN rather than using VLAN 0.
+.Pp
+The bridge implements Independent VLAN Learning (IVL), meaning that
+host addresses are learned separately for each VLAN, and the same host
+address may exist on several different ports in different VLANs.
+.Pp
+If a
+.Xr vlan 4
+interface is configured on an interface which is also an
.Nm
-driver has full support for virtual LANs (VLANs).
-The bridge implements independent VLAN learning, i.e. MAC addresses are
-learned on a per-VLAN basis, and the same MAC address may be learned on
-multiple interfaces on different VLANs.
-Incoming frames with an 802.1Q tag will be assigned to the appropriate
-VLAN.
-.Pp
-Traffic sent to or from the host is not assigned to a VLAN by default.
-To allow the host to communicate on a VLAN, configure a
+member interface, all tagged frames will be processed by the
.Xr vlan 4
-interface on the bridge and (if necessary) assign IP addresses there.
-.Pp
-By default no access control is enabled, so any interface may
-participate in any VLAN.
-.Pp
-VLAN filtering may be enabled on a bridge using the
+interface and will not be visible to the bridge.
+This configuration is not recommended and may be unsupported in a
+future release.
+.Ss Tagged and untagged traffic
+Incoming frames on a member interface may be either tagged or untagged.
+Tagged frames contain an 802.1Q header indicating which VLAN the
+frame belongs to, while untagged frames do not.
+When a tagged frame is received, the frame is automatically assigned to
+the VLAN in the tag (subject to any configured VLAN access list),
+while untagged frames are assigned to the interface's configured
+Port VLAN ID (PVID), or to VLAN 0 if no PVID is configured.
+.Ss Assigning interfaces to VLANs
+An interface's PVID may be configured using the
.Xr ifconfig 8
-.Cm vlanfilter
-option.
-When VLAN filtering is enabled, an interface may only send and receive
-frames based on its configured VLAN access list.
+.Cm ifuntagged
+command:
+.Bd -literal -offset indent
+ifconfig bridge0 ifuntagged ix0 10
+.Ed
.Pp
-The interface's untagged VLAN ID may be configured using the
-.Xr ifconfig 8
+Or by using the
.Cm untagged
-option.
-If an untagged VLAN ID is configured, incoming frames will be assigned
-to that VLAN, and the interface may receive outgoing untagged frames
-in that VLAN.
-.Pp
-The tagged VLAN access list may be configured using the
-.Cm tagged ,
-.Cm +tagged
-and
-.Cm -tagged
-options to
-.Xr ifconfig 8 .
-An interface may send and receive tagged frames for any VLAN in its
-access list.
+option to
+.Cm addm :
+.Bd -literal -offset indent
+ifconfig bridge0 addm ix0 untagged 10
+.Ed
.Pp
-The bridge will automatically insert or remove 802.1q tags as needed,
-based on the interface configuration, when forwarding frames between
-interfaces.
-This tag processing is only done for interfaces with VLAN filtering
-enabled.
+This will assign all untagged traffic received on the interface to the
+specified VLAN, and any traffic transmitted on the interface in this
+VLAN will have its VLAN tag (if present) removed.
+Conversely, any traffic transmitted on the interface in a different
+VLAN will have a tag added, to allow the remote system to assign the
+traffic to the appropriate VLAN.
+.Ss Host communication in a VLAN
+Sometimes it is useful to allow the host itself to communicate in a VLAN,
+for example to provide routing to other hosts in the VLAN.
+To do this, create a
+.Xr vlan 4
+interface on top of the
+.Nm
+interface with the appropriate VLAN tag.
+For example, to allow the host to communicate in VLAN 10:
+.Bd -literal -offset indent
+ifconfig bridge0.10 create inet6 2001:db8::1/64
+.Ed
+.Ss Configuring the VLAN access list (VLAN filtering)
+For historical reasons, the default
+.Nm
+configuration allows all interfaces to send tagged traffic for any VLAN,
+meaning that VLANs do not provide security separation.
+To restrict which interfaces may communicate in which VLANs,
+enable VLAN filtering on the bridge:
+.Bd -literal -offset indent
+ifconfig bridge0 vlanfilter
+.Ed
+.Pp
+This has the following effects on bridge members:
+.Bl -bullet -offset indent
+.It
+No untagged frames will be accepted from a member interface unless
+the interface has a PVID configured.
+.It
+No tagged frames will be accepted from a member interface unless
+the VLAN identifier is present in the interface's VLAN access list.
+.It
+Frames with stacked tags (Q-in-Q) will not be accepted from a
+member interface unless the
+.Cm qinq
+option (see below) has been configured for that member.
+.El
+.Pp
+To configure the VLAN access list, use the
+.Xr ifconfig 8
+.Cm iftagged ,
+.Cm +iftagged
+or
+.Cm -iftagged
+commands.
+For example, to allow an interface to communicate in VLANs 10, 20,
+and any VLAN from 100 to 199:
+.Bd -literal -offset indent
+ifconfig bridge0 iftagged ix0 10,20,100-199
+.Ed
+.Ss IEEE 802.1ad (Q-in-Q) configuration
+IEEE 802.1ad, also called Q-in-Q or
+.Dq tag stacking ,
+allows a single Ethernet frame to contain multiple tags.
+This allows one Ethernet network to transport traffic between endpoints
+using its own VLAN tags without interfering with any pre-existing tags,
+and is often used in service provider networks to provide
+.Dq virtual wire
+Ethernet services.
+.Pp
+When VLAN filtering is enabled,
+.Nm
+does not permit member interfaces to send Q-in-Q frames, because in
+certain configuration this allows
+.Dq VLAN-hopping
+attacks on the bridge.
+For example, consider a bridge with port ix0 configured as a tagged
+port in VLAN 10, and port ix1 configured as untagged in VLAN 10 and
+tagged in VLAN 20.
+If ix0 is allowed to send Q-in-Q frames, then it can send a frame with
+two tags: one for VLAN 10, followed by one for VLAN 20.
+When the bridge forwards the frame to ix1, it will strip the VLAN tag
+for VLAN 10, then forward the frame to ix1 with the tag for VLAN 20
+intact, effectively allowing ix1 to send traffic on VLAN 20 even
+though the bridge configuration should not permit that.
+.Pp
+To permit an interface to send Q-in-Q frames, set the
+.Xr ifconfig 8
+.Cm qinq
+flag on the interface.
+This is only required on the interface which will send Q-in-Q frames,
+not the interface receiving the frames.
+.Pp
+Alternatively, set the
+.Cm defqinq
+flag on the bridge itself to enable Q-in-Q for all newly-added
+interfaces by default.
.Sh PACKET FILTERING
Packet filtering can be used with any firewall package that hooks in via the
.Xr pfil 9
@@ -537,6 +633,36 @@ ifconfig_wlan0="up ssid my_ap mode 11g"
ifconfig_fxp0="up"
.Ed
.Pp
+The following will cause a bridge to be created with two VLANs,
+10 and 20, where the
+.Dq Li em
+interfaces can only communicate in their assigned VLANs,
+while
+.Dq Li ix0
+is a trunk port which can communicate in either VLAN:
+.Bd -literal -offset indent
+cloned_interfaces="bridge0"
+ifconfig_bridge0="vlanfilter \e
+ addm em0 untagged 10 \e
+ addm em1 untagged 10 \e
+ addm em2 untagged 20 \e
+ addm em3 untagged 20 \e
+ addm ix0 tagged 10,20"
+ifconfig_em0="up"
+ifconfig_em1="up"
+ifconfig_em2="up"
+ifconfig_em3="up"
+ifconfig_ix0="up"
+.Ed
+.Pp
+The previous example could be extended to allow the host to
+communicate in VLANs 10 and 20:
+.Bd -literal -offset indent
+vlans_bridge0="10 20"
+ifconfig_bridge0_10_ipv6="inet6 2001:db8:0:10::1/64"
+ifconfig_bridge0_20_ipv6="inet6 2001:db8:0:20::1/64"
+.Ed
+.Pp
Consider a system with two 4-port Ethernet boards.
The following will cause a bridge consisting of all 8 ports with
Rapid Spanning Tree enabled to be created:
diff --git a/share/man/man4/cardbus.4 b/share/man/man4/cardbus.4
index 3b422b44c464..fa4bce65e095 100644
--- a/share/man/man4/cardbus.4
+++ b/share/man/man4/cardbus.4
@@ -52,5 +52,4 @@ Non-zero value causes the CIS parsing of the 32-bit CardBus card to be
much more verbose and include a complete CIS dump.
.El
.Sh SEE ALSO
-.Xr pccard 4 ,
.Xr pccbb 4
diff --git a/share/man/man4/cdceem.4 b/share/man/man4/cdceem.4
index 6d8caf53cc02..c2a282027241 100644
--- a/share/man/man4/cdceem.4
+++ b/share/man/man4/cdceem.4
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2019 Edward Tomasz Napierala <trasz@FreeBSD.org>
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -20,12 +23,12 @@
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
-.Dd November 7, 2019
+.Dd September 18, 2025
.Dt CDCEEM 4
.Os
.Sh NAME
.Nm cdceem
-.Nd "USB Communication Device Class Ethernet Emulation Model (CDC EEM) driver"
+.Nd USB Communication Device Class Ethernet Emulation Model driver
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
diff --git a/share/man/man4/ciss.4 b/share/man/man4/ciss.4
index 28d6556ecd85..d731aaddad38 100644
--- a/share/man/man4/ciss.4
+++ b/share/man/man4/ciss.4
@@ -1,7 +1,7 @@
.\" Written by Tom Rhodes
.\" This file is in the public domain.
.\"
-.Dd January 26, 2012
+.Dd November 6, 2025
.Dt CISS 4
.Os
.Sh NAME
@@ -87,9 +87,10 @@ might be solved by updating the firmware and/or setting the
.Va hw.ciss.nop_message_heartbeat
tunable to non-zero at boot time.
.Sh HARDWARE
-Controllers supported by the
+The
.Nm
-driver include:
+driver supports controllers implementing
+Common Interface for SCSI-3 Support Open Specification v1.04, including:
.Pp
.Bl -bullet -compact
.It
@@ -145,6 +146,8 @@ HP Smart Array P430i
.It
HP Smart Array P431
.It
+HP Smart Array P440ar
+.It
HP Smart Array P530
.It
HP Smart Array P531
diff --git a/share/man/man4/crypto.4 b/share/man/man4/crypto.4
index b1423752718e..4242a6631352 100644
--- a/share/man/man4/crypto.4
+++ b/share/man/man4/crypto.4
@@ -346,7 +346,6 @@ Destroys the session identified by
.El
.Sh SEE ALSO
.Xr aesni 4 ,
-.Xr hifn 4 ,
.Xr ipsec 4 ,
.Xr padlock 4 ,
.Xr safe 4 ,
diff --git a/share/man/man4/cxgbe.4 b/share/man/man4/cxgbe.4
index bfba202d1fec..77465a3ae590 100644
--- a/share/man/man4/cxgbe.4
+++ b/share/man/man4/cxgbe.4
@@ -29,7 +29,7 @@
.\"
.\" * Other names and brands may be claimed as the property of others.
.\"
-.Dd November 10, 2022
+.Dd September 29, 2025
.Dt CXGBE 4
.Os
.Sh NAME
@@ -73,6 +73,7 @@ driver uses different names for devices based on the associated ASIC:
.It T4 Ta cxgbe Ta t4nex Ta vcxgbe
.It T5 Ta cxl Ta t5nex Ta vcxl
.It T6 Ta cc Ta t6nex Ta vcc
+.It T7 Ta che Ta chnex Ta vche
.El
.Pp
Loader tunables with the hw.cxgbe prefix apply to all cards.
@@ -416,6 +417,8 @@ Support for T6 cards first appeared in
.Fx 11.1
and
.Fx 12.0 .
+Support for T7 cards first appeared in
+.Fx 15.0 .
.Sh AUTHORS
.An -nosplit
The
diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4
index 3c4894c03d62..a882a5204fb2 100644
--- a/share/man/man4/ddb.4
+++ b/share/man/man4/ddb.4
@@ -24,7 +24,7 @@
.\" any improvements or extensions that they make and grant Carnegie Mellon
.\" the rights to redistribute these changes.
.\"
-.Dd June 10, 2025
+.Dd October 31, 2025
.Dt DDB 4
.Os
.Sh NAME
@@ -604,12 +604,15 @@ The
modifier will print command line arguments for each process.
.\"
.Pp
-.It Ic show Cm all tcpcbs Ns Op Li / Ns Cm b Ns Cm l
+.It Ic show Cm all tcpcbs Ns Op Li / Ns Cm b Ns Cm i Ns Cm l
Show the same output as "show tcpcb" does, but for all
TCP control blocks within the system.
The
.Cm b
modifier will request BBLog entries to be printed.
+If the
+.Cm i
+modifier is provided, the corresponding IP control block is also shown.
Using the
.Cm l
modifier will limit the output to TCP control blocks, which are locked.
@@ -1106,7 +1109,7 @@ on i386.)
Not present on some platforms.
.\"
.Pp
-.It Ic show Cm tcpcb Ns Oo Li / Ns Cm b Oc Ar addr
+.It Ic show Cm tcpcb Ns Oo Li / Ns Cm b Ns Cm i Oc Ar addr
Print TCP control block
.Vt struct tcpcb
lying at address
@@ -1117,6 +1120,9 @@ header file.
The
.Cm b
modifier will request BBLog entries to be printed.
+If the
+.Cm i
+modifier is provided, the corresponding IP control block is also shown.
.\"
.Pp
.It Ic show Cm thread Op Ar addr | tid
diff --git a/share/man/man4/dtrace_callout_execute.4 b/share/man/man4/dtrace_callout_execute.4
new file mode 100644
index 000000000000..1154ed066b97
--- /dev/null
+++ b/share/man/man4/dtrace_callout_execute.4
@@ -0,0 +1,68 @@
+.\"
+.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd November 4, 2025
+.Dt DTRACE_CALLOUT_EXECUTE 4
+.Os
+.Sh NAME
+.Nm dtrace_callout_execute
+.Nd a DTrace provider for the callout API
+.Sh SYNOPSIS
+.Nm callout_execute Ns Cm :kernel::callout_start
+.Nm callout_execute Ns Cm :kernel::callout_end
+.Sh DESCRIPTION
+The
+.Nm callout_execute
+provider allows for tracing the
+.Xr callout 9
+mechanism.
+.Pp
+The
+.Nm callout_execute Ns Cm :kernel::callout_start
+probe fires just before a callout.
+.Pp
+The
+.Nm callout_execute Ns Cm :kernel::callout_end
+probe fires right after a callout.
+.Pp
+The only argument to the
+.Nm callout_execute
+probes,
+.Fa args[0] ,
+is a callout handler
+.Ft struct callout *
+of the invoked callout.
+.Sh EXAMPLES
+.Ss Example 1: Graph of Callout Execution Time
+The following
+.Xr d 7
+script generates a distribution graph of
+.Xr callout 9
+execution times:
+.Bd -literal -offset 2n
+callout_execute:::callout_start
+{
+ self->cstart = timestamp;
+}
+
+callout_execute:::callout_end
+{
+ @length = quantize(timestamp - self->cstart);
+}
+.Ed
+.Sh SEE ALSO
+.Xr dtrace 1 ,
+.Xr tracing 7 ,
+.Xr callout 9 ,
+.Xr SDT 9
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm callout_execute
+provider was written by
+.An Robert N. M. Watson Aq Mt rwatson@FreeBSD.org .
+.Pp
+This manual page was written by
+.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
diff --git a/share/man/man4/dtrace_io.4 b/share/man/man4/dtrace_io.4
index 30ec44768fbf..1699cebab8e9 100644
--- a/share/man/man4/dtrace_io.4
+++ b/share/man/man4/dtrace_io.4
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd April 18, 2015
+.Dd October 26, 2025
.Dt DTRACE_IO 4
.Os
.Sh NAME
@@ -84,7 +84,7 @@ The following script shows a per-process breakdown of total I/O by disk device:
io:::start
{
- @[args[1]->device_name, execname, pid] = sum(args[0]->bio_bcount);
+ @[args[1]->device_name, execname, pid] = sum(args[0]->bio_length);
}
END
diff --git a/share/man/man4/dtrace_lockstat.4 b/share/man/man4/dtrace_lockstat.4
index e308ca6c22ce..448de91a375f 100644
--- a/share/man/man4/dtrace_lockstat.4
+++ b/share/man/man4/dtrace_lockstat.4
@@ -22,12 +22,12 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd August 20, 2019
+.Dd September 3, 2025
.Dt DTRACE_LOCKSTAT 4
.Os
.Sh NAME
.Nm dtrace_lockstat
-.Nd a DTrace provider for tracing CPU scheduling events
+.Nd a DTrace provider for tracing kernel locking events
.Sh SYNOPSIS
.Fn lockstat:::adaptive-acquire "struct mtx *"
.Fn lockstat:::adaptive-release "struct mtx *"
diff --git a/share/man/man4/dtrace_pid.4 b/share/man/man4/dtrace_pid.4
new file mode 100644
index 000000000000..1acbdd097ba8
--- /dev/null
+++ b/share/man/man4/dtrace_pid.4
@@ -0,0 +1,99 @@
+.\"
+.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd November 6, 2025
+.Dt DTRACE_PID 4
+.Os
+.Sh NAME
+.Nm dtrace_pid
+.Nd a DTrace provider for dynamic userspace tracing based on function boundary instrumentation
+.Sh SYNOPSIS
+.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
+.\" XXX: For some reason Op renders here in bold, so use literal square
+.\" brackets instead.
+.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns No \&[ Ns Ar offset Ns No \&]
+.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
+.Sh DESCRIPTION
+The
+.Nm pid
+provider implements userspace dynamic tracing
+by instrumenting the entry and return of functions in userspace programs.
+Refer to
+.Xr dtrace_fbt 4
+for more details about function boundary instrumentation.
+.Pp
+The
+.Nm pid
+provider provides the following probes:
+.Bl -inset
+.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
+instruments the entry of the
+.Ar function .
+.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns Op Ar offset
+instruments the instruction within the
+.Ar function
+located at
+.Ar offset
+bytes (expressed as a hexadecimal integer).
+.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
+instruments the return from the
+.Ar function .
+.El
+.Ss Probe Arguments
+The arguments of the entry probe
+.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
+are the arguments of the traced function call.
+.Bl -column -offset indent "Entry Probe Argument" "Definition"
+.It Sy Entry Probe Argument Ta Sy Definition
+.It Ft uint64_t Fa arg0 Ta Function's first argument
+.It Ft uint64_t Fa arg1 Ta Function's second argument
+.It Ft uint64_t Fa arg2 Ta Function's third argument
+.It Fa ... Ta ...
+.El
+.Pp
+The offset probes
+.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns Op Ar offset
+do not define any arguments.
+Use
+.Va uregs[]
+to inspect the registers.
+.Pp
+The arguments of the return probe
+.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
+are the program counter and the function's return value.
+.Bl -column -offset indent "Return Probe Argument" "Definition"
+.It Sy Return Probe Argument Ta Sy Definition
+.It Ft uint64_t Fa arg0 Ta Program counter
+.It Ft uint64_t Fa arg1 Ta Function's return value
+.El
+.Pp
+Note that all probe arguments within the
+.Nm pid
+provider are of type
+.Ft uint64_t .
+.Sh SEE ALSO
+.Xr dtrace 1 ,
+.Xr dtrace_fbt 4 ,
+.Xr dtrace_kinst 4 ,
+.Xr elf 5 ,
+.Xr d 7 ,
+.Xr tracing 7
+.Rs
+.%A Brendan Gregg
+.%A Jim Mauro
+.%B DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD
+.%I Prentice Hall
+.%D 2011
+.%U https://www.brendangregg.com/dtracebook/
+.Re
+.Rs
+.%B The illumos Dynamic Tracing Guide
+.%O Chapter pid Provider
+.%D 2008
+.%U https://illumos.org/books/dtrace/chp-pid.html
+.Re
+.Sh AUTHORS
+This manual page was written by
+.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
diff --git a/share/man/man4/dtrace_priv.4 b/share/man/man4/dtrace_priv.4
new file mode 100644
index 000000000000..97bd4c20eb2c
--- /dev/null
+++ b/share/man/man4/dtrace_priv.4
@@ -0,0 +1,59 @@
+.\"
+.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd November 12, 2025
+.Dt DTRACE_PRIV 4
+.Os
+.Sh NAME
+.Nm dtrace_priv
+.Nd a DTrace provider for the kernel privilege checking API
+.Sh SYNOPSIS
+.Nm priv Ns Cm :kernel:priv_check:priv-ok
+.Nm priv Ns Cm :kernel:priv_check:priv-err
+.Sh DESCRIPTION
+The
+.Nm priv
+provider allows for tracing the
+.Xr priv 9
+API.
+.Pp
+The
+.Nm priv Ns Cm :kernel:priv_check:priv-ok
+probe fires upon a successful kernel privilege check.
+.Pp
+The
+.Nm priv Ns Cm :kernel:priv_check:priv-err
+probe fires upon a failed kernel privilege check.
+.Pp
+The only argument to the
+.Nm priv
+probes,
+.Fa args[0] ,
+is the requested privilege number
+.Ft int priv .
+.Sh EXAMPLES
+.Ss Example 1: Tracing Kernel Privilege Check Failures
+The following script captures an array of counters,
+one for each stack trace leading to a failed kernel privilege check:
+.Bd -literal -offset 2n
+priv:::priv-err
+{
+ @traces[stack()] = count();
+}
+.Ed
+.Sh SEE ALSO
+.Xr dtrace 1 ,
+.Xr tracing 7 ,
+.Xr priv 9 ,
+.Xr SDT 9
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm priv
+provider was written by
+.An Robert N. M. Watson Aq Mt rwatson@FreeBSD.org .
+.Pp
+This manual page was written by
+.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
diff --git a/share/man/man4/dtrace_vfs.4 b/share/man/man4/dtrace_vfs.4
new file mode 100644
index 000000000000..528d5da42f3d
--- /dev/null
+++ b/share/man/man4/dtrace_vfs.4
@@ -0,0 +1,97 @@
+.\"
+.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd November 3, 2025
+.Dt DTRACE_VFS 4
+.Os
+.Sh NAME
+.Nm dtrace_vfs
+.Nd a DTrace provider for Virtual File System
+.Sh SYNOPSIS
+.Sm off
+.Nm vfs Cm : fplookup : Ar function Cm : Ar name
+.Nm vfs Cm : namecache : Ar function Cm : Ar name
+.Nm vfs Cm : namei : Ar function Cm : Ar name
+.Nm vfs Cm : vop : Ar function Cm : Ar name
+.Sm on
+.Sh DESCRIPTION
+The DTrace
+.Nm vfs
+provider allows users to trace events in the
+.Xr VFS 9
+layer, the kernel interface for file systems on
+.Fx .
+.Pp
+Run
+.Ql dtrace -l -P vfs
+to list all
+.Nm vfs
+probes.
+Add
+.Fl v
+to generate program stability reports,
+which contain information about the number of probe arguments and their types.
+.Pp
+The
+.Cm fplookup
+module defines a single probe,
+.Fn vfs:fplookup:lookup:done "struct nameidata *ndp" "int line" "bool status_code" ,
+that instruments the fast path lookup code in
+.Xr VFS 9 .
+.Pp
+The
+.Cm namecache
+module provides probes related to the
+.Xr VFS 9
+cache.
+Consult the source code in
+.Pa src/sys/kern/vfs_cache.c
+for more details.
+.Pp
+The
+.Cm namei
+module manages probes related to pathname translation and lookup operations.
+Refer to
+.Xr namei 9
+to learn more.
+.Pp
+The
+.Cm vop
+module contains probes related to the functions responsible for
+.Xr vnode 9
+operations.
+.Sh COMPATIBILITY
+This provider is specific to
+.Fx .
+.Sh EXAMPLES
+Check what lookups failed to be handled in a lockless manner:
+.Bd -literal -offset 2n
+# dtrace -n 'vfs:fplookup:lookup:done { @[arg1, arg2] = count(); }'
+.Ed
+.Sh SEE ALSO
+.Xr dtrace 1 ,
+.Xr d 7 ,
+.Xr SDT 9 ,
+.Xr namei 9 ,
+.Xr VFS 9
+.Rs
+.%A Brendan Gregg
+.%A Jim Mauro
+.%B DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD
+.%I Prentice Hall
+.%P pp. 335\(en351
+.%D 2011
+.%U https://www.brendangregg.com/dtracebook/
+.Re
+.Sh AUTHORS
+.An -nosplit
+The
+.Fx
+.Nm vfs
+provider was written by
+.An Robert Watson Aq Mt rwatson@FreeBSD.org .
+.Pp
+This manual page was written by
+.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4
index 342b15b5612a..b406c423361b 100644
--- a/share/man/man4/epair.4
+++ b/share/man/man4/epair.4
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd August 12, 2025
+.Dd September 4, 2025
.Dt EPAIR 4
.Os
.Sh NAME
@@ -108,6 +108,29 @@ As with any other Ethernet interface,
can have a
.Xr vlan 4
configured on top of it.
+.Pp
+The
+.Nm
+has RXCSUM and RXCSUM6 enabled because it may receive a packet where the
+checksum has already been validated by a physical interface.
+The
+.Nm
+supports TXCSUM and TXCSUM6 for TCP and UDP, but only by forwarding the order
+to compute the checksum.
+Thus, when using an
+.Nm
+interface, a TCP or UDP sender can offload checksum computation
+to a physical interface.
+Note that, in case the packet does not leave the host, the checksum is
+unnecessary and will be ignored if offloaded.
+Such packets contain an incorrect checksum, since it is not computed yet.
+TXCSUM and TXCSUM6 are synchronized between the
+.Nm
+interface pair (i.e., enabling/disabling the capability on one end
+enables/disables it on the other end).
+In case one end is in a bridge and the bridge disabled TXCSUM or TXCSUM6,
+this avoids a sender to send packets with checksum offloading into the
+bridge by using the other end.
.Sh SEE ALSO
.Xr ioctl 2 ,
.Xr altq 4 ,
diff --git a/share/man/man4/exca.4 b/share/man/man4/exca.4
index 555e459b7db4..d43d359bfb25 100644
--- a/share/man/man4/exca.4
+++ b/share/man/man4/exca.4
@@ -33,5 +33,4 @@ The
module is used to implement the Intel ExCA interface to
PC Cards.
.Sh SEE ALSO
-.Xr pccbb 4 ,
-.Xr pcic 4
+.Xr pccbb 4
diff --git a/share/man/man4/fdc.4 b/share/man/man4/fdc.4
index 929baf3a234b..937be2077b26 100644
--- a/share/man/man4/fdc.4
+++ b/share/man/man4/fdc.4
@@ -25,7 +25,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd October 10, 2023
+.Dd November 16, 2025
.Dt FDC 4
.Os
.Sh NAME
@@ -47,6 +47,12 @@ In
.Cd hint.fd.1.at="fdc0"
.Cd hint.fd.1.drive="1"
.Cd hint.fd.1.flags="0x0"
+.Sh DEPRECATION NOTICE
+The
+.Nm
+driver is deprecated and may not be present in
+.Fx 16.0
+and later.
.Sh DESCRIPTION
.Ss Device Usage
This driver provides access to floppy disk drives.
@@ -350,13 +356,15 @@ Print when an unknown IOCTL is used.
.El
.It Dv debug.fdc.fifo
For enhanced controllers, allows a non-default FIFO
-threshold setting. The default is 8 bytes.
+threshold setting.
+The default is 8 bytes.
.It Dv debug.fdc.retries
-Maximum number of retries to attempt. The default is 10.
+Maximum number of retries to attempt.
+The default is 10.
.It Dv debug.fdc.spec1
Specification byte one (step-rate + head unload).
-The default step rate is 6 ms. The default head unload
-time is 240 ms.
+The default step rate is 6 ms.
+The default head unload time is 240 ms.
.It Dv debug.fdc.spec2
Specification byte two (head load time + no-dma).
The default head load time is 16 ms, and no-dma is 0
diff --git a/share/man/man4/geom_zero.4 b/share/man/man4/geom_zero.4
new file mode 100644
index 000000000000..82e74618515f
--- /dev/null
+++ b/share/man/man4/geom_zero.4
@@ -0,0 +1,174 @@
+.\"
+.\" Copyright (c) 2019 Greg White <gkwhite@gmail.com>. All rights reserved.
+.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd November 9, 2025
+.Dt GEOM_ZERO 4
+.Os
+.Sh NAME
+.Nm gzero ,
+.Nm geom_zero
+.Nd GEOM-based zero disk/block device
+.Sh SYNOPSIS
+.Cd "options GEOM_ZERO"
+.Pp
+In
+.Xr loader.conf 5
+or
+.Xr sysctl.conf 5 :
+.Cd kern.geom.zero.byte
+.Cd kern.geom.zero.clear
+.Sh DESCRIPTION
+.Nm
+is a
+.Xr GEOM 4
+device simulating a one-exabyte disk.
+It throws away any data written to it,
+and returns the value of
+.Va kern.geom.zero.byte
+for every byte read from it.
+.Pp
+.Nm
+differs from
+.Xr zero 4 ,
+which is a regular character device and has an infinite length,
+while
+.Pa /dev/gzero
+is a
+.Xr GEOM 4
+provider of large, but limited, size.
+.Pp
+Consult
+.Xr geom 8
+for instructions on how to use the supported commands of the
+.Xr GEOM 4
+.Nm ZERO
+class.
+.Pp
+.Nm
+is useful for benchmarking performance of GEOM and GEOM classes
+where compression of the data does not affect the results
+.Po blocks from
+.Pa /dev/gzero
+compress exceptionally well
+.Pc .
+Examples of such benchmarks include
+comparing the speed of two disk encryption algorithms and
+comparing a hardware versus software implementation
+of a single encryption algorithm.
+.Sh MIB VARIABLES
+The following variables are available as both
+.Xr sysctl 8
+variables and
+.Xr loader 8
+tunables:
+.Bl -tag -width "kern.geom.zero.clear"
+.It Va kern.geom.zero.byte
+This variable sets the fill byte of the
+.Nm
+device.
+Default:
+.Ql 0 .
+.It Va kern.geom.zero.clear
+This variable controls the clearing of the read data buffer.
+If set to
+.Ql 0 ,
+.Nm
+will not copy any data into the read data buffers
+and just return the read data buffers as they are without modifying them.
+In particular, it will not fill the read buffer with the value of
+.Va kern.geom.zero.byte .
+This is useful for read benchmarking to reduce the measurement noise
+caused by extra memory initialization.
+Default:
+.Ql 1 .
+.El
+.Sh FILES
+.Bl -tag -width /dev/gzero
+.It Pa /dev/gzero
+The
+.Nm
+device.
+.El
+.Sh EXAMPLES
+Create the
+.Pa /dev/gzero
+device by loading the
+.Nm geom_zero
+kernel module:
+.Bd -literal -offset indent
+# geom zero load
+.Ed
+.Pp
+Show information about the
+.Nm
+device:
+.Bd -literal -offset indent
+# geom zero list
+Geom name: gzero
+Providers:
+1. Name: gzero
+ Mediasize: 1152921504606846976 (1.0E)
+ Sectorsize: 512
+ Mode: r0w0egzero0
+.Ed
+.Pp
+Set the fill byte of the
+.Nm
+device to 70
+.Po decimal for letter
+.Dq F
+in
+.Xr ascii 7
+.Pc :
+.Bd -literal -offset indent
+# sysctl kern.geom.zero.byte=70
+kern.geom.zero.byte: 0 -> 70
+# head -c 1 /dev/gzero
+F
+.Ed
+.Pp
+Benchmark read and write throughput of
+.Xr geli 8 Ap s
+default encryption algorithm with a 4-KiB sector size:
+.Bd -literal -offset indent
+# geom zero load
+# geli onetime -s 4096 gzero
+# sysctl kern.geom.zero.clear=0
+# dd if=/dev/gzero.eli of=/dev/zero bs=4k count=$((1024 * 256))
+262144+0 records in
+262144+0 records out
+1073741824 bytes transferred in 1.258195 secs (853398307 bytes/sec)
+# dd if=/dev/zero of=/dev/gzero.eli bs=4k count=$((1024 * 256))
+262144+0 records in
+262144+0 records out
+1073741824 bytes transferred in 1.663118 secs (645619658 bytes/sec)
+.Ed
+.Sh SEE ALSO
+.Xr GEOM 4 ,
+.Xr zero 4 ,
+.Xr geom 8 ,
+.Xr sysctl 8 ,
+.Xr bio 9
+.Sh HISTORY
+A
+.Nm
+device first appeared in
+.Fx 6 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+device was written by
+.An Paweł Jakub Dawidek Aq Mt pjd@FreeBSD.org .
+.Pp
+The
+.Nm
+manual page was originally written by
+.An Greg White Aq Mt gkwhite@gmail.com
+and rewritten by
+.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org
+before landing in
+.Fx .
diff --git a/share/man/man4/gpioled.4 b/share/man/man4/gpioled.4
index 646e2ff2a8f0..45457d20d298 100644
--- a/share/man/man4/gpioled.4
+++ b/share/man/man4/gpioled.4
@@ -70,7 +70,20 @@ Which pin on the GPIO interface to map to this instance.
Please note that this mask should only ever have one bit set
(any other bits - i.e., pins - will be ignored).
.It Va hint.gpioled.%d.invert
-If set to 1, the pin will be set to 0 to light the LED, and 1 to clear it.
+Use pin inversion. If set to 1, the pin will be set to 0 to light the LED, and 1
+to clear it.
+.It Va hint.gpioled.%d.invmode
+Whether or not to use hardware support when pin inversion is requested. Must be
+one of:
+.Bl -tag
+.It Va auto
+Use hardware pin inversion if available, else fallback to software pin
+inversion. This is the default.
+.It Va hw
+Use hardware pin inversion.
+.It Va sw
+Use software pin inversion.
+.El
.It Va hint.gpioled.%d.state
The initial state of the LED when the driver takes control over it.
If set to 1 or 0, the LED will be on or off correspondingly.
diff --git a/share/man/man4/hgame.4 b/share/man/man4/hgame.4
index 3309833c1720..94ad4f5ff4a4 100644
--- a/share/man/man4/hgame.4
+++ b/share/man/man4/hgame.4
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2020 Vladimir Kondratyev <wulf@FreeBSD.org>
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -21,45 +24,62 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd September 14, 2020
+.Dd November 12, 2025
.Dt HGAME 4
.Os
.Sh NAME
.Nm hgame
-.Nd Generic HID game controller (joystick/gamepad) driver
+.Nd generic HID gamepad, joystick, and controller evdev driver
.Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your
-kernel configuration file:
-.Bd -ragged -offset indent
-.Cd "device hgame"
-.Cd "device hid"
-.Cd "device hidbus"
-.Cd "device hidmap"
-.Cd "device evdev"
-.Ed
+.Cd device hgame
+.Cd device hid
+.Cd device hidbus
+.Cd device hidmap
+.Cd device evdev
+.Pp
+In
+.Xr sysctl.conf 5 :
+.Cd dev.hgame.X.debug
.Pp
-Alternatively, to load the driver as a
-module at boot time, place the following line in
+In
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-hgame_load="YES"
-.Ed
+.Cd hw.hid.hgame.debug
+.Cd hgame_load
.Sh DESCRIPTION
The
.Nm
-driver provides support for generic game controllers (joysticks/gamepads)
-that attach to the HID transport backend.
-See
-.Xr iichid 4
-or
-.Xr usbhid 4 .
+driver supports generic game controllers
+that attach to the HID transport backend,
+and presents them to applications over the
+.Sy evdev
+interface.
.Pp
-The
+If the appropriate hardware is detected,
+the driver will be loaded automatically by
+.Xr devmatch 8 .
+To load the driver manually at boot time, set the
+.Va hgame_load
+variable to
+.Ar YES
+at the
+.Xr loader 8
+prompt, or add it to
+.Xr loader.conf 5 .
+.Pp
+To give user applications access to the game controllers,
+allow user access to the
.Pa /dev/input/event*
-device presents the game controller as a
-.Ar evdev
-type device.
+nodes with
+.Xr devfs.rules 5 .
+.Sh HARDWARE
+The
+.Nm
+driver supports HID gamepads, joysticks, and controllers such as:
+.Pp
+.Bl -bullet -compact
+.It
+8bitdo USB Wireless Adapter 2
+.El
.Sh SYSCTL VARIABLES
The following variable is available as both
.Xr sysctl 8
@@ -68,25 +88,31 @@ variable and
tunable:
.Bl -tag -width indent
.It Va dev.hgame.X.debug
-Debug output level, where 0 is debugging disabled and larger values increase
-debug message verbosity.
+Debug output level,
+where 0 is debugging disabled and
+larger values increase debug message verbosity.
Default is 0.
.El
.Pp
-It's default value is set with
+Its default value is set with
.Xr loader 8
tunable:
.Bl -tag -width indent
.It Va hw.hid.hgame.debug
.El
.Sh FILES
-.Bl -tag -width /dev/input/event* -compact
+.Bl -tag -width "/dev/input/event*" -compact
.It Pa /dev/input/event*
-input event device node.
+input event device
+.Pq Sy evdev
+node
.El
.Sh SEE ALSO
.Xr iichid 4 ,
-.Xr usbhid 4
+.Xr ps4dshock 4 ,
+.Xr usbhid 4 ,
+.Xr xb360gp 4 ,
+.Xr devfs.rules 5
.Sh HISTORY
The
.Nm
diff --git a/share/man/man4/hifn.4 b/share/man/man4/hifn.4
deleted file mode 100644
index 22494fcb6c6d..000000000000
--- a/share/man/man4/hifn.4
+++ /dev/null
@@ -1,132 +0,0 @@
-.\" $OpenBSD: hifn.4,v 1.32 2002/09/26 07:55:40 miod Exp $
-.\"
-.\" Copyright (c) 2000 Theo de Raadt
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
-.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-.\" POSSIBILITY OF SUCH DAMAGE.
-.\"
-.Dd July 29, 2020
-.Dt HIFN 4
-.Os
-.Sh NAME
-.Nm hifn
-.Nd Hifn 7751/7951/7811/7955/7956 crypto accelerator
-.Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your
-kernel configuration file:
-.Bd -ragged -offset indent
-.Cd "device crypto"
-.Cd "device cryptodev"
-.Cd "device hifn"
-.Ed
-.Pp
-Alternatively, to load the driver as a
-module at boot time, place the following line in
-.Xr loader.conf 5 :
-.Bd -literal -offset indent
-hifn_load="YES"
-.Ed
-.Sh DESCRIPTION
-The
-.Nm
-driver supports various cards containing the Hifn 7751, 7951,
-7811, 7955, and 7956 chipsets.
-.Pp
-The
-.Nm
-driver registers itself to accelerate
-AES (7955 and 7956 only),
-SHA1, and SHA1-HMAC operations for
-.Xr ipsec 4
-and
-.Xr crypto 4 .
-.Pp
-The Hifn
-.Tn 7951 ,
-.Tn 7811 ,
-.Tn 7955 ,
-and
-.Tn 7956
-will also supply data to the kernel
-.Xr random 4
-subsystem.
-.Sh HARDWARE
-The
-.Nm
-driver supports various cards containing the Hifn 7751, 7951,
-7811, 7955, and 7956
-chipsets, such as:
-.Bl -tag -width namenamenamena -offset indent
-.It Invertex AEON
-No longer being made.
-Came as 128KB SRAM model, or 2MB DRAM model.
-.It Hifn 7751
-Reference board with 512KB SRAM.
-.It PowerCrypt
-Comes with 512KB SRAM.
-.It XL-Crypt
-Only board based on 7811 (which is faster than 7751 and has
-a random number generator).
-.It NetSec 7751
-Supports the most IPsec sessions, with 1MB SRAM.
-.It Soekris Engineering vpn1201 and vpn1211
-See
-.Pa http://www.soekris.com/ .
-Contains a 7951 and supports symmetric and random number operations.
-.It Soekris Engineering vpn1401 and vpn1411
-See
-.Pa http://www.soekris.com/ .
-Contains a 7955 and supports symmetric and random number operations.
-.El
-.Sh SEE ALSO
-.Xr crypto 4 ,
-.Xr intro 4 ,
-.Xr ipsec 4 ,
-.Xr random 4 ,
-.Xr crypto 7 ,
-.Xr crypto 9
-.Sh HISTORY
-The
-.Nm
-device driver appeared in
-.Ox 2.7 .
-The
-.Nm
-device driver was imported to
-.Fx 5.0 .
-.Sh CAVEATS
-The Hifn 9751 shares the same PCI ID.
-This chip is basically a 7751, but with the cryptographic functions missing.
-Instead, the 9751 is only capable of doing compression.
-Since we do not currently attempt to use any of these chips to do
-compression, the 9751-based cards are not useful.
-.Pp
-Support for the 7955 and 7956 is incomplete; the asymmetric crypto
-facilities are to be added and the performance is suboptimal.
-.Sh BUGS
-The 7751 chip starts out at initialization by only supporting compression.
-A proprietary algorithm, which has been reverse engineered, is required to
-unlock the cryptographic functionality of the chip.
-It is possible for vendors to make boards which have a lock ID not known
-to the driver, but all vendors currently just use the obvious ID which is
-13 bytes of 0.
diff --git a/share/man/man4/ice.4 b/share/man/man4/ice.4
index 3f7a9017756d..a54a6b3fd6f3 100644
--- a/share/man/man4/ice.4
+++ b/share/man/man4/ice.4
@@ -1,4 +1,4 @@
-.\"-
+.\"
.\" SPDX-License-Identifier: BSD-3-Clause
.\"
.\" Copyright (c) 2019-2020, Intel Corporation
@@ -32,62 +32,105 @@
.\"
.\" * Other names and brands may be claimed as the property of others.
.\"
-.Dd March 28, 2025
+.Dd November 5, 2025
.Dt ICE 4
.Os
.Sh NAME
.Nm ice
-.Nd "Intel\(rg Ethernet 800 Series Driver"
+.Nd Intel Ethernet 800 Series 1GbE to 200GbE driver
.Sh SYNOPSIS
-To compile this driver into the kernel, place the following lines in your
-kernel configuration file:
-.Bd -literal -offset indent
.Cd device iflib
.Cd device ice
-.Ed
.Pp
-To load the driver as a module at boot time, place the following lines in
+In
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-if_ice_load="YES"
-.Ed
+.Cd if_ice_load
+.Cd hw.ice.enable_health_events
+.Cd hw.ice.irdma
+.Cd hw.ice.irdma_max_msix
+.Cd hw.ice.debug.enable_tx_fc_filter
+.Cd hw.ice.debug.enable_tx_lldp_filter
+.Cd hw.ice.debug.ice_tx_balance_en
+.Pp
+In
+.Xr sysctl.conf 5
+or
+.Xr loader.conf 5 :
+.Cd dev.ice.#.current_speed
+.Cd dev.ice.#.fw_version
+.Cd dev.ice.#.ddp_version
+.Cd dev.ice.#.pba_number
+.Cd dev.ice.#.hw.mac.*
.Sh DESCRIPTION
-.Ss Features
The
.Nm
driver provides support for any PCI Express adapter or LOM
-(LAN On Motherboard)
-in the Intel\(rg Ethernet 800 Series.
-As of this writing, the series includes devices with these model numbers:
+.Pq LAN On Motherboard
+in the Intel Ethernet 800 Series.
+.Pp
+The following topics are covered in this manual:
.Pp
.Bl -bullet -compact
.It
-Intel\(rg Ethernet Controller E810\-C
+.Sx Features
+.It
+.Sx Dynamic Device Personalization
+.It
+.Sx Jumbo Frames
+.It
+.Sx Remote Direct Memory Access
+.It
+.Sx RDMA Monitoring
+.It
+.Sx Data Center Bridging
+.It
+.Sx L3 QoS Mode
+.It
+.Sx Firmware Link Layer Discovery Protocol Agent
+.It
+.Sx Link-Level Flow Control
+.It
+.Sx Forward Error Correction
.It
-Intel\(rg Ethernet Controller E810\-XXV
+.Sx Speed and Duplex Configuration
.It
-Intel\(rg Ethernet Connection E822\-C
+.Sx Disabling physical link when the interface is brought down
.It
-Intel\(rg Ethernet Connection E822\-L
+.Sx Firmware Logging
.It
-Intel\(rg Ethernet Connection E823\-C
+.Sx Debug Dump
.It
-Intel\(rg Ethernet Connection E823\-L
+.Sx Debugging PHY Statistics
.It
-Intel\(rg Ethernet Connection E825\-C
+.Sx Transmit Balancing
.It
-Intel\(rg Ethernet Connection E830\-C
+.Sx Thermal Monitoring
.It
-Intel\(rg Ethernet Connection E830\-CC
+.Sx Network Memory Buffer Allocation
.It
-Intel\(rg Ethernet Connection E830\-L
+.Sx Additional Utilities
.It
-Intel\(rg Ethernet Connection E830\-XXV
+.Sx Optics and auto-negotiation
+.It
+.Sx PCI-Express Slot Bandwidth
+.It
+.Sx HARDWARE
+.It
+.Sx LOADER TUNABLES
+.It
+.Sx SYSCTL VARIABLES
+.It
+.Sx INTERRUPT STORMS
+.It
+.Sx IOVCTL OPTIONS
+.It
+.Sx SUPPORT
+.It
+.Sx SEE ALSO
+.It
+.Sx HISTORY
.El
-.Pp
-For questions related to hardware requirements, refer to the documentation
-supplied with your adapter.
-.Pp
+.Ss Features
Support for Jumbo Frames is provided via the interface MTU setting.
Selecting an MTU larger than 1500 bytes with the
.Xr ifconfig 8
@@ -131,21 +174,20 @@ downloading a new driver or DDP package.
Safe Mode only applies to the affected physical function and does not impact
any other PFs.
See the
-.Dq Intel\(rg Ethernet Adapters and Devices User Guide
+.Dq Intel Ethernet Adapters and Devices User Guide
for more details on DDP and Safe Mode.
.Pp
-If you encounter issues with the DDP package file, you may need to download
-an updated driver or
+If issues are encountered with the DDP package file, an updated driver or
.Sy ice_ddp
-module.
+module may need to be downloaded.
See the log messages for more information.
.Pp
-You cannot update the DDP package if any PF drivers are already loaded.
+The DDP package cannot be updated if any PF drivers are already loaded.
To overwrite a package, unload all PFs and then reload the driver with the
new package.
.Pp
-You can only use one DDP package per driver, even if you have more than one
-device installed that uses the driver.
+Only one DDP package can be used per driver,
+even if more than one installed device uses the driver.
.Pp
Only the first loaded PF per device can download a package for that device.
.Ss Jumbo Frames
@@ -164,9 +206,9 @@ each jumbo packet.
This should help to avoid buffer starvation issues when allocating receive
packets.
.Pp
-Packet loss may have a greater impact on throughput when you use jumbo
-frames.
-If you observe a drop in performance after enabling jumbo frames, enabling
+Packet loss may have a greater impact on throughput when jumbo frames are in
+use.
+If a drop in performance is observed after enabling jumbo frames, enabling
flow control may mitigate the issue.
.Ss Remote Direct Memory Access
Remote Direct Memory Access, or RDMA, allows a network device to transfer data
@@ -178,20 +220,20 @@ RoCEv2 (RDMA over Converged Ethernet) protocols.
The major difference is that iWARP performs RDMA over TCP, while RoCEv2 uses
UDP.
.Pp
-Devices based on the Intel\(rg Ethernet 800 Series do not support RDMA when
+Devices based on the Intel Ethernet 800 Series do not support RDMA when
operating in multiport mode with more than 4 ports.
.Pp
For detailed installation and configuration information for RDMA, see
.Xr irdma 4 .
.Ss RDMA Monitoring
-For debugging/testing purposes, you can use sysctl to set up a mirroring
+For debugging/testing purposes, a sysctl can be used to set up a mirroring
interface on a port.
The interface can receive mirrored RDMA traffic for packet
analysis tools like
.Xr tcpdump 1 .
This mirroring may impact performance.
.Pp
-To use RDMA monitoring, you may need to reserve more MSI\-X interrupts.
+To use RDMA monitoring, more MSI-X interrupts may need to be reserved.
Before the
.Nm
driver loads, configure the following tunable provided by
@@ -200,7 +242,7 @@ driver loads, configure the following tunable provided by
dev.ice.<interface #>.iflib.use_extra_msix_vectors=4
.Ed
.Pp
-You may need to adjust the number of extra MSI\-X interrupt vectors.
+The number of extra MSI-X interrupt vectors may need to be adjusted.
.Pp
To create/delete the interface:
.Bd -literal -offset indent
@@ -236,14 +278,15 @@ DCB is normally configured on the network using the DCBX protocol (802.1Qaz), a
specialization of LLDP (802.1AB). The
.Nm
driver supports the following mutually exclusive variants of DCBX support:
+.Pp
.Bl -bullet -compact
.It
-Firmware\-based LLDP Agent
+Firmware-based LLDP Agent
.It
-Software\-based LLDP Agent
+Software-based LLDP Agent
.El
.Pp
-In firmware\-based mode, firmware intercepts all LLDP traffic and handles DCBX
+In firmware-based mode, firmware intercepts all LLDP traffic and handles DCBX
negotiation transparently for the user.
In this mode, the adapter operates in
.Dq willing
@@ -253,30 +296,30 @@ The local user can only query the negotiated DCB configuration.
For information on configuring DCBX parameters on a switch, please consult the
switch manufacturer'ss documentation.
.Pp
-In software\-based mode, LLDP traffic is forwarded to the network stack and user
+In software-based mode, LLDP traffic is forwarded to the network stack and user
space, where a software agent can handle it.
In this mode, the adapter can operate in
.Dq nonwilling
DCBX mode and DCB configuration can be both queried and set locally.
-This mode requires the FW\-based LLDP Agent to be disabled.
+This mode requires the FW-based LLDP Agent to be disabled.
.Pp
-Firmware\-based mode and software\-based mode are controlled by the
+Firmware-based mode and software-based mode are controlled by the
.Dq fw_lldp_agent
sysctl.
Refer to the Firmware Link Layer Discovery Protocol Agent section for more
information.
.Pp
-Link\-level flow control and priority flow control are mutually exclusive.
+Link-level flow control and priority flow control are mutually exclusive.
The ice driver will disable link flow control when priority flow control
is enabled on any traffic class (TC).
It will disable priority flow control when link flow control is enabled.
.Pp
-To enable/disable priority flow control in software\-based DCBX mode:
+To enable/disable priority flow control in software-based DCBX mode:
.Bd -literal -offset indent
sysctl dev.ice.<interface #>.pfc=1 (or 0 to disable)
.Ed
.Pp
-Enhanced Transmission Selection (ETS) allows you to assign bandwidth to certain
+Enhanced Transmission Selection (ETS) allows bandwidth to be assigned to certain
TCs, to help ensure traffic reliability.
To view the assigned ETS configuration, use the following:
.Bd -literal -offset indent
@@ -298,10 +341,10 @@ For example, to map UP 0 and 1 to TC 0, UP 2 and 3 to TC 1, UP 4 and
.Bd -literal -offset indent
sysctl dev.ice.<interface #>.up2tc_map=0,0,1,1,2,2,3,3
.Ed
-.Ss L3 QoS mode
+.Ss L3 QoS Mode
The
.Nm
-driver supports setting DSCP\-based Layer 3 Quality of Service (L3 QoS)
+driver supports setting DSCP-based Layer 3 Quality of Service (L3 QoS)
in the PF driver.
The driver initializes in L2 QoS mode by default; L3 QoS is disabled by
default.
@@ -310,13 +353,13 @@ Use the following sysctl to enable or disable L3 QoS:
sysctl dev.ice.<interface #>.pfc_mode=1 (or 0 to disable)
.Ed
.Pp
-If you disable L3 QoS mode, it returns to L2 QoS mode.
+If L3 QoS mode is disabled, it returns to L2 QoS mode.
.Pp
To map a DSCP value to a traffic class, separate the values by commas.
-For example, to map DSCPs 0\-3 and DSCP 8 to DCB TCs 0\-3 and 4, respectively:
+For example, to map DSCPs 0-3 and DSCP 8 to DCB TCs 0-3 and 4, respectively:
.Bd -literal -offset indent
-sysctl dev.ice.<interface #>.dscp2tc_map.0\-7=0,1,2,3,0,0,0,0
-sysctl dev.ice.<interface #>.dscp2tc_map.8\-15=4,0,0,0,0,0,0,0
+sysctl dev.ice.<interface #>.dscp2tc_map.0-7=0,1,2,3,0,0,0,0
+sysctl dev.ice.<interface #>.dscp2tc_map.8-15=4,0,0,0,0,0,0,0
.Ed
.Pp
To change the DSCP mapping back to the default traffic class, set all the
@@ -327,25 +370,25 @@ To view the currently configured mappings, use the following:
sysctl dev.ice.<interface #>.dscp2tc_map
.Ed
.Pp
-L3 QoS mode is not available when FW\-LLDP is enabled.
+L3 QoS mode is not available when FW-LLDP is enabled.
.Pp
-You also cannot enable FW\-LLDP if L3 QoS mode is active.
+FW-LLDP cannot be enabled if L3 QoS mode is active.
.Pp
-Disable FW\-LLDP before switching to L3 QoS mode.
+Disable FW-LLDP before switching to L3 QoS mode.
.Pp
Refer to the
.Sx Firmware Link Layer Discovery Protocol Agent
-section in this README for more information on disabling FW\-LLDP.
+section in this README for more information on disabling FW-LLDP.
.Ss Firmware Link Layer Discovery Protocol Agent
-Use sysctl to change FW\-LLDP settings.
-The FW\-LLDP setting is per port and persists across boots.
+Use sysctl to change FW-LLDP settings.
+The FW-LLDP setting is per port and persists across boots.
.Pp
-To enable the FW\-LLDP Agent:
+To enable the FW-LLDP Agent:
.Bd -literal -offset indent
sysctl dev.ice.<interface #>.fw_lldp_agent=1
.Ed
.Pp
-To disable the FW\-LLDP Agebt:
+To disable the FW-LLDP Agebt:
.Bd -literal -offset indent
sysctl dev.ice.<interface #>.fw_lldp_agent=0
.Ed
@@ -355,15 +398,18 @@ To check the current LLDP setting:
sysctl dev.ice.<interface #>.fw_lldp_agent
.Ed
.Pp
-You must enable the UEFI HII LLDP Agent attribute for this setting
+The UEFI HII LLDP Agent attribute must be enabled for this setting
to take effect.
If the
.Dq LLDP AGENT
-attribute is set to disabled, you cannot enable the FW\-LLDP Agent from the
+attribute is set to disabled, the FW-LLDP Agent cannot be enabled from the
driver.
-.Ss Link\-Level Flow Control (LFC)
-Ethernet Flow Control (IEEE 802.3x) can be configured with sysctl to enable
-receiving and transmitting pause frames for
+.Ss Link-Level Flow Control
+Ethernet Flow Control
+.Pq IEEE 802.3x or LFC
+can be configured with
+.Xr sysctl 8
+to enable receiving and transmitting pause frames for
.Nm .
When transmit is enabled, pause frames are generated when the receive packet
buffer crosses a predefined threshold.
@@ -416,16 +462,16 @@ provide a stable link without FEC.
.Pp
For devices to benefit from this feature, link partners must have FEC enabled.
.Pp
-If you enable the sysctl
-.Em allow_no_fec_modules_in_auto
-Auto FEC negotiation will include
+If the
+.Va allow_no_fec_modules_in_auto
+sysctl is enabled Auto FEC negotiation will include
.Dq No FEC
-in case your link partner does not have FEC enabled or is not FEC capable:
+in case the link partner does not have FEC enabled or is not FEC capable:
.Bd -literal -offset indent
sysctl dev.ice.<interface #>.allow_no_fec_modules_in_auto=1
.Ed
.Pp
-NOTE: This flag is currently not supported on the Intel\(rg Ethernet 830
+NOTE: This flag is currently not supported on the Intel Ethernet 830
Series.
.Pp
To show the current FEC settings that are negotiated on the link:
@@ -440,32 +486,32 @@ sysctl dev.ice.<interface #>.requested_fec
.Pp
To see the valid FEC modes for the link:
.Bd -literal -offset indent
-sysctl \-d dev.ice.<interface #>.requested_fec
+sysctl -d dev.ice.<interface #>.requested_fec
.Ed
.Ss Speed and Duplex Configuration
-You cannot set duplex or autonegotiation settings.
+The speed and duplex settings cannot be hard set.
.Pp
-To have your device change the speeds it will use in auto-negotiation or
+To have the device change the speeds it will use in auto-negotiation or
force link with:
.Bd -literal -offset indent
sysctl dev.ice.<interface #>.advertise_speed=<mask>
.Ed
.Pp
Supported speeds will vary by device.
-Depending on the speeds your device supports, valid bits used in a speed mask
+Depending on the speeds the device supports, valid bits used in a speed mask
could include:
.Bd -literal -offset indent
-0x0 \- Auto
-0x2 \- 100 Mbps
-0x4 \- 1 Gbps
-0x8 \- 2.5 Gbps
-0x10 \- 5 Gbps
-0x20 \- 10 Gbps
-0x80 \- 25 Gbps
-0x100 \- 40 Gbps
-0x200 \- 50 Gbps
-0x400 \- 100 Gbps
-0x800 \- 200 Gbps
+0x0 - Auto
+0x2 - 100 Mbps
+0x4 - 1 Gbps
+0x8 - 2.5 Gbps
+0x10 - 5 Gbps
+0x20 - 10 Gbps
+0x80 - 25 Gbps
+0x100 - 40 Gbps
+0x200 - 50 Gbps
+0x400 - 100 Gbps
+0x800 - 200 Gbps
.Ed
.Ss Disabling physical link when the interface is brought down
When the
@@ -485,7 +531,7 @@ The
driver allows for the generation of firmware logs for supported categories of
events, to help debug issues with Customer Support.
Refer to the
-.Dq Intel\(rg Ethernet Adapters and Devices User Guide
+.Dq Intel Ethernet Adapters and Devices User Guide
for an overview of this feature and additional tips.
.Pp
At a high level, to capture a firmware log:
@@ -493,13 +539,13 @@ At a high level, to capture a firmware log:
.It
Set the configuration for the firmware log.
.It
-Perform the necessary steps to generate the issue you are trying to debug.
+Perform the necessary steps to reproduce the issue.
.It
Capture the firmware log.
.It
Stop capturing the firmware log.
.It
-Reset your firmware log settings as needed.
+Reset the firmware log settings as needed.
.It
Work with Customer Support to debug the issue.
.El
@@ -544,7 +590,7 @@ DCBx (Bit 11)
.It Va dcb
DCB (Bit 12)
.It Va xlr
-XLR (function\-level resets; Bit 13)
+XLR (function-level resets; Bit 13)
.It Va nvm
NVM (Bit 14)
.It Va auth
@@ -552,7 +598,7 @@ Authentication (Bit 15)
.It Va vpd
Vital Product Data (Bit 16)
.It Va iosf
-Intel On\-Chip System Fabric (Bit 17)
+Intel On-Chip System Fabric (Bit 17)
.It Va parser
Parser (Bit 18)
.It Va sw
@@ -583,8 +629,8 @@ PF Registration (Bit 30)
Module Version (Bit 31)
.El
.Pp
-You can change the verbosity level of the firmware logs.
-You can set only one log level per module, and each level includes the
+The verbosity level of the firmware logs can be modified.
+It is possible to set only one log level per module, and each level includes the
verbosity levels lower than it.
For instance, setting the level to
.Dq normal
@@ -640,8 +686,8 @@ dmesg > log_output
NOTE: Logging a large number of modules or too high of a verbosity level will
add extraneous messages to dmesg and could hinder debug efforts.
.Ss Debug Dump
-Intel\(rg Ethernet 800 Series devices support debug dump, which allows you to
-obtain runtime register values from the firmware for
+Intel Ethernet 800 Series devices support debug dump,
+which allows gathering of runtime register values from the firmware for
.Dq clusters
of events and then write the results to a single dump file, for debugging
complicated issues in the field.
@@ -653,8 +699,8 @@ Debug dump captures the current state of the specified cluster(s) and is a
stateless snapshot of the whole device.
.Pp
NOTE: Like with firmware logs, the contents of the debug dump are not
-human\-readable.
-You must work with Customer Support to decode the file.
+human-readable.
+Work with Customer Support to decode the file.
.Pp
Debug dump is per device, not per PF.
.Pp
@@ -676,7 +722,7 @@ pass the
argument.
For example:
.Bd -literal -offset indent
-sysctl \-d dev.ice.0.debug.dump.clusters
+sysctl -d dev.ice.0.debug.dump.clusters
.Ed
.Pp
Possible bitmask values for
@@ -684,24 +730,24 @@ Possible bitmask values for
are:
.Bl -bullet -compact
.It
-0 \- Dump all clusters (only supported on Intel\(rg Ethernet E810 Series and
-Intel\(rg Ethernet E830 Series)
+0 - Dump all clusters (only supported on Intel Ethernet E810 Series and
+Intel Ethernet E830 Series)
.It
-0x1 \- Switch
+0x1 - Switch
.It
-0x2 \- ACL
+0x2 - ACL
.It
-0x4 \- Tx Scheduler
+0x4 - Tx Scheduler
.It
-0x8 \- Profile Configuration
+0x8 - Profile Configuration
.It
-0x20 \- Link
+0x20 - Link
.It
-0x80 \- DCB
+0x80 - DCB
.It
-0x100 \- L2P
+0x100 - L2P
.It
-0x400000 \- Manageability Transactions (only supported on Intel\(rg Ethernet
+0x400000 - Manageability Transactions (only supported on Intel Ethernet
E810 Series)
.El
.Pp
@@ -717,20 +763,19 @@ sysctl dev.ice.0.debug.dump.clusters=0
.Pp
NOTE: Using 0 will skip Manageability Transactions data.
.Pp
-If you don't specify a cluster, the driver will dump all clusters to a
-single file.
+If a single cluster is not specified,
+the driver will dump all clusters to a single file.
Issue the debug dump command, using the following:
.Bd -literal -offset indent
-sysctl \-b dev.ice.<interface #>.debug.dump.dump=1 > dump.bin
+sysctl -b dev.ice.<interface #>.debug.dump.dump=1 > dump.bin
.Ed
.Pp
-NOTE: The driver will not receive the command if you do not write
-.Dq 1
-to the sysctl.
+NOTE: The driver will not receive the command if the sysctl is not set to
+.Dq 1 .
.Pp
Replace
.Dq dump.bin
-above with the file name you want to use.
+above with the preferred file name.
.Pp
To clear the
.Va clusters
@@ -744,7 +789,7 @@ The ice driver supports the ability to obtain the values of the PHY registers
from Intel(R) Ethernet 810 Series devices in order to debug link and
connection issues during runtime.
.Pp
-The driver allows you to obtain information about:
+The driver provides information about:
.Bl -bullet
.It
Rx and Tx Equalization parameters
@@ -757,13 +802,13 @@ Use the following sysctl to read the PHY registers:
sysctl dev.ice.<interface #>.debug.phy_statistics
.Ed
.Pp
-NOTE: The contents of the registers are not human\-readable.
-Like with firmware logs and debug dump, you must work with Customer Support
+NOTE: The contents of the registers are not human-readable.
+Like with firmware logs and debug dump, work with Customer Support
to decode the file.
.Ss Transmit Balancing
-Some Intel(R) Ethernet 800 Series devices allow you to enable a transmit
+Some Intel(R) Ethernet 800 Series devices allow for enabling a transmit
balancing feature to improve transmit performance under certain conditions.
-When the feature is enabled, you should experience more consistent transmit
+When enabled, this feature should provide more consistent transmit
performance across queues and/or PFs and VFs.
.Pp
By default, transmit balancing is disabled in the NVM.
@@ -784,7 +829,7 @@ configures the device accordingly.
.Pp
NOTE: The user selection for transmit balancing in EPCT or HII is persistent
across reboots.
-You must reboot the system for the selected setting to take effect.
+The system must be rebooted for the selected setting to take effect.
.Pp
This setting is device wide.
.Pp
@@ -801,7 +846,7 @@ sysctl dev.ice.<interface #>.temp
may have a low number of network memory buffers (mbufs) by default.
If the number of mbufs available is too low, it may cause the driver to fail
to initialize and/or cause the system to become unresponsive.
-You can check to see if the system is mbuf\-starved by running
+Check to see if the system is mbuf-starved by running
.Ic netstat Fl m .
Increase the number of mbufs by editing the lines below in
.Pa /etc/sysctl.conf :
@@ -813,8 +858,8 @@ kern.ipc.nmbjumbo16
kern.ipc.nmbufs
.Ed
.Pp
-The amount of memory that you allocate is system specific, and may require some
-trial and error.
+The amount of memory that should be allocated is system specific,
+and may require some trial and error.
Also, increasing the following in
.Pa /etc/sysctl.conf
could help increase network performance:
@@ -839,13 +884,91 @@ To change the behavior of the QSFP28 ports on E810-C adapters, use the Intel
To update the firmware on an adapter, use the Intel
.Sy Non-Volatile Memory (NVM) Update Utility for Intel Ethernet Network Adapters E810 series - FreeBSD
.El
+.Ss Optics and auto-negotiation
+Modules based on 100GBASE-SR4,
+active optical cable (AOC), and active copper cable (ACC)
+do not support auto-negotiation per the IEEE specification.
+To obtain link with these modules,
+auto-negotiation must be turned off on the link partner's switch ports.
+.Pp
+Note that adapters also support
+all passive and active limiting direct attach cables
+that comply with SFF-8431 v4.1 and SFF-8472 v10.4 specifications.
+.Ss PCI-Express Slot Bandwidth
+Some PCIe x8 slots are actually configured as x4 slots.
+These slots have insufficient bandwidth
+for full line rate with dual port and quad port devices.
+In addition,
+if a PCIe v4.0 or v3.0-capable adapter is placed into into a PCIe v2.x
+slot, full bandwidth will not be possible.
+.Pp
+The driver detects this situation and
+writes the following message in the system log:
+.Bd -ragged -offset indent
+PCI-Express bandwidth available for this device
+may be insufficient for optimal performance.
+Please move the device to a different PCI-e link
+with more lanes and/or higher transfer rate.
+.Ed
+.Pp
+If this error occurs,
+moving the adapter to a true PCIe x8 or x16 slot will resolve the issue.
+For best performance, install devices in the following PCI slots:
+.Bl -bullet
+.It
+Any 100Gbps-capable Intel(R) Ethernet 800 Series device: Install in a
+PCIe v4.0 x8 or v3.0 x16 slot
+.It
+A 200Gbps-capable Intel(R) Ethernet 830 Series device: Install in a
+PCIe v5.0 x8 or v4.0 x16 slot
+.El
+.Pp
+For questions related to hardware requirements,
+refer to the documentation supplied with the adapter.
.Sh HARDWARE
The
.Nm
-driver supports the Intel Ethernet 800 series.
-Some adapters in this series with SFP28/QSFP28 cages
-have firmware that requires that Intel qualified modules are used; these
-qualified modules are listed below.
+driver supports the following
+Intel 800 series 1Gb to 200Gb Ethernet controllers:
+.Pp
+.Bl -bullet -compact
+.It
+Intel Ethernet Controller E810-C
+.It
+Intel Ethernet Controller E810-XXV
+.It
+Intel Ethernet Connection E822-C
+.It
+Intel Ethernet Connection E822-L
+.It
+Intel Ethernet Connection E823-C
+.It
+Intel Ethernet Connection E823-L
+.It
+Intel Ethernet Connection E825-C
+.It
+Intel Ethernet Connection E830-C
+.It
+Intel Ethernet Connection E830-CC
+.It
+Intel Ethernet Connection E830-L
+.It
+Intel Ethernet Connection E830-XXV
+.It
+Intel Ethernet Connection E835-C
+.It
+Intel Ethernet Connection E835-CC
+.It
+Intel Ethernet Connection E835-L
+.It
+Intel Ethernet Connection E835-XXV
+.El
+.Pp
+The
+.Nm
+driver supports some adapters in this series with SFP28/QSFP28 cages
+which have firmware that requires that Intel qualified modules are used;
+these qualified modules are listed below.
This qualification check cannot be disabled by the driver.
.Pp
The
@@ -854,13 +977,13 @@ driver supports 100Gb Ethernet adapters with these QSFP28 modules:
.Pp
.Bl -bullet -compact
.It
-Intel\(rg 100G QSFP28 100GBASE-SR4 E100GQSFPSR28SRX
+Intel 100G QSFP28 100GBASE-SR4 E100GQSFPSR28SRX
.It
-Intel\(rg 100G QSFP28 100GBASE-SR4 SPTMBP1PMCDF
+Intel 100G QSFP28 100GBASE-SR4 SPTMBP1PMCDF
.It
-Intel\(rg 100G QSFP28 100GBASE-CWDM4 SPTSBP3CLCCO
+Intel 100G QSFP28 100GBASE-CWDM4 SPTSBP3CLCCO
.It
-Intel\(rg 100G QSFP28 100GBASE-DR SPTSLP2SLCDF
+Intel 100G QSFP28 100GBASE-DR SPTSLP2SLCDF
.El
.Pp
The
@@ -869,11 +992,11 @@ driver supports 25Gb and 10Gb Ethernet adapters with these SFP28 modules:
.Pp
.Bl -bullet -compact
.It
-Intel\(rg 10G/25G SFP28 25GBASE-SR E25GSFP28SR
+Intel 10G/25G SFP28 25GBASE-SR E25GSFP28SR
.It
-Intel\(rg 25G SFP28 25GBASE-SR E25GSFP28SRX (Extended Temp)
+Intel 25G SFP28 25GBASE-SR E25GSFP28SRX (Extended Temp)
.It
-Intel\(rg 25G SFP28 25GBASE-LR E25GSFP28LRX (Extended Temp)
+Intel 25G SFP28 25GBASE-LR E25GSFP28LRX (Extended Temp)
.El
.Pp
The
@@ -882,54 +1005,15 @@ driver supports 10Gb and 1Gb Ethernet adapters with these SFP+ modules:
.Pp
.Bl -bullet -compact
.It
-Intel\(rg 1G/10G SFP+ 10GBASE-SR E10GSFPSR
-.It
-Intel\(rg 1G/10G SFP+ 10GBASE-SR E10GSFPSRG1P5
-.It
-Intel\(rg 1G/10G SFP+ 10GBASE-SR E10GSFPSRG2P5
+Intel 1G/10G SFP+ 10GBASE-SR E10GSFPSR
.It
-Intel\(rg 10G SFP+ 10GBASE-SR E10GSFPSRX (Extended Temp)
+Intel 1G/10G SFP+ 10GBASE-SR E10GSFPSRG1P5
.It
-Intel\(rg 1G/10G SFP+ 10GBASE-LR E10GSFPLR
-.El
-.Pp
-Note that adapters also support all passive and active
-limiting direct attach cables that comply with SFF-8431 v4.1 and
-SFF-8472 v10.4 specifications.
-.Pp
-This is not an exhaustive list; please consult product documentation for an
-up-to-date list of supported media.
-.Ss Fiber optics and auto\-negotiation
-Modules based on 100GBASE\-SR4, active optical cable (AOC), and active copper
-cable (ACC) do not support auto\-negotiation per the IEEE specification.
-To obtain link with these modules, auto\-negotiation must be turned off on the
-link partner's switch ports.
-.Ss PCI-Express Slot Bandwidth
-Some PCIe x8 slots are actually configured as x4 slots.
-These slots have insufficient bandwidth for full line rate with dual port and
-quad port devices.
-In addition, if you put a PCIe v4.0 or v3.0\-capable adapter into a PCIe v2.x
-slot, you cannot get full bandwidth.
-.Pp
-The driver detects this situation and writes the following message in the
-system log:
-.Bd -literal -offset indent
-PCI\-Express bandwidth available for this device may be insufficient for
-optimal performance.
-Please move the device to a different PCI\-e link with more lanes and/or
-higher transfer rate.
-.Ed
-.Pp
-If this error occurs, moving your adapter to a true PCIe x8 or x16 slot will
-resolve the issue.
-For best performance, install devices in the following PCI slots:
-.Bl -bullet
+Intel 1G/10G SFP+ 10GBASE-SR E10GSFPSRG2P5
.It
-Any 100Gbps\-capable Intel(R) Ethernet 800 Series device: Install in a
-PCIe v4.0 x8 or v3.0 x16 slot
+Intel 10G SFP+ 10GBASE-SR E10GSFPSRX (Extended Temp)
.It
-A 200Gbps\-capable Intel(R) Ethernet 830 Series device: Install in a
-PCIe v5.0 x8 or v4.0 x16 slot
+Intel 1G/10G SFP+ 10GBASE-LR E10GSFPLR
.El
.Sh LOADER TUNABLES
Tunables can be set at the
@@ -1027,11 +1111,11 @@ on.
Disabled by default.
.It num-queues Pq uint16_t
Specify the number of queues the VF will have.
-By default, this is set to the number of MSI\-X vectors supported by the VF
+By default, this is set to the number of MSI-X vectors supported by the VF
minus one.
.It mirror-src-vsi Pq uint16_t
Specify which VSI the VF will mirror traffic from by setting this to a value
-other than \-1.
+other than -1.
All traffic from that VSI will be mirrored to this VF.
Can be used as an alternative method to mirror RDMA traffic to another
interface than the method described in the
diff --git a/share/man/man4/ip.4 b/share/man/man4/ip.4
index c52715a43380..fb5ea398c840 100644
--- a/share/man/man4/ip.4
+++ b/share/man/man4/ip.4
@@ -575,7 +575,7 @@ is the following structure:
.Bd -literal
struct ip_mreqn {
struct in_addr imr_multiaddr; /* IP multicast address of group */
- struct in_addr imr_interface; /* local IP address of interface */
+ struct in_addr imr_address; /* local IP address of interface */
int imr_ifindex; /* interface index */
}
.Ed
diff --git a/share/man/man4/isp.4 b/share/man/man4/isp.4
index 6fea63fdd5d5..a8f985a59d09 100644
--- a/share/man/man4/isp.4
+++ b/share/man/man4/isp.4
@@ -85,7 +85,7 @@ It may be disabled using configuration and hint options described below.
.Sh HARDWARE
The
.Nm
-driver supports the following optical Fibre Chanel adapters:
+driver supports the following optical Fibre Channel adapters:
.Bl -column "Qlogic 2690/2692/2694 (2684/2692)" "Speed" "PCI-X"
.It Model: Ta Speed: Ta Bus:
.It Qlogic QLE2874 (2814) Ta 64Gb Ta PCIe
diff --git a/share/man/man4/iwlwifi.4 b/share/man/man4/iwlwifi.4
index 660f6a9bf57c..411af54be9fb 100644
--- a/share/man/man4/iwlwifi.4
+++ b/share/man/man4/iwlwifi.4
@@ -284,7 +284,7 @@ module parameters and are mapped automatically by
.Sy linuxkpi .
They were not adjusted so that they stay consistent with upstream
Linux, e.g., for documentation available and problem investigations.
-This left their names inconsistent between themselves and incosistent to
+This left their names inconsistent between themselves and inconsistent to
.Fx
style.
.Pp
diff --git a/share/man/man4/iwx.4 b/share/man/man4/iwx.4
index 295a5f318afa..5f978b210f78 100644
--- a/share/man/man4/iwx.4
+++ b/share/man/man4/iwx.4
@@ -17,24 +17,27 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd May 2, 2025
+.Dd November 14, 2025
.Dt IWX 4 amd64
.Os
.Sh NAME
.Nm iwx
.Nd Intel WiFi 6 IEEE 802.11ax wireless network driver
.Sh SYNOPSIS
-.Cd device iwx
-.Cd device wlan
+To compile this driver into the kernel,
+include the following lines in your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device iwx"
+.Cd "device pci"
+.Cd "device wlan"
+.Ed
.Pp
-In
-.Xr rc.conf 5 :
-.Cd devmatch_blocklist="if_iwlwifi"
-.Cd kld_list="if_iwx"
-.Pp
-In
-.Xr sysctl.conf 5 :
-.Cd dev.iwx.?.debug=0xffffffff
+Alternatively, to load the driver as a
+module at boot time, place the following lines in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+if_iwx_load="YES"
+.Ed
.Sh DESCRIPTION
The
.Nm
diff --git a/share/man/man4/ix.4 b/share/man/man4/ix.4
index 418b6e1188ab..09af85f5c4a7 100644
--- a/share/man/man4/ix.4
+++ b/share/man/man4/ix.4
@@ -29,7 +29,7 @@
.\"
.\" * Other names and brands may be claimed as the property of others.
.\"
-.Dd October 26, 2024
+.Dd November 10, 2025
.Dt IX 4
.Os
.Sh NAME
@@ -78,6 +78,8 @@ including:
.Pp
.Bl -bullet -compact
.It
+Intel(R) Ethernet E610
+.It
Intel(R) Ethernet X553
.It
Intel(R) Ethernet X552
@@ -130,6 +132,35 @@ Enable Adaptive Interrupt Moderation (AIM).
Vary the interrupt rate over time based on the traffic for
that interrupt vector.
.El
+.Sh SYSCTL VARIABLES
+The
+.Nm
+driver supports the following
+.Xr sysctl 8
+variables:
+.Bl -tag -width "dev.ix.?.debug.dump.clusters"
+.It Va dev.ix.?.debug.dump.clusters
+Specify a bitmask to select firmware event clusters
+to be included in the debug dump.
+Possible values include:
+.Pp
+.Bl -tag -compact
+.It 0
+All clusters excluding Manageability Transactions
+.It 0x1
+Link cluster
+.It 0x2
+Full CSR Space excluding RCW registers
+.El
+.Pp
+This feature is only supported on E610 devices.
+.It Va dev.ix.?.debug.dump.dump
+Specify 1 to generate a per-device debugging snapshot.
+Output must be redirected to a file
+and decoded by Intel Customer Support.
+.Pp
+This feature is only supported on E610.
+.El
.Sh DIAGNOSTICS
.Bl -diag
.It "ix%d: Unable to allocate bus resource: memory"
diff --git a/share/man/man4/le.4 b/share/man/man4/le.4
index ff39361a1780..04b57633c91f 100644
--- a/share/man/man4/le.4
+++ b/share/man/man4/le.4
@@ -34,7 +34,7 @@
.\"
.\" from: Header: le.4,v 1.2 92/10/13 05:31:33 leres Exp
.\"
-.Dd June 21, 2023
+.Dd October 24, 2025
.Dt LE 4
.Os
.Sh NAME
@@ -66,7 +66,7 @@ numbers have to be specified in
The
.Nm
driver may not be present in
-.Fx 15.0
+.Fx 16.0
and later.
.Sh DESCRIPTION
The
diff --git a/share/man/man4/linprocfs.4 b/share/man/man4/linprocfs.4
index 53940d7c02b0..dcd1c642b409 100644
--- a/share/man/man4/linprocfs.4
+++ b/share/man/man4/linprocfs.4
@@ -9,7 +9,7 @@
.Nd Linux process file system
.Sh SYNOPSIS
.Bd -literal
-linproc /compat/linux/proc linprocfs rw 0 0
+linprocfs /compat/linux/proc linprocfs rw 0 0
.Ed
.Sh DESCRIPTION
The Linux process file system, or
@@ -138,7 +138,7 @@ To mount a
file system on
.Pa /compat/linux/proc :
.Pp
-.Dl "mount -t linprocfs linproc /compat/linux/proc"
+.Dl "mount -t linprocfs linprocfs /compat/linux/proc"
.Sh SEE ALSO
.Xr mount 2 ,
.Xr unmount 2 ,
diff --git a/share/man/man4/linsysfs.4 b/share/man/man4/linsysfs.4
index 12729a814085..045e1af89173 100644
--- a/share/man/man4/linsysfs.4
+++ b/share/man/man4/linsysfs.4
@@ -9,7 +9,7 @@
.Nd Linux kernel objects file system
.Sh SYNOPSIS
.Bd -literal
-linsys /compat/linux/sys linsysfs rw 0 0
+linsysfs /compat/linux/sys linsysfs rw 0 0
.Ed
.Sh DESCRIPTION
The
@@ -66,7 +66,7 @@ The PCI device hierarchy node.
.Sh EXAMPLES
The most common usage follows:
.Pp
-.Dl "mount -t linsysfs linsys /compat/linux/sys"
+.Dl "mount -t linsysfs linsysfs /compat/linux/sys"
.Pp
where
.Pa /compat/linux/sys
diff --git a/share/man/man4/mac_do.4 b/share/man/man4/mac_do.4
index 4dcb54c89673..d02932070e25 100644
--- a/share/man/man4/mac_do.4
+++ b/share/man/man4/mac_do.4
@@ -94,8 +94,10 @@ i.e., one of the literal strings
or
.Ql gid .
.Li Aq id
-must be the numerical ID of a user or group, and is matched with the current
-process real ID of the corresponding type.
+must be the numerical ID of a user or group and is matched against the current
+process real ID of the corresponding type, and on type
+.Ql gid
+additionally against the supplementary groups.
.Ss Rule's Ao to Ac Part
The second part of a rule,
.Li Aq to ,
@@ -244,7 +246,7 @@ nor contradictory ones.
In practice, no two clauses may display the same ID except for group IDs but
only if, each time the same ID appears, it does so with a different flag, or no
flags only once.
-Additionally, the specified flags in multiple occurences must not be
+Additionally, the specified flags in multiple occurrences must not be
contradictory.
For example, the same group ID appearing with both
.Ql +
@@ -377,8 +379,8 @@ Same as the first example, but lifting any constraints on groups, allowing the
process to become part of any groups it sees fit.
.El
.Pp
-Here are several examples of single rules matching processes having a real group
-ID of 10001:
+Here are several examples of single rules matching processes having 10001 as
+their real group IDs or in their supplementary groups:
.Bl -tag -width indent
.It Li gid=10001>uid=0
Makes 10001 a more powerful
diff --git a/share/man/man4/man4.aarch64/Makefile b/share/man/man4/man4.aarch64/Makefile
index 0e85aab8b770..f35558d69a33 100644
--- a/share/man/man4/man4.aarch64/Makefile
+++ b/share/man/man4/man4.aarch64/Makefile
@@ -14,12 +14,6 @@ MAN= \
# for all architectures, otherwise arm takes care of installing them.
.if !empty(MAN_ARCH) && ${MAN_ARCH} != "all"
MAN+= \
- aw_gpio.4 \
- aw_mmc.4 \
- aw_rtc.4 \
- aw_sid.4 \
- aw_spi.4 \
- aw_syscon.4 \
bcm283x_pwm.4 \
.endif
diff --git a/share/man/man4/man4.arm/Makefile b/share/man/man4/man4.arm/Makefile
index 6b046a1002a2..2be255ad913f 100644
--- a/share/man/man4/man4.arm/Makefile
+++ b/share/man/man4/man4.arm/Makefile
@@ -1,11 +1,5 @@
MAN= \
ar40xx.4 \
- aw_gpio.4 \
- aw_mmc.4 \
- aw_rtc.4 \
- aw_sid.4 \
- aw_spi.4 \
- aw_syscon.4 \
bcm283x_pwm.4 \
devcfg.4 \
imx6_ahci.4 \
diff --git a/share/man/man4/mgb.4 b/share/man/man4/mgb.4
index cf0f7aaa688d..0d26951d1b1e 100644
--- a/share/man/man4/mgb.4
+++ b/share/man/man4/mgb.4
@@ -49,7 +49,7 @@ For more information on configuring this device, see
.Sh HARDWARE
The
.Nm
-driver supports:
+driver supports Microchip PCIe Gigabit Ethernet interfaces, including:
.Pp
.Bl -bullet -compact
.It
diff --git a/share/man/man4/miibus.4 b/share/man/man4/miibus.4
index f53abdb405f2..9291d3d84adc 100644
--- a/share/man/man4/miibus.4
+++ b/share/man/man4/miibus.4
@@ -86,11 +86,11 @@ NVIDIA nForce MCP Networking Adapter
.It Xr nge 4
National Semiconductor DP83820/DP83821 Gigabit Ethernet
.It Xr re 4
-RealTek 8139C+/8169/8169S/8110S
+Realtek 8139C+/8169/8169S/8110S
.It Xr rl 4
-RealTek 8129/8139
+Realtek 8129/8139
.It Xr rue 4
-RealTek RTL8150 USB To Fast Ethernet
+Realtek RTL8150 USB To Fast Ethernet
.It Xr sge 4
Silicon Integrated Systems SiS190/191 Ethernet
.It Xr sis 4
@@ -106,7 +106,7 @@ Sundance/Tamarack TC9021 Gigabit Ethernet
.It Xr udav 4
Davicom DM9601 USB Ethernet
.It Xr ure 4
-RealTek RTL8152 USB To Fast Ethernet
+Realtek RTL8152 USB To Fast Ethernet
.It Xr vge 4
VIA VT612x PCI Gigabit Ethernet
.It Xr vr 4
diff --git a/share/man/man4/mmcsd.4 b/share/man/man4/mmcsd.4
index 7466bc546b91..07d7e963b596 100644
--- a/share/man/man4/mmcsd.4
+++ b/share/man/man4/mmcsd.4
@@ -1,4 +1,6 @@
.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2007 M. Warner Losh <imp@FreeBSD.org>
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -21,7 +23,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd June 10, 2021
+.Dd October 2, 2025
.Dt MMCSD 4
.Os
.Sh NAME
@@ -29,7 +31,7 @@
.Nd MMC and SD memory card driver
.Sh SYNOPSIS
.Cd device mmcsd
-.Sh DESCRIPTION
+.Sh HARDWARE
The
.Nm
driver implements direct access block device for MMC and SD memory cards.
@@ -42,3 +44,8 @@ driver implements direct access block device for MMC and SD memory cards.
.Rs
.%T "The MultiMediaCard System Specification"
.Re
+.Sh HISTORY
+The
+.Nm
+driver appeared in
+.Fx 7.0 .
diff --git a/share/man/man4/mpr.4 b/share/man/man4/mpr.4
index e114ecfd077b..a88b99ae007b 100644
--- a/share/man/man4/mpr.4
+++ b/share/man/man4/mpr.4
@@ -37,7 +37,7 @@
.\"
.\" $Id$
.\"
-.Dd June 1, 2019
+.Dd September 28, 2025
.Dt MPR 4
.Os
.Sh NAME
@@ -65,9 +65,9 @@ Fusion-MPT 3/3.5 IT/IR
.Tn SAS/PCIe
controllers.
.Sh HARDWARE
-These controllers are supported by the
+The
.Nm
-driver:
+driver supports the following SATA/SAS/NVMe RAID controllers:
.Pp
.Bl -bullet -compact
.It
@@ -99,6 +99,8 @@ Broadcom Ltd./Avago Tech (LSI) SAS 3708 (8 Port SAS/PCIe)
.It
Broadcom Ltd./Avago Tech (LSI) SAS 3716 (16 Port SAS/PCIe)
.It
+Broadcom Ltd./Avago Tech (LSI) SAS 3808 (8 Port SAS/PCIe)
+.It
Broadcom Ltd./Avago Tech (LSI) SAS 3816 (16 Port SAS/PCIe)
.It
Broadcom Ltd./Avago Tech (LSI) SAS 3916 (16 Port SAS/PCIe)
diff --git a/share/man/man4/mrsas.4 b/share/man/man4/mrsas.4
index 36e9a7b5c7e7..5f7a0e6e45ea 100644
--- a/share/man/man4/mrsas.4
+++ b/share/man/man4/mrsas.4
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-3-Clause
+.\"
.\" Copyright (c) 2014 LSI Corp
.\" All rights reserved.
.\" Author: Kashyap Desai
@@ -32,43 +35,42 @@
.\" are those of the authors and should not be interpreted as representing
.\" official policies, either expressed or implied, of the FreeBSD Project.
.\"
-.Dd February 4, 2021
+.Dd August 22, 2025
.Dt MRSAS 4
.Os
.Sh NAME
.Nm mrsas
-.Nd "LSI MegaRAID 6Gb/s and 12Gb/s SAS+SATA RAID controller driver"
+.Nd Broadcom/LSI MegaRAID 6/12Gb/s SAS+SATA RAID controller driver
.Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your
-kernel configuration file:
-.Bd -ragged -offset indent
.Cd "device pci"
.Cd "device mrsas"
-.Ed
.Pp
-Alternatively, to load the driver as a
-module at boot time, place the following line in
+In
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-mrsas_load="YES"
-.Ed
+.Cd mrsas_load="YES"
+.Pp
+In
+.Xr sysctl.conf 5 :
+.Cd dev.mrsas.X.disable_ocr
+.Cd dev.mrsas.X.fw_outstanding
+.Cd dev.mrsas.X.mrsas_fw_fault_check_delay
+.Cd dev.mrsas.X.mrsas_io_timeout
+.Cd hw.mrsas.X.debug_level
.Sh DESCRIPTION
The
.Nm
-driver will detect LSI's next generation (6Gb/s and 12Gb/s) PCI Express
-SAS/SATA RAID controllers.
-See the
-.Nm HARDWARE
-section for the supported devices list.
-A disk (virtual disk/physical disk) attached to the
+driver will detect Broadcom/LSI's 6Gb/s and 12Gb/s
+PCI Express SAS/SATA/NVMe RAID controllers.
+A disk
+.Pq virtual disk/physical disk
+attached to the
.Nm
driver will be visible to the user through
.Xr camcontrol 8
as
.Pa /dev/da?
device nodes.
-A simple management interface is also provided on a per-controller basis via the
+A simple management interface is also provided per-controller via the
.Pa /dev/mrsas?
device node.
.Pp
@@ -77,8 +79,7 @@ The
name is derived from the phrase "MegaRAID SAS HBA", which is
substantially different than the old "MegaRAID" Driver
.Xr mfi 4
-which does not connect targets
-to the
+which does not connect targets to the
.Xr cam 4
layer and thus requires a new driver which attaches targets to the
.Xr cam 4
@@ -91,8 +92,8 @@ but both the
.Xr mfi 4
and
.Nm
-drivers can detect and manage the LSI MegaRAID SAS 2208/2308/3008/3108 series of
-controllers.
+drivers can detect and manage the
+Broadcom/LSI MegaRAID SAS 2208/2308/3008/3108 series of controllers.
.Pp
The
.Xr device.hints 5
@@ -103,7 +104,7 @@ By default, the
.Xr mfi 4
driver will detect these controllers.
See the
-.Nm PRIORITY
+.Sx PRIORITY
section to know more about driver priority for MR-Fusion devices.
.Pp
.Nm
@@ -124,46 +125,32 @@ rather then JBOD virtual mode.
.Sh HARDWARE
The
.Nm
-driver supports the following hardware:
-.Pp
-[ Thunderbolt 6Gb/s MR controller ]
-.Bl -bullet -compact
-.It
-LSI MegaRAID SAS 9265
-.It
-LSI MegaRAID SAS 9266
-.It
-LSI MegaRAID SAS 9267
-.It
-LSI MegaRAID SAS 9270
-.It
-LSI MegaRAID SAS 9271
-.It
-LSI MegaRAID SAS 9272
-.It
-LSI MegaRAID SAS 9285
-.It
-LSI MegaRAID SAS 9286
-.It
-DELL PERC H810
-.It
-DELL PERC H710/P
-.El
+driver supports the following LSI/Broadcom SATA/SAS RAID controllers:
.Pp
-[ Invader/Fury 12Gb/s MR controller ]
-.Bl -bullet -compact
-.It
-LSI MegaRAID SAS 9380
-.It
-LSI MegaRAID SAS 9361
-.It
-LSI MegaRAID SAS 9341
-.It
-DELL PERC H830
-.It
-DELL PERC H730/P
-.It
-DELL PERC H330
+.Bl -column -compact "LSI MegaRAID SAS 9380" "Invader/Fury" "12Gb/s"
+.It Controller Ta Chip Ta Speed
+.It Broadcom SAS3916 Ta Aero Ta 12Gb/s
+.It Broadcom SAS3908 Ta Aero Ta 12Gb/s
+.It LSI MegaRAID SAS 9380 Ta Invader/Fury Ta 12Gb/s
+.It LSI MegaRAID SAS 9361 Ta Invader/Fury Ta 12Gb/s
+.It LSI MegaRAID SAS 9341 Ta Invader/Fury Ta 12Gb/s
+.It LSI MegaRAID SAS 9286 Ta Thunderbolt Ta 6Gb/s
+.It LSI MegaRAID SAS 9285 Ta Thunderbolt Ta 6Gb/s
+.It LSI MegaRAID SAS 9272 Ta Thunderbolt Ta 6Gb/s
+.It LSI MegaRAID SAS 9271 Ta Thunderbolt Ta 6Gb/s
+.It LSI MegaRAID SAS 9270 Ta Thunderbolt Ta 6Gb/s
+.It LSI MegaRAID SAS 9267 Ta Thunderbolt Ta 6Gb/s
+.It LSI MegaRAID SAS 9266 Ta Thunderbolt Ta 6Gb/s
+.It LSI MegaRAID SAS 9265 Ta Thunderbolt Ta 6Gb/s
+.It LSI SAS 3108 Ta Ta 12Gb/s
+.It LSI SAS 3008 Ta Ta 12Gb/s
+.It LSI SAS 2308 Ta Ta 6Gb/s
+.It LSI SAS 2208 Ta Ta 6Gb/s
+.It DELL PERC H830 Ta Invader/Fury Ta 12Gb/s
+.It DELL PERC H810 Ta Thunderbolt Ta 6Gb/s
+.It DELL PERC H730/P Ta Invader/Fury Ta 12Gb/s
+.It DELL PERC H710/P Ta Thunderbolt Ta 6Gb/s
+.It DELL PERC H330 Ta Invader/Fury Ta 12Gb/s
.El
.Sh CONFIGURATION
To disable Online Controller Reset(OCR) for a specific
@@ -171,9 +158,8 @@ To disable Online Controller Reset(OCR) for a specific
driver instance, set the
following tunable value in
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-dev.mrsas.X.disable_ocr=1
-.Ed
+.Pp
+.Dl Va dev.mrsas.X.disable_ocr=1
.Pp
where X is the adapter number.
.Pp
@@ -181,9 +167,8 @@ To change the I/O timeout value for a specific
.Nm
driver instance, set the following tunable value in
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-dev.mrsas.X.mrsas_io_timeout=NNNNNN
-.Ed
+.Pp
+.Dl Va dev.mrsas.X.mrsas_io_timeout=NNNNNN
.Pp
where NNNNNN is the timeout value in milli-seconds.
.Pp
@@ -191,9 +176,8 @@ To change the firmware fault check timer value for a specific
.Nm
driver instance, set the following tunable value in
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-dev.mrsas.X.mrsas_fw_fault_check_delay=NN
-.Ed
+.Pp
+.Dl Va dev.mrsas.X.mrsas_fw_fault_check_delay=NN
.Pp
where NN is the fault check delay value in seconds.
.Pp
@@ -248,7 +232,8 @@ or
subsystem for selection of MR-Fusion cards.
With the above design in place, the
.Xr mfi 4
-driver will attach to a MR-Fusion card given that it has a higher priority than
+driver will attach to a MR-Fusion card
+given that it has a higher priority than
.Nm .
.Pp
Using
@@ -267,45 +252,48 @@ At boot time, the
.Xr mfi 4
driver will get priority to detect MR-Fusion controllers by default.
Before
-changing this default driver selection policy, LSI advises users to understand
-how the driver selection policy works.
+changing this default driver selection policy,
+LSI advises users to understand how the driver selection policy works.
LSI's policy is to provide priority to
the
.Xr mfi 4
-driver to detect MR-Fusion cards, but allow for the ability to choose the
+driver to detect MR-Fusion cards,
+but allow for the ability to choose the
.Nm
driver to detect MR-Fusion cards.
.Pp
-LSI recommends setting hw.mfi.mrsas_enable="0" for customers who are using the
-older
+LSI recommends setting
+.Va hw.mfi.mrsas_enable="0"
+for customers who are using the older
.Xr mfi 4
driver and do not want to switch to
.Nm .
-For those customers who are using a MR-Fusion controller for the first time, LSI
-recommends using the
+For those using a MR-Fusion controller for the first time,
+LSI recommends using the
.Nm
-driver and setting hw.mfi.mrsas_enable="1".
+driver and setting
+.Va hw.mfi.mrsas_enable="1".
.Pp
-Changing the default behavior is well tested under most conditions, but
-unexpected behavior may pop up if more complex and unrealistic operations are
-executed by switching between the
+Changing the default behavior is well tested under most conditions,
+but unexpected behavior may pop up
+if more complex and unrealistic operations are executed
+by switching between the
.Xr mfi 4
and
.Nm
drivers for MR-Fusion.
Switching drivers is designed to happen only one time.
-Although multiple
-switching is possible, it is not recommended.
+Although multiple switching is possible, it is not recommended.
The user should decide from
-.Nm Start of Day
+.Sy boot
which driver they want to use for the MR-Fusion card.
.Pp
The user may see different device names when switching from
.Xr mfi 4
to
.Nm .
-This behavior is
-.Nm Functions As Designed
+This behavior
+.Sy works as intended
and the user needs to change the
.Xr fstab 5
entry manually if they are doing any experiments with
@@ -314,7 +302,7 @@ and
.Nm
interoperability.
.Sh FILES
-.Bl -tag -width ".Pa /dev/mrsas?" -compact
+.Bl -tag -width "/dev/mrsas?" -compact
.It Pa /dev/da?
array/logical disk interface
.It Pa /dev/mrsas?
@@ -337,7 +325,8 @@ driver first appeared in
is the old
.Fx
driver which started with support for Gen-1 Controllers and
-was extended to support up to MR-Fusion (Device ID = 0x005B, 0x005D, 0x005F).
+was extended to support up to MR-Fusion
+.Pq Device ID = 0x005B, 0x005D, 0x005F .
.Ed
.Bd -ragged
.Cd "mrsas Driver:"
@@ -348,12 +337,12 @@ The SAS+SATA RAID controller with device id 0x005b is referred to as
the Thunderbolt controller throughout this man page.
.Ed
.Bd -ragged
-.Nm cam aware HBA drivers:
+.Sy cam aware HBA drivers:
.Fx
has a
.Xr cam 4
-layer which attaches storage devices and provides a common access mechanism to
-storage controllers and attached devices.
+layer which attaches storage devices and provides a
+common access mechanism to storage controllers and attached devices.
The
.Nm
driver is
@@ -368,13 +357,13 @@ driver does not understand the
.Xr cam 4
layer and it directly associates storage disks to the block layer.
.Pp
-.Nm Thunderbolt Controller:
+.Sy Thunderbolt Controller:
This is the 6Gb/s MegaRAID HBA card which has device id 0x005B.
.Pp
-.Nm Invader Controller:
+.Sy Invader Controller:
This is 12Gb/s MegaRAID HBA card which has device id 0x005D.
.Pp
-.Nm Fury Controller:
+.Sy Fury Controller:
This is the 12Gb/s MegaRAID HBA card which has device id 0x005F.
.Ed
.Sh AUTHORS
@@ -382,12 +371,7 @@ The
.Nm
driver and this manual page were written by
.An Kashyap Desai Aq Mt Kashyap.Desai@lsi.com .
-.Sh TODO
-The driver does not support alias for device name (it is required when the user
-switches between two drivers and does not want to edit
-.Pa /etc/fstab
-manually).
-.Pp
+.Sh CAVEATS
The
.Nm
driver exposes devices as
@@ -398,8 +382,7 @@ exposes devices as
.Pa /dev/mfid? .
.Pp
.Nm
-does not support the Linux Emulator interface.
-.Pp
-.Nm
-will not work with
-.Xr mfiutil 8 .
+does not support the Linux Emulator Interface,
+.Xr mfiutil 8 ,
+or device name aliases for switching drivers without editing
+.Xr fstab 5 .
diff --git a/share/man/man4/muge.4 b/share/man/man4/muge.4
index 598106bf1855..2a1b0f600955 100644
--- a/share/man/man4/muge.4
+++ b/share/man/man4/muge.4
@@ -44,7 +44,7 @@ For more information on configuring this device, see
.Sh HARDWARE
The
.Nm
-driver supports:
+driver supports Microchip USB Gigabit Ethernet interfaces, including:
.Pp
.Bl -bullet -compact
.It
diff --git a/share/man/man4/mx25l.4 b/share/man/man4/mx25l.4
index 5dffdebcf43e..a48b153e91ec 100644
--- a/share/man/man4/mx25l.4
+++ b/share/man/man4/mx25l.4
@@ -1,4 +1,6 @@
.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2019 Ian Lepore <ian@freebsd.org>
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -22,26 +24,18 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd June 11, 2024
+.Dd November 11, 2025
.Dt MX25L 4
.Os
.Sh NAME
.Nm mx25l
-.Nd driver for SpiFlash(tm) compatible non-volatile storage devices
+.Nd SpiFlash compatible non-volatile storage devices driver
.Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following line in your
-kernel configuration file:
-.Bd -ragged -offset indent
-.Cd "device mx25l"
-.Ed
+.Cd device mx25l
.Pp
-Alternatively, to load the driver as a
-module at boot time, place the following line in
+In
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-mx25l_load="YES"
-.Ed
+.Cd mx25l_load="YES"
.Sh DESCRIPTION
The
.Nm
@@ -67,7 +61,7 @@ modules as with any disk device.
.Sh HARDWARE
The
.Nm
-driver provides support for the following devices:
+driver supports the following spi flash memory devices:
.Pp
.Bl -bullet -compact
.It
@@ -99,6 +93,8 @@ MX25LL32
.It
MX25LL64
.It
+N25Q64
+.It
S25FL032
.It
S25FL064
diff --git a/share/man/man4/nda.4 b/share/man/man4/nda.4
index c4fa157af851..e45b2905462e 100644
--- a/share/man/man4/nda.4
+++ b/share/man/man4/nda.4
@@ -1,4 +1,6 @@
.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2017 Netflix, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -23,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd June 6, 2020
+.Dd October 2, 2025
.Dt NDA 4
.Os
.Sh NAME
@@ -39,6 +41,14 @@ driver provides support for direct access devices, implementing the
.Tn NVMe
command protocol, that are attached to the system through a host adapter
supported by the CAM subsystem.
+.Sh HARDWARE
+The
+.Nm
+driver supports NVMe
+.Pq Non-Volatile Memory Express
+storage devices connected via PCIe or over NVMF
+.Pq NVMe over Fabric
+via the CAM subsystem.
.Sh SYSCTL VARIABLES
The following variables are available as both
.Xr sysctl 8
diff --git a/share/man/man4/nvd.4 b/share/man/man4/nvd.4
index d5145939e409..1861fabc91d0 100644
--- a/share/man/man4/nvd.4
+++ b/share/man/man4/nvd.4
@@ -31,7 +31,7 @@
.\"
.\" Author: Jim Harris <jimharris@FreeBSD.org>
.\"
-.Dd May 18, 2019
+.Dd October 2, 2025
.Dt NVD 4
.Os
.Sh NAME
@@ -72,6 +72,10 @@ Note that device nodes from the
driver are not
.Xr GEOM 4
disks and cannot be partitioned.
+.Sh HARDWARE
+The
+.Nm
+driver supports NVMe storage devices using NVMe namespaces.
.Sh CONFIGURATION
The
.Nm
diff --git a/share/man/man4/p9fs.4 b/share/man/man4/p9fs.4
index 04f27abd2545..a49053d461d4 100644
--- a/share/man/man4/p9fs.4
+++ b/share/man/man4/p9fs.4
@@ -96,7 +96,7 @@ may not work correctly.
If
.Nm
is the root filesystem,
-it is recommented to use with
+it is recommended to use with
.Xr tmpfs 5
to ensure that temporary files created in
.Pa /tmp
diff --git a/share/man/man4/pccard.4 b/share/man/man4/pccard.4
deleted file mode 100644
index cec07b2336cb..000000000000
--- a/share/man/man4/pccard.4
+++ /dev/null
@@ -1,78 +0,0 @@
-.\"
-.\" Copyright (c) 2002 M. Warner Losh <imp@FreeBSD.org>
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. The name of the author may not be used to endorse or promote products
-.\" derived from this software without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd August 18, 2020
-.Dt PCCARD 4
-.Os
-.Sh NAME
-.Nm pccard
-.Nd PC Card bus driver
-.Sh SYNOPSIS
-.Cd device pccard
-.Sh DEPRECATION NOTICE
-This driver is scheduled for removal prior to the release of
-.Fx 13.0 .
-.Sh DESCRIPTION
-The
-.Nm
-driver implements the PC Card bus.
-The
-.Nm
-driver supports all PC Card bridges in the system.
-.Sh TUNABLES
-The driver supports the following tunable parameters, which may be
-added to
-.Pa /boot/loader.conf
-or set via the
-.Xr sysctl 8
-command:
-.Bl -tag -width ".Cm hw.pccard.cis_debug" -compact
-.It Cm hw.pccard.debug
-Non-zero values cause more verbose information to be printed when a
-16-bit PC Card is inserted or removed.
-.It Cm hw.pccard.cis_debug
-Non-zero value causes the CIS parsing of the 16-bit PC Card to be much
-more verbose and include a complete CIS dump.
-.El
-.Sh FILES
-.Bl -tag -width ".Pa /dev/pccard0.cis" -compact
-.It Pa /dev/pccard0.cis
-This exclusive-use device will report all the CIS chains present in a
-PC Card, if a 16-bit PC Card is inserted in the slot.
-Only one user at a time may access the CIS.
-The CIS is presented as the relevant byte stream from the PC Card.
-For CIS tuples in Attribute Memory (the default), only the even
-locations are presented (the ODD locations are undefined per the
-standard).
-For CIS tuples in Common Memory, every byte is presented to the user.
-Decoding of the CIS tuples is done via a userland program.
-All tuples are presented to the user.
-.El
-.Sh SEE ALSO
-.Xr cardbus 4 ,
-.\" .Xr mecia 4 ,
-.Xr pccbb 4
-.\" .Xr tcic 4
-.Rs
-.%T "PC Card Standard, Release 8"
-.Re
diff --git a/share/man/man4/pccbb.4 b/share/man/man4/pccbb.4
index 3200e8b2d2e2..1c6cb2045033 100644
--- a/share/man/man4/pccbb.4
+++ b/share/man/man4/pccbb.4
@@ -176,5 +176,4 @@ debugging problems with the bridge chipset.
.El
.Sh SEE ALSO
.Xr cardbus 4 ,
-.Xr exca 4 ,
-.Xr pccard 4
+.Xr exca 4
diff --git a/share/man/man4/pci.4 b/share/man/man4/pci.4
index 91fbb557f644..b99747969035 100644
--- a/share/man/man4/pci.4
+++ b/share/man/man4/pci.4
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd April 2, 2025
+.Dd August 31, 2025
.Dt PCI 4
.Os
.Sh NAME
@@ -235,6 +235,17 @@ revision ID.
Driver name.
.It pd_unit
Driver unit number.
+.It pd_numa_domain
+Driver NUMA domain.
+.It pc_reported_len
+Length of the valid portion of the encompassing
+.Vt pci_conf
+structure.
+This should always be equivalent to the offset of the
+.Va pc_spare
+member.
+.It pc_spare
+Reserved for future use.
.El
.It offset
The offset is passed in by the user to tell the kernel where it should
diff --git a/share/man/man4/pcic.4 b/share/man/man4/pcic.4
deleted file mode 100644
index 1c5b0fc35554..000000000000
--- a/share/man/man4/pcic.4
+++ /dev/null
@@ -1,100 +0,0 @@
-.\"
-.\" Copyright (c) 2001-2002 M. Warner Losh <imp@FreeBSD.org>
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. The name of the author may not be used to endorse or promote products
-.\" derived from this software without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd July 9, 2002
-.Dt PCIC 4
-.Os
-.Sh NAME
-.Nm pcic
-.Nd PC Card bridge driver
-.Sh SYNOPSIS
-.Cd device pcic
-.Cd device pccard
-.Sh DESCRIPTION
-The
-.Nm
-driver provides support for older ISA and non-Yenta PCI PC Card bridges.
-The
-.Nm
-driver supports most
-.Tn ExCA
-devices attached to the
-.Tn ISA
-bus or
-.Tn PCI
-devices that do not conform to the Yenta specification.
-.Pp
-The following
-.Tn ISA
-devices, or true clones, are supported in the current code.
-.Pp
-.Bl -tag -width "Intel i82365SL Step A" -compact
-.It Intel i82365SL Step A
-.It Intel i82365SL Step B
-.It Intel i82365SL Step C
-.Tn Intel Ns 's
-original 16-bit PC Card controller.
-.It Intel i82365SL-DF
-.Tn Intel Ns 's
-last version of this device.
-3.3V support was added.
-.It VLSI 82C146
-An older VLSI part with some issues on some machines.
-.It Cirrus Logic PD-6710
-.It Cirrus Logic PD-6720
-.It Cirrus Logic PD-6722
-Cirrus Logic's pcic controller.
-Compatible with the i82365SL Step C with the addition of a different
-3.3V control.
-.It Ricoh RF5C296
-.It Ricoh RF5C396
-Ricoh's PC Card bridge chips.
-These are compatible with the i82365SL Step C, but with yet another
-different 3.3V control.
-.It Vadem 365
-.It Vadem 465
-Compatible with i82365SL Step C.
-.It Vadem 468
-.It Vadem 469
-Like the earlier Vadem models, but with Vadem's own, incompatible, 3.3V
-control system.
-.It IBM PCIC
-.Tn IBM
-clone of the original i82365SL part, with its own ID register value.
-Has no 3.3V ability.
-.El
-.Pp
-Many other vendors made parts in this arena, but most of them were
-compatible with one of the above chipsets.
-.Pp
-The following PCI pcmcia bridges are supported:
-.Pp
-.Bl -tag -width "Intel i82365SL Step A" -compact
-.It Cirrus Logic PD6729
-.It Cirrus Logic PD6730
-.Pp
-.It O2micro OZ6729
-.It O2micro OZ6730
-.El
-.Sh BUGS
-This does not work at all at the moment.
diff --git a/share/man/man4/pfsync.4 b/share/man/man4/pfsync.4
index cc9c350ea875..c12bad74831f 100644
--- a/share/man/man4/pfsync.4
+++ b/share/man/man4/pfsync.4
@@ -162,6 +162,8 @@ FreeBSD releases 13.2 and older.
Compatibility with FreeBSD 13.1 has been verified.
.It Cm 1400
FreeBSD release 14.0.
+.It Cm 1500
+FreeBSD release 15.0.
.El
.Sh SYSCTL VARIABLES
The following variables can be entered at the
diff --git a/share/man/man4/random.4 b/share/man/man4/random.4
index 840bc0c3234b..457f49f3d3ce 100644
--- a/share/man/man4/random.4
+++ b/share/man/man4/random.4
@@ -21,7 +21,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd April 19, 2019
+.Dd August 28, 2025
.Dt RANDOM 4
.Os
.Sh NAME
@@ -30,6 +30,7 @@
.Sh SYNOPSIS
.Cd "options RANDOM_LOADABLE"
.Cd "options RANDOM_ENABLE_ETHER"
+.Cd "options RANDOM_ENABLE_TPM"
.Cd "options RANDOM_ENABLE_UMA"
.Sh DESCRIPTION
The
@@ -132,6 +133,17 @@ are listed in square brackets.
See
.Xr random_harvest 9
for more on the harvesting of entropy.
+.Pp
+The
+.Va kern.random.nist_healthtest_enabled
+tunable can be used to enable the entropy source health tests outlined
+in section 4 of NIST Special Publication 800-90B.
+When enabled, all entropy sources will be subject to the repetition
+count and adaptive proportion tests described in that document.
+If one of the tests fails, the source will be disabled, i.e., all
+subsequent entropy samples from that source will be discarded.
+The implementation performs startup testing, during which entropy
+sources are discarded.
.Sh FILES
.Bl -tag -width ".Pa /dev/urandom"
.It Pa /dev/random
diff --git a/share/man/man4/re.4 b/share/man/man4/re.4
index ac33aa4c4e3c..980247af142d 100644
--- a/share/man/man4/re.4
+++ b/share/man/man4/re.4
@@ -33,7 +33,7 @@
.Os
.Sh NAME
.Nm re
-.Nd "RealTek 8139C+/8169/816xS/811xS/8168/810xE/8111 PCI/PCIe Ethernet adapter driver"
+.Nd "Realtek 8139C+/8169/816xS/811xS/8168/810xE/8111 PCI/PCIe Ethernet adapter driver"
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
@@ -52,7 +52,7 @@ if_re_load="YES"
.Sh DESCRIPTION
The
.Nm
-driver provides support for various NICs based on the RealTek RTL8139C+,
+driver provides support for various NICs based on the Realtek RTL8139C+,
RTL8169, RTL816xS, RTL811xS, RTL8168, RTL810xE and RTL8111 PCI and
PCIe Ethernet controllers.
.Pp
@@ -115,7 +115,7 @@ or
modes.
.It Cm 1000baseTX
Set 1000baseTX operation over twisted pair.
-The RealTek gigE chips support 1000Mbps in
+The Realtek gigE chips support 1000Mbps in
.Cm full-duplex
mode only.
.\" .It Cm 1000baseSX
@@ -142,7 +142,7 @@ For more information on configuring this device, see
.Sh HARDWARE
The
.Nm
-driver supports RealTek RTL8139C+, RTL8169, RTL816xS, RTL811xS, RTL8168,
+driver supports Realtek RTL8139C+, RTL8169, RTL816xS, RTL811xS, RTL8168,
RTL810xE and RTL8111 based Fast Ethernet and Gigabit Ethernet adapters including:
.Pp
.Bl -bullet -compact
@@ -241,7 +241,7 @@ the network connection (cable).
.Xr vlan 4 ,
.Xr ifconfig 8
.Rs
-.%T RealTek Semiconductor RTL8139C+, RTL8169, RTL8169S and RTL8110S datasheets
+.%T Realtek Semiconductor RTL8139C+, RTL8169, RTL8169S and RTL8110S datasheets
.%U https://www.realtek.com
.Re
.Sh HISTORY
@@ -281,7 +281,7 @@ The
user should ensure the NIC is installed in a 32-bit PCI slot to
avoid this problem.
.Pp
-The RealTek 8169, 8169S and 8110S chips appear to only be capable of
+The Realtek 8169, 8169S and 8110S chips appear to only be capable of
transmitting jumbo frames up to 7.5K in size.
.Pp
If this driver is causing problems then an updated driver from
diff --git a/share/man/man4/rgephy.4 b/share/man/man4/rgephy.4
index 2cc655aacb18..2e3048a32894 100644
--- a/share/man/man4/rgephy.4
+++ b/share/man/man4/rgephy.4
@@ -28,7 +28,7 @@
.Os
.Sh NAME
.Nm rgephy
-.Nd RealTek RTL8168/8169/8110/8211 series 10/100/1000 Gigabit Ethernet PHY driver
+.Nd Realtek RTL8168/8169/8110/8211 series 10/100/1000 Gigabit Ethernet PHY driver
.Sh SYNOPSIS
To compile all available PHY drivers into the kernel,
place the following line in your kernel configuration file:
@@ -45,7 +45,7 @@ place the following lines in your kernel configuration file instead:
.Sh DESCRIPTION
The
.Nm
-driver supports the RealTek RTL8168, RTL8169, RTL8110 and RTL8211 series
+driver supports the Realtek RTL8168, RTL8169, RTL8110 and RTL8211 series
integrated 10/100/1000 Gigabit Ethernet PHYs.
.Pp
In order to get a list of media types and options supported by a specific
diff --git a/share/man/man4/rights.4 b/share/man/man4/rights.4
index 8f5f6ad9c2d2..0223ba0b6b88 100644
--- a/share/man/man4/rights.4
+++ b/share/man/man4/rights.4
@@ -281,7 +281,8 @@ Permit
and
.Xr openat 2
with
-.Dv O_FSYNC
+.Dv O_DSYNC ,
+.Dv O_FSYNC ,
or
.Dv O_SYNC
flag.
diff --git a/share/man/man4/rl.4 b/share/man/man4/rl.4
index 9323e046a5e1..ba93b282ef73 100644
--- a/share/man/man4/rl.4
+++ b/share/man/man4/rl.4
@@ -33,7 +33,7 @@
.Os
.Sh NAME
.Nm rl
-.Nd "RealTek 8129/8139 Fast Ethernet device driver"
+.Nd "Realtek 8129/8139 Fast Ethernet device driver"
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
@@ -53,10 +53,10 @@ if_rl_load="YES"
The
.Nm
driver provides support for PCI Ethernet adapters and embedded
-controllers based on the RealTek 8129 and 8139 Fast Ethernet controller
+controllers based on the Realtek 8129 and 8139 Fast Ethernet controller
chips.
.Pp
-The RealTek 8129/8139 series controllers use bus master DMA but do not use a
+The Realtek 8129/8139 series controllers use bus master DMA but do not use a
descriptor-based data transfer mechanism.
The receiver uses a
single fixed size ring buffer from which packets must be copied
@@ -86,7 +86,7 @@ driver supports the following media types:
.It autoselect
Enable autoselection of the media type and options.
This is only
-supported if the PHY chip attached to the RealTek controller
+supported if the PHY chip attached to the Realtek controller
supports NWAY autonegotiation.
The user can manually override
the autoselected mode by adding media options to the
@@ -135,7 +135,7 @@ driver include:
.It
Accton
.Dq Cheetah
-EN1207D (MPX 5030/5038; RealTek 8139 clone)
+EN1207D (MPX 5030/5038; Realtek 8139 clone)
.It
Allied Telesyn AT2550
.It
@@ -259,7 +259,7 @@ the card should be configured correctly.
.Xr polling 4 ,
.Xr ifconfig 8
.Rs
-.%B The RealTek 8129, 8139 and 8139C+ datasheets
+.%B The Realtek 8129, 8139 and 8139C+ datasheets
.%U https://www.realtek.com
.Re
.Sh HISTORY
@@ -284,7 +284,7 @@ longword aligned by definition.
The driver probably should not be
depending on this characteristic.
.Pp
-The RealTek data sheets are of especially poor quality,
+The Realtek data sheets are of especially poor quality,
and there is a lot of information missing
particularly concerning the receiver operation.
One particularly
@@ -307,4 +307,4 @@ When the driver encounters
this value, it knows that it has finished processing all currently
available packets.
Neither this magic value nor its significance are
-documented anywhere in the RealTek data sheets.
+documented anywhere in the Realtek data sheets.
diff --git a/share/man/man4/rndtest.4 b/share/man/man4/rndtest.4
index 9ed16caf3b87..c73302063cd3 100644
--- a/share/man/man4/rndtest.4
+++ b/share/man/man4/rndtest.4
@@ -49,7 +49,6 @@ is received from the device.
Failures are optionally reported on the console.
.Sh SEE ALSO
.Xr crypto 4 ,
-.Xr hifn 4 ,
.Xr random 4 ,
.Xr safe 4 ,
.Xr crypto 9
diff --git a/share/man/man4/rue.4 b/share/man/man4/rue.4
index c30d8ca2c757..b26acd575d65 100644
--- a/share/man/man4/rue.4
+++ b/share/man/man4/rue.4
@@ -28,7 +28,7 @@
.Os
.Sh NAME
.Nm rue
-.Nd "RealTek RTL8150 USB to Fast Ethernet controller driver"
+.Nd "Realtek RTL8150 USB to Fast Ethernet controller driver"
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
@@ -51,7 +51,7 @@ if_rue_load="YES"
.Sh DESCRIPTION
The
.Nm
-driver provides support for USB Ethernet adapters based on the RealTek
+driver provides support for USB Ethernet adapters based on the Realtek
RTL8150 USB to Fast Ethernet controller chip.
.Pp
The RTL8150 contains an integrated Fast Ethernet MAC, which supports
@@ -107,7 +107,7 @@ For more information on configuring this device, see
.Sh HARDWARE
The
.Nm
-driver supports RealTek RTL8150 based USB Ethernet
+driver supports Realtek RTL8150 based USB Ethernet
adapters including:
.Pp
.Bl -bullet -compact
@@ -138,7 +138,7 @@ The driver failed to allocate an mbuf for the receiver ring.
.Xr ng_ether 4 ,
.Xr ifconfig 8
.Rs
-.%T "RealTek RTL8150 data sheet"
+.%T "Realtek RTL8150 data sheet"
.%U http://pdf.seekdatasheet.com/2008714/200807142333305235.pdf
.Re
.Sh HISTORY
diff --git a/share/man/man4/safe.4 b/share/man/man4/safe.4
index 89375d058bf7..914b2dd0dd1c 100644
--- a/share/man/man4/safe.4
+++ b/share/man/man4/safe.4
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd November 22, 2024
+.Dd October 31, 2025
.Dt SAFE 4
.Os
.Sh NAME
@@ -57,6 +57,11 @@ In
.Cd hw.safe.rngbufsize
.Cd hw.safe.rngmaxalarm
.Ed
+.Sh DEPRECATION NOTICE
+The
+.Nm
+driver is deprecated and is scheduled for removal in
+.Fx 16.0 .
.Sh DESCRIPTION
The
.Nm
@@ -128,5 +133,14 @@ packet processing.
.Xr random 4 ,
.Xr crypto 7 ,
.Xr crypto 9
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 5.2 .
+It is deprecated in
+.Fx 15.0
+and removed in
+.Fx 16.0 .
.Sh BUGS
Public key support is not implemented.
diff --git a/share/man/man4/sbp.4 b/share/man/man4/sbp.4
index 2255fa2993ae..1daffd104a2c 100644
--- a/share/man/man4/sbp.4
+++ b/share/man/man4/sbp.4
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-4-Clause
+.\"
.\" Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
.\" All rights reserved.
.\"
@@ -29,7 +32,7 @@
.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd February 8, 2012
+.Dd November 11, 2025
.Dt SBP 4
.Os
.Sh NAME
@@ -62,19 +65,27 @@ might wonder why the device is not detached at the CAM layer when the device
is unplugged.
It is detached only if the device has not been plugged again
during several bus resets.
-This is for preventing to detach an active file system
-even when the device cannot be probed correctly for some reason after a bus reset
+This is for preventing to detach an active file system even when the
+device cannot be probed correctly for some reason after a bus reset
or when the device is temporary disconnected because the user changes the bus
topology.
If you want to force to detach the device, run
-.Dq Nm fwcontrol Fl r
-several times or set hw.firewire.hold_count=0 by
+.Ql fwcontrol -r
+several times or set
+.Va hw.firewire.hold_count=0
+by
.Xr sysctl 8 .
.Pp
Some (broken) HDDs do not work well with tagged queuing.
If you have problems with such drives, try
-.Dq Nm camcontrol [device id] tags -N 1
+.Ql camcontrol [device id] tags -N 1
to disable tagged queuing.
+.Sh HARDWARE
+The
+.Nm
+driver supports FireWire Serial Bus Protocol 2
+.Pq SBP-2
+storage devices.
.Sh SEE ALSO
.Xr cam 4 ,
.Xr firewire 4 ,
diff --git a/share/man/man4/sdhci.4 b/share/man/man4/sdhci.4
index 4a4e02539acd..1608d9c2fe1a 100644
--- a/share/man/man4/sdhci.4
+++ b/share/man/man4/sdhci.4
@@ -1,4 +1,6 @@
.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2008 Alexander Motin <mav@FreeBSD.org>
.\" All rights reserved.
.\"
@@ -22,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd August 25, 2020
+.Dd October 3, 2025
.Dt SDHCI 4
.Os
.Sh NAME
@@ -56,21 +58,28 @@ detaches it on card removing.
.Sh HARDWARE
The
.Nm
-driver supports different specification compatible chips.
-The following chips have been verified to work:
+driver supports the SD Host Controller Specification.
+When attaching via the PCI bus,
+the controller is automatically configured.
+Many SoC chips provide a SDHCI controller directly mapped to I/O memory.
+For those, the controller may be configured using
+.Xr fdt 4
+or
+.Xr acpi 4
+methods, supplied by your board's vendor.
.Pp
-.Bl -bullet -compact
-.It
-ENE CB712
-.It
-ENE CB714
-.It
-RICOH R5C822
-.It
-RICOH R5CE823
-.It
-TI PCIXX21/XX11/XX12
-.El
+Unlike most other drivers that support a generic standard,
+.Nm
+requires a large number of quirks to cope with hardware bugs,
+proprietary registers and poorly specified power management.
+While many chipsets from
+Intel, Xilinx, Rockchip, Frescale, Ricoh, and TI have these entries,
+suboptimal performance may result when using some controllers.
+Quirks and custom configuration are most often required
+when the device is configured via
+.Xr fdt 4
+or
+.Xr acpi 4 .
.Sh SEE ALSO
.Xr mmc 4 ,
.Xr mmcsd 4
@@ -79,8 +88,3 @@ TI PCIXX21/XX11/XX12
.Re
.Sh AUTHORS
.An Alexander Motin Aq Mt mav@FreeBSD.org
-.Sh BUGS
-Many of existing SD controller chips have some nonstandard requirements,
-proprietary registers and hardware bugs, requiring additional handling.
-ENE chips are handled to work fine, while some revisions of RICOH and TI
-controllers still do not see cards without some additional initialization.
diff --git a/share/man/man4/snd_dummy.4 b/share/man/man4/snd_dummy.4
index 2b9d26d318ef..5e9d8aa5dd89 100644
--- a/share/man/man4/snd_dummy.4
+++ b/share/man/man4/snd_dummy.4
@@ -27,7 +27,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd July 15, 2024
+.Dd October 22, 2025
.Dt SND_DUMMY 4
.Os
.Sh NAME
@@ -47,11 +47,22 @@ physical sound card.
It is intended for testing, so that test programs do not need to rely on
hardware being present in the machine in order to run.
.Pp
-The driver attaches as a regular PCM device, with two channels (one playback
-and one recording), as well as a mixer.
+The driver attaches as a regular
+.Xr sound 4
+device, with two channels (one playback and one recording), as well as a mixer.
.Pp
Playback works by discarding all input, and recording by returning silence
(zeros).
+.Sh FILES
+.Bl -tag -width "/dev/dsp.dummy" -compact
+.It Pa /dev/dsp.dummy
+Alias to the device's
+.Pa /dev/dsp%d
+file created by
+.Xr sound 4 .
+This makes it easy for tests to open the dummy device when there are more
+devices present in the system.
+.El
.Sh SEE ALSO
.Xr sound 4 ,
.Xr loader.conf 5 ,
diff --git a/share/man/man4/syncache.4 b/share/man/man4/syncache.4
index e92502fd15ff..f83e9b083e45 100644
--- a/share/man/man4/syncache.4
+++ b/share/man/man4/syncache.4
@@ -10,7 +10,7 @@
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
-.Dd April 12, 2021
+.Dd August 30, 2025
.Dt SYNCACHE 4
.Os
.Sh NAME
@@ -39,6 +39,8 @@ MIBs for controlling TCP SYN caching
.Nm sysctl Cm net.inet.tcp.syncache.count
.It
.Nm sysctl Cm net.inet.tcp.syncache.see_other
+.It
+.Nm sysctl Cm net.inet.tcp.syncache.rst_on_sock_fail
.El
.Sh DESCRIPTION
The
@@ -107,6 +109,18 @@ and run only with
set
.Va net.inet.tcp.syncookies_only
to 1.
+To use
+.Nm syncookies
+to handle bucket overflows in the
+.Nm syncache
+set
+.Va net.inet.tcp.syncookies
+to 1.
+The default value for
+.Va net.inet.tcp.syncookies_only
+is 0 and the default value for
+.Va net.inet.tcp.syncookies
+is 1.
.Pp
The
.Nm
@@ -169,6 +183,9 @@ However, extra
.Xr ucred 9
referencing is required on every incoming SYN packet processed.
The default is off.
+.It Va rst_on_sock_fail
+Send a TCP RST segment if the socket allocation fails.
+The default is on.
.El
.Pp
Statistics on the performance of the
@@ -206,8 +223,16 @@ Entries dropped due to ICMP unreachable messages.
Failures to allocate new
.Nm
entry.
+.It Li "cookies sent"
+SYN cookies sent in SYN ACK segments.
.It Li "cookies received"
-Connections created from segment containing ACK.
+ACK segments with valid syncookies which resulted in TCP connection
+establishment.
+.It Li "spurious cookies rejected"
+Received ACKs, for which the syncache lookup failed and also no syncookie was
+recently sent.
+.It Li "failed cookies rejected"
+Received ACKs for which the syncookie validation failed.
.El
.Sh SEE ALSO
.Xr netstat 1 ,
diff --git a/share/man/man4/tcp.4 b/share/man/man4/tcp.4
index fcfda42908d8..3c9f4ff83f3d 100644
--- a/share/man/man4/tcp.4
+++ b/share/man/man4/tcp.4
@@ -31,7 +31,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd June 27, 2025
+.Dd September 5, 2025
.Dt TCP 4
.Os
.Sh NAME
@@ -940,9 +940,6 @@ maximum segment size.
This helps throughput in general, but
particularly affects short transfers and high-bandwidth large
propagation-delay connections.
-.It Va rfc6675_pipe
-Deprecated and superseded by
-.Va sack.revised
.It Va sack.enable
Enable support for RFC 2018, TCP Selective Acknowledgment option,
which allows the receiver to inform the sender about all successfully
@@ -974,6 +971,11 @@ recovery, the trailing segment is immediately resent, rather than waiting
for a Retransmission timeout.
Finally, SACK loss recovery is also engaged, once two segments plus one byte are
SACKed - even if no traditional duplicate ACKs were observed.
+.Va sack.revised
+is deprecated and will be removed in
+.Fx 16 .
+.Va sack.enable
+will always follow RFC6675.
.It Va sendbuf_auto
Enable automatic send buffer sizing.
.It Va sendbuf_auto_lowat
diff --git a/share/man/man4/thunderbolt.4 b/share/man/man4/thunderbolt.4
new file mode 100644
index 000000000000..fd7cb1f3f338
--- /dev/null
+++ b/share/man/man4/thunderbolt.4
@@ -0,0 +1,22 @@
+.\"
+.\" Copyright (c) 2025 Alexander Ziaee
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd October 2, 2025
+.Dt THUNDERBOLT 4
+.Os
+.Sh NAME
+.Nm thunderbolt
+.Nd USB4 controller driver
+.Sh SYNOPSIS
+.Cd device thunderbolt
+.Sh HARDWARE
+The
+.Nm
+driver supports Thunderbolt 3 and USB4 controllers.
+.Sh HISTORY
+The
+.Nm
+driver appeared in
+.Fx 15.0 .
diff --git a/share/man/man4/u3g.4 b/share/man/man4/u3g.4
index 51c883b8378e..c7bf1f98880a 100644
--- a/share/man/man4/u3g.4
+++ b/share/man/man4/u3g.4
@@ -94,14 +94,14 @@ Qualcomm Inc. GOBI 1000, 2000 and 3000 devices with MDM1000 or MDM2000 chipsets
.It
QUECTEL BGX, ECX, EGX, EMX, EPX, RGX series
.It
-Quectel EM160R
+Quectel EM160R, EM060K
.Pq see Sx CAVEATS
.It
Huawei B190, E180v, E220, E3372, E3372v153, E5573Cs322, ('<Huawei Mobile>')
.It
Novatel U740, MC950D, X950D, etc.
.It
-Sierra MC875U, MC8775U, etc.
+Sierra MC875U, MC8775U, EM7590, etc.
.It
Panasonic CF-F9 GOBI
.El
diff --git a/share/man/man4/udbc.4 b/share/man/man4/udbc.4
new file mode 100644
index 000000000000..c8fa02ec18f1
--- /dev/null
+++ b/share/man/man4/udbc.4
@@ -0,0 +1,132 @@
+.\"
+.\" Copyright (c) 2025 The FreeBSD Foundation
+.\"
+.\" This documentation was written by Tom Jones <thj@freebsd.org> under
+.\" sponsorship from the FreeBSD Foundation.
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.\"
+.Dd September 3, 2025
+.Dt UDBC 4
+.Os
+.Sh NAME
+.Nm udbc
+.Nd USB Debug Class device driver
+.Sh SYNOPSIS
+.Cd "device usb"
+.Cd "device ucom"
+.Cd "device udbc"
+.Pp
+In
+.Xr rc.conf 5 :
+.Cd kld_list="udbc"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for USB Debug Class devices whose
+interface class is Diagnostic Class and the subclass is DbC.GP.
+.Pp
+The USB Debug Class is defined in the USB 3.1 Device Class
+Specification for Debug Devices.
+This is designed to provide a general-purpose communication channel
+for debugging.
+It has also been widely implemented in USB xHCs
+.Pq USB eXtensible Host Controllers ,
+which can be found on many commodity computers,
+as an optional feature.
+Once this feature is enabled on a USB xHC, one of the USB ports will
+behave as a USB Debug Class device,
+not a host port,
+when a USB debug cable is connected.
+The supported class in USB xHCs is typically DbC.GP,
+while the specification defines several types of Debug Class devices.
+The DbC.GP uses IN and OUT endpoint pairs and realizes a single
+bidirectional serial communication channel.
+On most systems,
+including
+.Fx ,
+the DbC.GP is seen as a simple serial device.
+.Pp
+Most systems with USB xHC can be configured to provide DbC.GP access.
+The
+.Nm
+is a driver that connects to DbC.GP-supported devices,
+offering
+.Xr tty 4
+devices to connect to them via the
+.Xr ucom 4
+device driver.
+.Sh HARDWARE CONFIGURATION
+A native DbC.GP device can be attached using the
+.Nm
+driver in a straightforward way.
+.Pp
+A USB xHC DbC.GP device on a target system needs a special hardware
+configuration because all of the ports are supposed to be a USB Host.
+There is one method to expose DbC.GP is to use a USB 3.1 A-to-A cable
+.Pq section 5.5.2 in USB 3.1 Legacy Cable and Connector Specification .
+When this cable is connected to a USB 3.1 port on the target system,
+the DbC-enabled USB xHC automatically switches the port as a USB Device.
+The
+.Nm
+driver can find a DbC.GP device on that port.
+.Pp
+Note that a USB xHC with USB 3.2 support
+.Pq USB Type-C connectors
+is not compatible with the USB 3.1 A-to-A cable.
+Connecting a USB 3.2 C-to-C cable or A-to-C cable does not automatically work,
+either,
+because it needs role configuration of the port, which is not supported on
+.Fx
+yet.
+.Sh FILES
+.Bl -tag -width "/dev/ttyU*.*.init" -compact
+.It Pa /dev/ttyU*.*
+for callin ports
+.It Pa /dev/ttyU*.*.init
+.It Pa /dev/ttyU*.*.lock
+corresponding callin initial-state and lock-state devices
+.Pp
+.It Pa /dev/cuaU*.*
+for callout ports
+.It Pa /dev/cuaU*.*.init
+.It Pa /dev/cuaU*.*.lock
+corresponding callout initial-state and lock-state devices
+.El
+.Sh SEE ALSO
+.Xr tty 4 ,
+.Xr ucom 4 ,
+.Xr usb 4 ,
+.Xr xhci 4
+.Sh STANDARDS
+.Rs
+.%T eXtensible Host Controller Interface for Universal Serial Bus (XHCI)
+.%U https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf
+.Re
+.Rs
+.%T USB 3.1 Device Class Specification for Debug Devices
+.%U https://www.usb.org/sites/default/files/documents/usb_debug_class_rev_1_0_final_0.pdf
+.Re
+.Rs
+.%T USB 3.1 Legacy Cable and Connector Specification
+.%U https://www.usb.org/document-library/usb-31-legacy-cable-and-connector-revision-10
+.Re
+.Sh HISTORY
+The
+.Nm
+driver first appeared
+.Fx
+15.0.
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Hiroki Sato Aq Mt hrs@FreeBSD.org .
+.Sh BUGS
+According to the XHCI specification the host side of USB Debug should work with
+any USB 3.0 port,
+whether connected directly to a controller or with a hub in between.
+Testing on some controllers has encountered issues when using a hub rather than
+a directly connected port on the controller.
diff --git a/share/man/man4/umass.4 b/share/man/man4/umass.4
index 03e8b6ff6ef1..306dc4e851ba 100644
--- a/share/man/man4/umass.4
+++ b/share/man/man4/umass.4
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 1999
.\" Nick Hibma <n_hibma@FreeBSD.org>. All rights reserved.
.\"
@@ -22,44 +25,44 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd January 27, 2020
+.Dd November 28, 2025
.Dt UMASS 4
.Os
.Sh NAME
.Nm umass
.Nd USB Mass Storage Devices driver
.Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following line in your
-kernel configuration file:
-.Bd -ragged -offset indent
+.Cd "device da"
.Cd "device scbus"
+.Cd "device pass"
.Cd "device usb"
.Cd "device umass"
-.Ed
.Pp
-Alternatively, to load the driver as a
-module at boot time, place the following line in
+In
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-umass_load="YES"
-.Ed
+.Cd umass_load
.Sh DESCRIPTION
The
.Nm
driver provides support for Mass Storage devices that attach to the USB
-port.
+interface.
.Pp
-To use the
-.Nm
-driver,
+If the appropriate hardware is detected,
+the driver will be loaded automatically by
+.Xr devmatch 8 .
+To load the driver manually at boot time, use the
+.Cm umass_load
+command at the
+.Xr loader 8
+prompt, or add it to
+.Xr loader.conf 5 .
+.Pp
+To use the driver in a custom kernel,
.Xr usb 4
-and one of
-.Xr uhci 4
-or
-.Xr ohci 4
-or
-.Xr ehci 4
+and at least one of
+.Xr uhci 4 ,
+.Xr ohci 4 ,
+.Xr ehci 4 ,
or
.Xr xhci 4
must be configured in the kernel.
@@ -71,17 +74,41 @@ requires
and
.Xr scbus 4
to be included in the kernel.
-.Sh EXAMPLES
-.Bd -literal -offset indent
-device umass
-device scbus
-device da
-device pass
-.Ed
+.Sh HARDWARE
+The
+.Nm
+driver supports USB Mass Storage devices such as:
+.Pp
+.Bl -bullet -compact
+.It
+USB thumb drives
+.It
+USB hard disk drives
+.It
+USB floppy drives
+.El
.Pp
-Add the
+The
.Nm
-driver to the kernel.
+driver tries its best to avoid issues with the drives, not all issues
+can be handled automatically, so quirks may be necessary.
+See the
+.Em USB Mass Sotrage quirks
+section of
+.Xr usb_quirk 4
+for quirks for the drives.
+The
+.Cd add_dev_quirk_vplh
+and
+.Cd add_quirk
+commands of
+.Xr usbconfig 8
+can manage these dynamically.
+Quirks can be specified via tuables, as described in
+.Xr usb_quirk 4 .
+.Sh EXAMPLES
+Rescan all slots on a multi-slot flash reader,
+where the slots map to separate LUNs on a single SCSI ID:
.Bd -literal -offset indent
camcontrol rescan 0:0:0
camcontrol rescan 0:0:1
@@ -89,19 +116,24 @@ camcontrol rescan 0:0:2
camcontrol rescan 0:0:3
.Ed
.Pp
-Rescan all slots on a multi-slot flash reader, where the slots map to separate
-LUNs on a single SCSI ID.
Typically only the first slot will be enabled at boot time.
-This assumes that the flash reader is the first SCSI bus in the system and has 4 slots.
+This assumes that
+the flash reader is the first SCSI bus in the system and has 4 slots.
.Sh SEE ALSO
.Xr cfumass 4 ,
.Xr ehci 4 ,
.Xr ohci 4 ,
.Xr uhci 4 ,
.Xr usb 4 ,
+.Xr usb_quirk 4 ,
.Xr xhci 4 ,
-.Xr camcontrol 8
-.\".Sh HISTORY
+.Xr camcontrol 8 ,
+.Xr usbconfig 8 .
+.Sh HISTORY
+The
+.Nm
+driver appeared in
+.Fx 4.3 .
.Sh AUTHORS
.An -nosplit
The
diff --git a/share/man/man4/umb.4 b/share/man/man4/umb.4
index 311a50faf8e7..37c86b3074f5 100644
--- a/share/man/man4/umb.4
+++ b/share/man/man4/umb.4
@@ -17,14 +17,13 @@
.\"
.\" $NetBSD: umb.4,v 1.4 2019/08/30 09:22:17 wiz Exp $
.\"
-.Dd August 4, 2025
+.Dd September 3, 2025
.Dt UMB 4
.Os
.Sh NAME
.Nm umb
.Nd USB Mobile Broadband Interface Model (MBIM) cellular modem driver
.Sh SYNOPSIS
-.Cd "device netmap"
.Cd "device usb"
.Cd "device umb"
.Pp
diff --git a/share/man/man4/upgt.4 b/share/man/man4/upgt.4
index 5d4ada1d1a1f..cc5775d252ac 100644
--- a/share/man/man4/upgt.4
+++ b/share/man/man4/upgt.4
@@ -48,7 +48,7 @@
.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd February 18, 2025
+.Dd October 24, 2025
.Dt UPGT 4
.Os
.Sh NAME
@@ -78,7 +78,7 @@ if_upgt_load="YES"
The
.Nm
driver is slated to be removed in
-.Fx 15.0 .
+.Fx 16.0 .
.Sh DESCRIPTION
The
.Nm
diff --git a/share/man/man4/usbhid.4 b/share/man/man4/usbhid.4
index e5ba370cd025..0b2e7230e3f4 100644
--- a/share/man/man4/usbhid.4
+++ b/share/man/man4/usbhid.4
@@ -21,7 +21,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd July 30, 2025
+.Dd October 2, 2025
.Dt USBHID 4
.Os
.Sh NAME
@@ -67,9 +67,13 @@ Default is 1.
Debug output level, where 0 is debugging disabled and larger values increase
debug message verbosity.
Default is 0.
+Debug messages are printed on the system console and can be viewed using
+.Xr dmesg 8 .
.El
.Sh SEE ALSO
.Xr ehci 4 ,
+.Xr hkbd 4 ,
+.Xr hms 4 ,
.Xr ohci 4 ,
.Xr uhci 4 ,
.Xr usb 4 ,
@@ -80,6 +84,8 @@ The
.Nm
driver first appeared in
.Fx 13.0 .
+It was enabled by default in
+.Fx 15.0 .
.Sh AUTHORS
.An -nosplit
The
diff --git a/share/man/man4/vt.4 b/share/man/man4/vt.4
index 21d69bf9d495..6176c8c3093e 100644
--- a/share/man/man4/vt.4
+++ b/share/man/man4/vt.4
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd July 7, 2024
+.Dd November 21, 2025
.Dt VT 4
.Os
.Sh NAME
@@ -352,6 +352,12 @@ Notification that the console bell has rung.
.It Li hz Ta Tone that was requested in Hz.
.El
.Sh EXAMPLES
+To increase the scrollback buffer size to 22500 lines,
+add the following line to
+.Pa /etc/rc.conf :
+.Pp
+.Dl allscreens_flags="-h 22500"
+.Pp
This example changes the default color of normal text to green on a
black background, or black on a green background when reversed.
Note that white space cannot be used inside the attribute string
@@ -414,6 +420,7 @@ at boot:
.Xr getty 8 ,
.Xr kldload 8 ,
.Xr moused 8 ,
+.Xr vidcontrol 8 ,
.Xr vtfontcvt 8
.Sh HISTORY
The
diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4
index b6f10ddd87cb..fd41b36882a6 100644
--- a/share/man/man4/vtnet.4
+++ b/share/man/man4/vtnet.4
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd August 21, 2025
+.Dd September 30, 2025
.Dt VTNET 4
.Os
.Sh NAME
@@ -54,6 +54,20 @@ TCP segmentation offload (TSO), TCP large receive offload (LRO),
hardware VLAN tag stripping/insertion features, a multicast hash filter,
as well as Jumbo Frames (up to 9216 bytes), which can be
configured via the interface MTU setting.
+.Pp
+Two flavors of TCP LRO are supported:
+Hardware TCP LRO, which is performed by the host providing TCP segments larger
+than the MTU to the guest, and Software TCP LRO, which is performed by the
+network stack of the guest processing TCP segments in an optimized way.
+Only one flavour of TCP LRO should be used.
+Since hardware TCP LRO can have bad interactions with IP forwarding and
+software TCP LRO mitigates several drawbacks of hardware TCP LRO, the default
+setting is to disable hardware TCP LRO.
+See the loader tunable
+.Va hw.vtnet. Ns Ar X Ns Va .lro_disable .
+.Pp
+TCP/UDP receive checksum offload cannot be configured independently for IPv4
+and IPv6.
Selecting an MTU larger than 1500 bytes with the
.Xr ifconfig 8
utility configures the adapter to receive and transmit Jumbo Frames.
@@ -84,14 +98,16 @@ field of the structure
.Vt struct virtio_net_hdr .
It also marks the checksum as being correct in the mbuf packet header.
The default value is 0.
+This tunable is deprecated and will be removed in
+.Fx 16 .
.It Va hw.vtnet.tso_disable
.It Va hw.vtnet. Ns Ar X Ns Va .tso_disable
This tunable disables TCP segmentation offloading.
The default value is 0.
.It Va hw.vtnet.lro_disable
.It Va hw.vtnet. Ns Ar X Ns Va .lro_disable
-This tunable disables large receive offload.
-The default value is 0.
+This tunable disables hardware TCP LRO.
+The default value is 1.
.It Va hw.vtnet.mq_disable
.It Va hw.vtnet. Ns Ar X Ns Va .mq_disable
This tunable disables multiqueue.
@@ -115,11 +131,11 @@ This tunable sets the number of RX segments processed in one pass.
The default value is 1024.
.It Va hw.vtnet.lro_entry_count
.It Va hw.vtnet. Ns Ar X Ns Va .lro_entry_count
-This tunable sets the software LRO entry count.
+This tunable sets the software TCP LRO entry count.
The default value is 128, the minimum value is 8.
.It Va hw.vtnet.lro_mbufq_depth
.It Va hw.vtnet. Ns Ar X Ns Va .lro_mbufq_depth
-This tunable sets the depth of the software LRO mbuf queue.
+This tunable sets the depth of the software TCP LRO mbuf queue.
The default value is 0.
.It Va hw.vtnet.altq_disable
This tunable disables ALTQ support, allowing the use of multiqueue instead.
@@ -127,7 +143,6 @@ This option applies to all interfaces.
The default value is 0.
.El
.Sh TRANSMIT QUEUE STATISTICS
-.Bl -tag -width "xxxxxx"
For each transmit queue of each interface the following read-only statistics
are provided:
.Bl -tag -width "xxxxxx"
@@ -154,7 +169,14 @@ The number of times the receive interrupt handler was rescheduled.
.It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .host_lro
The number of times TCP large receive offload was performed.
.It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed
-Currently not used.
+The number of times a packet with a request for receive or transmit checksum
+offloading was received and this request failed.
+The different reasons for the failure are counted by
+.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto ,
+.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto ,
+.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype ,
+and
+.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset .
.It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum
The number of times receive checksum offloading for UDP or TCP was performed.
.It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .ierrors
@@ -214,18 +236,21 @@ over all receive queues of the interface.
The sum of
.Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed
over all receive queues of the interface.
-.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_proto
-Currently unused.
+.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto
+The number of times a packet with a request for receive or transmit checksum
+offloading was received where the IP protocol was not accessible.
.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset
-Currently unused.
-.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto
-Currently unused.
-.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype
The number of times fixing the checksum required by
.Va hw.vtnet.fixup_needs_csum
or
.Va hw.vtnet. Ns Ar X Ns Va .fixup_needs_csum
-was attempted for a packet with an EtherType other than IPv4 or IPv6.
+was attempted for a packet where the csum is not located in the first mbuf.
+.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto
+The number of times a packet with a request for receive or transmit checksum
+offloading was received where the IP protocol was neither TCP nor UDP.
+.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype
+The number of times a packet with a request for receive or transmit checksum
+offloading was received where the EtherType was neither IPv4 nor IPv6.
.It Va dev.vtnet. Ns Ar X Ns Va .rx_mergeable_failed
The number of times receiving a mergable buffer failed.
.It Va dev.vtnet. Ns Ar X Ns Va .rx_enq_replacement_failed
diff --git a/share/man/man4/watchdog.4 b/share/man/man4/watchdog.4
index b74640de8469..fc2d600328dd 100644
--- a/share/man/man4/watchdog.4
+++ b/share/man/man4/watchdog.4
@@ -41,24 +41,22 @@ The device
supports several optional
.Xr ioctl 2
calls for configuration, and
-responds to a single operational
+responds to a set of operational
.Xr ioctl 2
-call,
-.Dv WDIOCPATPAT .
-It takes a single argument which represents a timeout value specified as a
-power of two nanoseconds, or-ed with a flag selecting active or passive control
-of the watchdog.
+calls:
+.Bl -tag -width "WDIOC_CONTROL int "
+.It Dv WDIOCPATPAT
+Pat the watchdog.
+.It Dv WDIOC_CONTROL
+Enable, disable, or reset the watchdog.
+.El
.Pp
-.Dv WD_ACTIVE
-indicates that the
-.Nm
-will be kept from timing out from userland, for instance by the
-.Xr watchdogd 8
-daemon.
-.Dv WD_PASSIVE
-indicates that the
-.Nm
-will be kept from timing out from the kernel.
+The
+.Dv WDIOCPATPAT
+.Xr ioctl 2
+call takes a single argument which represents a timeout value specified as a
+.Vt sbintime_t
+of the timeout period for the watchdog.
.Pp
The
.Dv WDIOCPATPAT
@@ -77,27 +75,43 @@ none of
implementations support the timeout length, all watchdogs are disabled and must
be explicitly re-enabled.
.Pp
-To disable the watchdogs pass
-.Dv WD_TO_NEVER .
+To disable the watchdogs use the
+.Dv WDIOC_CONTROL
+.Xr ioctl 2
+call with the
+.Dv WD_CTRL_DISABLE
+flag.
If disarming the watchdog(s) failed an error is returned.
The watchdog might
still be armed!
+To reenable the watchdogs use the
+.Dv WDIOC_CONTROL
+.Xr ioctl 2
+call with the
+.Dv WD_CTRL_ENABLE
+flag.
+Another way to pat the watchdog is with the
+.Dv WDIOC_CONTROL
+.Xr ioctl 2
+call passing the
+.Dv WDIOC_CTRL_RESET
+flag.
.Pp
The optional configuration
.Xr ioctl 2
commands are listed here, along with the type of the parameter used.
Examples of their use can be found in
.Xr watchdogd 8 .
-.Bl -tag -width "WDIOC_SETSOFTTIMEOUTACT int "
-.It Dv WDIOC_SETTIMEOUT Fa int
+.Bl -tag -width "WDIOC_GETPRETTIMEOUT sbintime_t"
+.It Dv WDIOC_SETTIMEOUT Fa sbintime_t
set/reset the timer
-.It Dv WDIOC_GETTIMEOUT Fa int
+.It Dv WDIOC_GETTIMEOUT Fa sbintime_t
get total timeout
-.It Dv WDIOC_GETTIMELEFT Fa int
+.It Dv WDIOC_GETTIMELEFT Fa sbintime_t
get time left
-.It Dv WDIOC_GETPRETIMEOUT Fa int
+.It Dv WDIOC_GETPRETIMEOUT Fa sbintime_t
get the pre-timeout
-.It Dv WDIOC_SETPRETIMEOUT Fa int
+.It Dv WDIOC_SETPRETIMEOUT Fa sbintime_t
set the pre-timeout
.It Dv WDIOC_SETPRETIMEOUTACT Fa int
Set the action when a pre-timeout occurs (see
diff --git a/share/man/man4/xl.4 b/share/man/man4/xl.4
index 309434154f4e..591703ac93cb 100644
--- a/share/man/man4/xl.4
+++ b/share/man/man4/xl.4
@@ -253,7 +253,6 @@ It is probably safe to ignore them.
.Xr miibus 4 ,
.Xr netintro 4 ,
.Xr ng_ether 4 ,
-.Xr pccard 4 ,
.Xr polling 4 ,
.Xr ifconfig 8
.Sh HISTORY
diff --git a/share/man/man4/zero.4 b/share/man/man4/zero.4
index f1cd52d455d1..85651d53d342 100644
--- a/share/man/man4/zero.4
+++ b/share/man/man4/zero.4
@@ -29,7 +29,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd April 7, 1996
+.Dd November 9, 2025
.Dt ZERO 4
.Os
.Sh NAME
@@ -48,6 +48,7 @@ supply of null bytes when read.
.El
.Sh SEE ALSO
.Xr full 4 ,
+.Xr gzero 4 ,
.Xr null 4
.Sh HISTORY
A