aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rwxr-xr-xshare/examples/bhyve/vmrun.sh6
-rw-r--r--share/examples/mdoc/example.123
-rw-r--r--share/examples/mdoc/example.323
-rw-r--r--share/examples/mdoc/example.423
-rw-r--r--share/examples/mdoc/example.923
-rw-r--r--share/man/man3/Makefile1
-rw-r--r--share/man/man3/queue.36
-rw-r--r--share/man/man3/siginfo.32
-rw-r--r--share/man/man4/Makefile12
-rw-r--r--share/man/man4/acpi_battery.44
-rw-r--r--share/man/man4/agp.44
-rw-r--r--share/man/man4/ahc.42
-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/bridge.4210
-rw-r--r--share/man/man4/iwlwifi.42
-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.42
-rw-r--r--share/man/man4/man4.aarch64/Makefile6
-rw-r--r--share/man/man4/man4.arm/Makefile6
-rw-r--r--share/man/man4/nvd.46
-rw-r--r--share/man/man4/p9fs.42
-rw-r--r--share/man/man4/rights.43
-rw-r--r--share/man/man4/snd_dummy.417
-rw-r--r--share/man/man4/upgt.44
-rw-r--r--share/man/man5/Makefile70
-rw-r--r--share/man/man5/pf.conf.52
-rw-r--r--share/man/man5/rc.conf.54
-rw-r--r--share/man/man5/src.conf.56
-rw-r--r--share/man/man5/style.mdoc.530
-rw-r--r--share/man/man7/arch.72
-rw-r--r--share/man/man7/build.74
-rw-r--r--share/man/man7/release.718
-rw-r--r--share/man/man8/debug.sh.84
-rw-r--r--share/man/man8/rc.subr.82
-rw-r--r--share/man/man9/Makefile5
-rw-r--r--share/man/man9/PCI_IOV_ADD_VF.92
-rw-r--r--share/man/man9/VOP_OPENCLOSE.913
-rw-r--r--share/man/man9/atomic.92
-rw-r--r--share/man/man9/bhnd.92
-rw-r--r--share/man/man9/bus_dma.94
-rw-r--r--share/man/man9/copy.92
-rw-r--r--share/man/man9/crypto_request.92
-rw-r--r--share/man/man9/deadfs.936
-rw-r--r--share/man/man9/domain.92
-rw-r--r--share/man/man9/efirt.92
-rw-r--r--share/man/man9/g_bio.93
-rw-r--r--share/man/man9/g_geom.92
-rw-r--r--share/man/man9/gone_in.944
-rw-r--r--share/man/man9/ifnet.92
-rw-r--r--share/man/man9/insmntque.96
-rw-r--r--share/man/man9/nvmem.98
-rw-r--r--share/man/man9/ofw_bus_is_compatible.92
-rw-r--r--share/man/man9/pci.92
-rw-r--r--share/man/man9/refcount.92
-rw-r--r--share/man/man9/seqc.92
-rw-r--r--share/man/man9/style.94
-rw-r--r--share/man/man9/uio.914
-rw-r--r--share/man/man9/vn_fullpath.94
-rw-r--r--share/misc/bsd-family-tree3
-rw-r--r--share/misc/committers-src.dot2
-rw-r--r--share/misc/pci_vendors8
-rw-r--r--share/misc/usb_vendors11
-rw-r--r--share/mk/bsd.lib.mk13
-rw-r--r--share/mk/bsd.man.mk34
-rw-r--r--share/mk/src.libnames.mk1
-rw-r--r--share/mk/src.opts.mk2
74 files changed, 470 insertions, 330 deletions
diff --git a/share/examples/bhyve/vmrun.sh b/share/examples/bhyve/vmrun.sh
index 52935363023a..e0052e781dc0 100755
--- a/share/examples/bhyve/vmrun.sh
+++ b/share/examples/bhyve/vmrun.sh
@@ -268,8 +268,10 @@ fi
if [ -z "$firmware" ]; then
case ${platform} in
amd64)
- firmware="${efi_firmware}"
- firmware_pkg="edk2-bhyve"
+ if [ ${efi_mode} -ne 0 ]; then
+ firmware="${efi_firmware}"
+ firmware_pkg="edk2-bhyve"
+ fi
;;
arm64)
firmware="${uboot_firmware}"
diff --git a/share/examples/mdoc/example.1 b/share/examples/mdoc/example.1
index 0bdabe95aa95..daffb8bc0422 100644
--- a/share/examples/mdoc/example.1
+++ b/share/examples/mdoc/example.1
@@ -1,28 +1,7 @@
.\"
-.\" SPDX-License-Identifier: BSD-2-Clause
-.\"
.\" Copyright (c) [year] [your name]
.\"
-.\" 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 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.
+.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Note: The date here should be updated whenever a non-trivial
.\" change is made to the manual page.
diff --git a/share/examples/mdoc/example.3 b/share/examples/mdoc/example.3
index c4e85062cad1..22c398e0491c 100644
--- a/share/examples/mdoc/example.3
+++ b/share/examples/mdoc/example.3
@@ -1,28 +1,7 @@
.\"
-.\" SPDX-License-Identifier: BSD-2-Clause
-.\"
.\" Copyright (c) [year] [your name]
.\"
-.\" 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 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.
+.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Note: The date here should be updated whenever a non-trivial
.\" change is made to the manual page.
diff --git a/share/examples/mdoc/example.4 b/share/examples/mdoc/example.4
index 47ae5456b79a..e627f81af530 100644
--- a/share/examples/mdoc/example.4
+++ b/share/examples/mdoc/example.4
@@ -1,28 +1,7 @@
.\"
-.\" SPDX-License-Identifier: BSD-2-Clause
-.\"
.\" Copyright (c) [year] [your name]
.\"
-.\" 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 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.
+.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Note: The date here should be updated whenever a non-trivial
.\" change is made to the manual page.
diff --git a/share/examples/mdoc/example.9 b/share/examples/mdoc/example.9
index 1dd24a99fd42..f105f7465f2c 100644
--- a/share/examples/mdoc/example.9
+++ b/share/examples/mdoc/example.9
@@ -1,28 +1,7 @@
.\"
-.\" SPDX-License-Identifier: BSD-2-Clause
-.\"
.\" Copyright (c) [year] [your name]
.\"
-.\" 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 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.
+.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Note: The date here should be updated whenever a non-trivial
.\" change is made to the manual page.
diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile
index 3511acb254e1..18e439491793 100644
--- a/share/man/man3/Makefile
+++ b/share/man/man3/Makefile
@@ -1,6 +1,7 @@
.include <src.opts.mk>
PACKAGE= clibs
+MANSUBPACKAGE= -dev
MAN= alloca.3 \
arb.3 \
diff --git a/share/man/man3/queue.3 b/share/man/man3/queue.3
index 79c8d92decbe..535358ae82d5 100644
--- a/share/man/man3/queue.3
+++ b/share/man/man3/queue.3
@@ -1420,13 +1420,13 @@ while in userland builds it prints the diagnostic message on
.Dv stderr
and then calls
.Fn abort .
-These behaviors can be overriden by defining a custom
+These behaviors can be overridden by defining a custom
.Fn QMD_PANIC
macro before first inclusion of
.In sys/queue.h .
The diagnostic messages automatically include the source file, line and function
-where the failing check occured.
-This behavior can be overriden by defining a custom
+where the failing check occurred.
+This behavior can be overridden by defining a custom
.Fn QMD_ASSERT
macro before first inclusion of
.In sys/queue.h .
diff --git a/share/man/man3/siginfo.3 b/share/man/man3/siginfo.3
index f57cf5f7d706..59e3ecf8f3e8 100644
--- a/share/man/man3/siginfo.3
+++ b/share/man/man3/siginfo.3
@@ -224,7 +224,7 @@ raised by a hardware watchpoint exception may report the data address that
triggered the watchpoint in
.Va si_addr .
.Pp
-Sychronous signals set
+Synchronous signals set
.Va si_trapno
to a machine-dependent trap number.
.Pp
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 6e076722c786..e94e832a3f94 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -69,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 \
@@ -962,6 +968,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
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 72a1e092f1bc..a2aa911c0646 100644
--- a/share/man/man4/ahc.4
+++ b/share/man/man4/ahc.4
@@ -144,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:
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/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/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/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 39bfafd95474..d02932070e25 100644
--- a/share/man/man4/mac_do.4
+++ b/share/man/man4/mac_do.4
@@ -246,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 +
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/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/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/snd_dummy.4 b/share/man/man4/snd_dummy.4
index 2b9d26d318ef..172b8ed70729 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 devic 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/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/man5/Makefile b/share/man/man5/Makefile
index c13a8b7afde2..abf4b59d184b 100644
--- a/share/man/man5/Makefile
+++ b/share/man/man5/Makefile
@@ -43,20 +43,6 @@ MAN= a.out.5 \
style.mdoc.5 \
sysctl.conf.5 \
-.if ${MK_BLUETOOTH} != "no"
-MAN+= bluetooth.device.conf.5 \
- bluetooth.hosts.5 \
- bluetooth.protocols.5
-.endif
-
-.if ${MK_FREEBSD_UPDATE} != "no"
-MAN+= freebsd-update.conf.5
-.endif
-
-.if ${MK_HESIOD} != "no"
-MAN+= hesiod.conf.5
-.endif
-
MLINKS= dir.5 dirent.5
MLINKS+=fs.5 inode.5
MLINKS+=hosts.equiv.5 rhosts.5
@@ -69,37 +55,46 @@ MANGROUPS+= ACCT
ACCT= acct.5
ACCTPACKAGE= acct
-MANGROUPS+= BOOTLOADER
+MANGROUPS.${MK_BLUETOOTH}+= BLUETOOTH
+BLUETOOTHPACKAGE= bluetooth
+BLUETOOTH= bluetooth.device.conf.5 \
+ bluetooth.hosts.5 \
+ bluetooth.protocols.5
+
+MANGROUPS+= BOOTLOADER
+BOOTLOADERPACKAGE= bootloader
BOOTLOADER= device.hints.5
-BOOTLOADERPACKAGE=bootloader
-.if ${MK_TOOLCHAIN} != "no"
-MANGROUPS+= TOOLCHAIN
+MANGROUPS.${MK_FREEBSD_UPDATE}+= FREEBSD_UPDATE
+FREEBSD_UPDATE= freebsd-update.conf.5
+
+MANGROUPS.${MK_HESIOD}+= HESIOD
+HESIOD= hesiod.conf.5
+
+MANGROUPS.${MK_TOOLCHAIN}+= TOOLCHAIN
+TOOLCHAINPACKAGE= toolchain
TOOLCHAIN= ar.5
-TOOLCHAINPACKAGE=toolchain
-.endif
-MANGROUPS+= LP
+MANGROUPS+= LP
+LPPACKAGE= lp
LP= hosts.lpd.5
-LPPACKAGE= lp
-MANGROUPS+= PERIODIC
+MANGROUPS+= PERIODIC
+PERIODICPACKAGE= periodic
PERIODIC= periodic.conf.5
-PERIODICPACKAGE=periodic
-.if ${MK_PF} != "no"
-MANGROUPS+= PF
+MANGROUPS.${MK_PF}+= PF
+PFPACKAGE= pf
PF= pf.conf.5 \
pf.os.5
-PFPACKAGE= pf
-.endif
-MANGROUPS+= RC
+MANGROUPS+= RC
+RCPACKAGE= rc
RC= rc.conf.5
RCLINKS= rc.conf.5 rc.conf.local.5
-RCPACKAGE= rc
-MANGROUPS+= RUNTIME
+MANGROUPS+= RUNTIME
+RUNTIMEPACKAGE= runtime
RUNTIME= devfs.conf.5 \
devfs.rules.5 \
fstab.5 \
@@ -107,19 +102,18 @@ RUNTIME= devfs.conf.5 \
RUNTIMELINKS= passwd.5 master.passwd.5
RUNTIMELINKS+= passwd.5 pwd.db.5
RUNTIMELINKS+= passwd.5 spwd.db.5
-RUNTIMEPACKAGE= runtime
-MANGROUPS+= SMB
+MANGROUPS+= SMB
+SMBPACKAGE= smbutils
SMB= nsmb.conf.5
-SMBPACKAGE= smbutils
-MANGROUPS+= SSH
+MANGROUPS.${MK_OPENSSH}+= SSH
+SSHPACKAGE= ssh
SSH= moduli.5
-SSHPACKAGE= ssh
-MANGROUPS+= UFS
+MANGROUPS+= UFS
+UFSPACKAGE= ufs
UFS= fs.5
-UFSPACKAGE= ufs
# This makes more sense for amd64 and i386 but
# we decide to install all manpages in all architectures
diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5
index 41410d6bc0fa..be46b1a47291 100644
--- a/share/man/man5/pf.conf.5
+++ b/share/man/man5/pf.conf.5
@@ -1490,7 +1490,7 @@ options and both implicitly and explicitly in the case of
ones.
A
.Ar rdr-to
-opion may cause the source port to be modified if doing so avoids a conflict
+option may cause the source port to be modified if doing so avoids a conflict
with an existing connection.
A random source port in the range 50001-65535 is chosen in this case.
Port numbers are never translated with a
diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index edbfa937f8df..6274c1ee5b94 100644
--- a/share/man/man5/rc.conf.5
+++ b/share/man/man5/rc.conf.5
@@ -4950,7 +4950,7 @@ can be used in jails) depending on the content of the
.Ao Ar name Ac Ns Va _svcj_options
variable.
Typically this variable is set inside rc scripts, but it can be
-overriden in the rc config.
+overridden in the rc config.
Valid options for
.Ao Ar name Ac Ns Va _svcj_options
are:
@@ -5041,7 +5041,7 @@ service at all, or may set it to
if it is not set in the
rc config, to exclude it from
.Va svcj_all_enable
-but allow to explicitely enable it.
+but allow to explicitly enable it.
The sshd service for example would not see other jails, if
it would run as a service jail.
This may or may not be what is needed, and as such it is
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index 1bb609336532..bab2c3d84abf 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,5 +1,5 @@
.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
-.Dd October 1, 2025
+.Dd October 22, 2025
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -956,12 +956,12 @@ Do not build LLVM's lld linker.
Do not build the LLDB debugger.
.Pp
This is a default setting on
-arm/armv7 and riscv/riscv64.
+riscv/riscv64.
.It Va WITH_LLDB
Build the LLDB debugger.
.Pp
This is a default setting on
-amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
+amd64/amd64, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
.It Va WITHOUT_LLD_BOOTSTRAP
Do not build the LLD linker during the bootstrap phase of
the build.
diff --git a/share/man/man5/style.mdoc.5 b/share/man/man5/style.mdoc.5
index 1c3ec2012118..2f8ea90ae21f 100644
--- a/share/man/man5/style.mdoc.5
+++ b/share/man/man5/style.mdoc.5
@@ -1,30 +1,9 @@
.\"
-.\" SPDX-License-Identifier: BSD-2-Clause
-.\"
-.\" Copyright (c) 2018-2022 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\" Copyright (c) 2018-2025 Mateusz Piotrowski <0mp@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. 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 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.
+.\" SPDX-License-Identifier: BSD-2-Clause
.\"
-.Dd December 21, 2024
+.Dd October 24, 2025
.Dt STYLE.MDOC 5
.Os
.Sh NAME
@@ -71,6 +50,9 @@ Historically,
was the preferred way before the deprecation of
.Sy \&Li .
.El
+.Ss Copyright Header
+Refer to
+.Xr style 9 .
.Ss HARDWARE Section
Driver manuals in section four should have a
.Sx HARDWARE
diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7
index 668f5aa23155..5170a27768b8 100644
--- a/share/man/man7/arch.7
+++ b/share/man/man7/arch.7
@@ -76,7 +76,7 @@ Pointers should not be cast to
or
.Vt size_t
if they will later be cast back to a pointer that is expected to be
-dereferencable as they remain bare integer types on all architectures.
+dereferenceable as they remain bare integer types on all architectures.
.Pp
On some architectures, e.g.,
AIM variants of
diff --git a/share/man/man7/build.7 b/share/man/man7/build.7
index 5e15a528246b..9adfd4bc8a63 100644
--- a/share/man/man7/build.7
+++ b/share/man/man7/build.7
@@ -202,7 +202,7 @@ package or port provides a more generic solution.
.It Cm buildenvvars
Print the shell variables that are set for a
.Cm buildenv
-envirnoment and exit.
+environment and exit.
.It Cm buildworld
Build everything but the kernel, configure files in
.Pa etc ,
@@ -732,7 +732,7 @@ See
.Xr src.conf 5
.It Va REPODIR
The root directory used to create the package repository for building
-.Xr packges 7 .
+.Xr packages 7 .
Defaults to
.Pa ${OBJROOT}/repo/ .
This can also be set in
diff --git a/share/man/man7/release.7 b/share/man/man7/release.7
index 05f80374926f..2493a34721bc 100644
--- a/share/man/man7/release.7
+++ b/share/man/man7/release.7
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2002 Murray Stokely <murray@FreeBSD.org>
.\" All rights reserved.
.\"
@@ -22,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd September 11, 2025
+.Dd October 13, 2025
.Dt RELEASE 7
.Os
.Sh NAME
@@ -136,6 +139,8 @@ configuration file supports the following variables:
.Bl -tag -width Ev
.It Va CHROOTDIR
The directory within which the release will be built.
+Defaults to
+.Pa /scratch .
.It Va CHROOT_MAKEENV
Additional
.Xr make 1
@@ -636,6 +641,7 @@ Typically, one only needs to set
.El
.Sh FILES
.Bl -tag -compact -width Pa
+.It Pa /scratch
.It Pa /usr/doc/Makefile
.It Pa /usr/doc/share/mk/doc.project.mk
.It Pa /usr/ports/Mk/bsd.port.mk
@@ -688,16 +694,10 @@ the Raspberry Pi, exist in the directory corresponding to the
.Va TARGET
.Xr make 1
variable.
-For example, to build an image for the Raspberry Pi:
-.Bd -literal -offset indent
-cd /usr/src/release
-sh release.sh -c arm/RPI-B.conf
-.Ed
-.Pp
-To build an image for the Raspberry Pi 3:
+For example, to build an image for 64-bit Raspberry Pis:
.Bd -literal -offset indent
cd /usr/src/release
-sh release.sh -c arm64/RPI3.conf
+sh release.sh -c arm64/RPI.conf
.Ed
.Pp
After running these commands, all prepared release files are available in the
diff --git a/share/man/man8/debug.sh.8 b/share/man/man8/debug.sh.8
index bf0fdbd6bcf5..3b59d6ae2e78 100644
--- a/share/man/man8/debug.sh.8
+++ b/share/man/man8/debug.sh.8
@@ -143,7 +143,7 @@ and defaults to
.It Ic DebugTrace Ar message
Debug output can be very noisy, and it can be tricky
to align with the script.
-This function outputs a very noticable banner indicating the value of
+This function outputs a very noticeable banner indicating the value of
.Va DEBUG_ON ,
and
.Ar message
@@ -168,7 +168,7 @@ skipped/run when debugging is turned on.
.Va DEBUGGING
is the same as
.Va DEBUG_SKIP
-for backwards compatability and is only set by
+for backwards compatibility and is only set by
.Fn Debug .
.Pp
The use of
diff --git a/share/man/man8/rc.subr.8 b/share/man/man8/rc.subr.8
index 1fd5041cecd8..45a9e9a684cd 100644
--- a/share/man/man8/rc.subr.8
+++ b/share/man/man8/rc.subr.8
@@ -1010,7 +1010,7 @@ However, if
fails, just return.
.Pp
.Ic DebugOn
-will be called with tags derrived from
+will be called with tags derived from
.Va name
and
.Va rc_arg
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 3bccc92572d6..fecde7152f80 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -1,6 +1,6 @@
.include <src.opts.mk>
-PACKAGE= kernel-man
+MANPACKAGE= kernel-man
MAN= accept_filter.9 \
accf_data.9 \
@@ -90,6 +90,7 @@ MAN= accept_filter.9 \
DECLARE_MODULE.9 \
DEFINE_IFUNC.9 \
DELAY.9 \
+ deadfs.9 \
devclass.9 \
devclass_find.9 \
devclass_get_device.9 \
@@ -2207,6 +2208,7 @@ MLINKS+=syscall_helper_register.9 syscall_helper_unregister.9 \
syscall_helper_register.9 SYSCALL_INIT_HELPER_COMPAT_F.9 \
syscall_helper_register.9 SYSCALL_INIT_HELPER_F.9
MLINKS+=sysctl.9 SYSCTL_DECL.9 \
+ sysctl.9 SYSCTL_ADD_BOOL.9 \
sysctl.9 SYSCTL_ADD_CONST_STRING.9 \
sysctl.9 SYSCTL_ADD_INT.9 \
sysctl.9 SYSCTL_ADD_LONG.9 \
@@ -2233,6 +2235,7 @@ MLINKS+=sysctl.9 SYSCTL_DECL.9 \
sysctl.9 SYSCTL_ADD_UMA_CUR.9 \
sysctl.9 SYSCTL_ADD_UMA_MAX.9 \
sysctl.9 SYSCTL_ADD_UQUAD.9 \
+ sysctl.9 SYSCTL_BOOL.9 \
sysctl.9 SYSCTL_CHILDREN.9 \
sysctl.9 SYSCTL_STATIC_CHILDREN.9 \
sysctl.9 SYSCTL_NODE_CHILDREN.9 \
diff --git a/share/man/man9/PCI_IOV_ADD_VF.9 b/share/man/man9/PCI_IOV_ADD_VF.9
index 512b0b8668cc..95bf5a218e8e 100644
--- a/share/man/man9/PCI_IOV_ADD_VF.9
+++ b/share/man/man9/PCI_IOV_ADD_VF.9
@@ -41,7 +41,7 @@ The
.Fn PCI_IOV_ADD_VF
method is called by the PCI Single-Root I/O Virtualization
.Pq SR-IOV
-infrastructure when it is initializating a new Virtual Function (VF) as a child
+infrastructure when it is initializing a new Virtual Function (VF) as a child
of the given Physical Function (PF) device.
This method will not be called until a successful call to
.Xr PCI_IOV_INIT 9
diff --git a/share/man/man9/VOP_OPENCLOSE.9 b/share/man/man9/VOP_OPENCLOSE.9
index 9a4f7069962d..672f9faa92f5 100644
--- a/share/man/man9/VOP_OPENCLOSE.9
+++ b/share/man/man9/VOP_OPENCLOSE.9
@@ -26,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 December 2, 2009
+.Dd October 17, 2025
.Dt VOP_OPEN 9
.Os
.Sh NAME
@@ -78,6 +78,17 @@ The access mode is a set of flags, including
.Dv FWRITE ,
.Dv O_NONBLOCK ,
.Dv O_APPEND .
+.Pp
+The thread
+.Fa td
+passed to
+.Fn VOP_CLOSE
+may be
+.Ql NULL
+if the last reference to the open file is released from a kernel context, e.g.,
+the destruction of a socket buffer containing the file reference in a
+.Dv SCM_RIGHTS
+message.
.Sh LOCKS
.Fn VOP_OPEN
expects
diff --git a/share/man/man9/atomic.9 b/share/man/man9/atomic.9
index df24cd4a4d2b..c9133c6311a5 100644
--- a/share/man/man9/atomic.9
+++ b/share/man/man9/atomic.9
@@ -272,7 +272,7 @@ In C11, a release fence by one thread synchronizes with an acquire fence by
another thread when an atomic load that is prior to the acquire fence (by
program order) reads the value written by an atomic store that is subsequent
to the release fence.
-In constrast, in
+In contrast, in
.Fx ,
because of the atomicity of ordinary, naturally
aligned loads and stores, fences can also be synchronized by ordinary loads
diff --git a/share/man/man9/bhnd.9 b/share/man/man9/bhnd.9
index 722ae6b6a393..ed3007ea748d 100644
--- a/share/man/man9/bhnd.9
+++ b/share/man/man9/bhnd.9
@@ -2350,7 +2350,7 @@ function retains and returns a reference to the provider registered for
.Fa service
with the parent
.Xr bhnd 4
-bus of devce
+bus of device
.Fa dev ,
if available.
On success, the caller is responsible for releasing this provider reference
diff --git a/share/man/man9/bus_dma.9 b/share/man/man9/bus_dma.9
index b644eeb2a476..0bf27eb5eb22 100644
--- a/share/man/man9/bus_dma.9
+++ b/share/man/man9/bus_dma.9
@@ -197,7 +197,7 @@ in addition to restrictions that differ between unrelated groups of
transactions,
the driver can first create a
.Dq parent
-tag that decribes the common restrictions.
+tag that describes the common restrictions.
The per-group tags can then inherit these restrictions from this
.Dq parent
tag rather than having to list them explicitly when creating the per-group tags.
@@ -733,7 +733,7 @@ Fills in the selected fields of the template with a variable number of
key-value parameters.
The macros listed below take an argument of the specified type and encapsulate
it into a key-value structure that is directly usable as a parameter argument.
-Muliple parameters may be provided at once.
+Multiple parameters may be provided at once.
.Bd -literal
BD_PARENT() void *
BD_ALIGNMENT() uintmax_t
diff --git a/share/man/man9/copy.9 b/share/man/man9/copy.9
index 8b2d0dc67727..3a3105ddf644 100644
--- a/share/man/man9/copy.9
+++ b/share/man/man9/copy.9
@@ -43,7 +43,7 @@
.Nm copyout_nofault ,
.Nm copystr ,
.Nm copyinstr
-.Nd heterogenous address space copy functions
+.Nd heterogeneous address space copy functions
.Sh SYNOPSIS
.In sys/types.h
.In sys/systm.h
diff --git a/share/man/man9/crypto_request.9 b/share/man/man9/crypto_request.9
index af62b9089561..77e6a60b46de 100644
--- a/share/man/man9/crypto_request.9
+++ b/share/man/man9/crypto_request.9
@@ -383,7 +383,7 @@ depending on whether the driver is implemented by software or hardware.
dispatches the request asynchronously.
If the driver is inherently synchronous, the request is queued to a taskqueue
backed by a pool of worker threads.
-This can increase througput by allowing requests from a single producer to be
+This can increase throughput by allowing requests from a single producer to be
processed in parallel.
By default the pool is sized to provide one thread for each CPU.
Worker threads dequeue requests and pass them to the driver asynchronously.
diff --git a/share/man/man9/deadfs.9 b/share/man/man9/deadfs.9
new file mode 100644
index 000000000000..5f4d037a0f09
--- /dev/null
+++ b/share/man/man9/deadfs.9
@@ -0,0 +1,36 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
+.\"
+.Dd October 24, 2025
+.Dt DEADFS 9
+.Os
+.Sh NAME
+.Nm deadfs
+.Nd pseudo-filesystem to own reclaimed vnodes
+.Sh DESCRIPTION
+The
+.Nm
+file system implements operations that do not modify any data
+and instead return indications of invalid IO.
+Its role is to provide a fallback vnode operations vector for reclaimed
+.Xr vnode 9 Ap s .
+.Pp
+It is a kernel-only pseudo-file system and so cannot be mounted from userspace.
+.Sh SEE ALSO
+.Xr insmntque 9 ,
+.Xr vnode 9 ,
+.Xr VOP_RECLAIM 9
+.Sh HISTORY
+UNIX System Manager's Manual (SMM) for
+.Bx 4.4
+described
+.Nm
+as a file system
+.Dq where rejected vnodes go to die .
+.Sh AUTHORS
+The
+.Nm
+manual page was written by
+.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
diff --git a/share/man/man9/domain.9 b/share/man/man9/domain.9
index dab8cff89e12..d7e743eaf247 100644
--- a/share/man/man9/domain.9
+++ b/share/man/man9/domain.9
@@ -173,7 +173,7 @@ Once a domain is added it cannot be completely unloaded.
This is because there is
no reference counting system in place to determine if there are any
active references from sockets within that domain.
-However, the exprimental
+However, the experimental
.Fn domain_remove
exists, and unloadable domains may be supported in the future.
.Pp
diff --git a/share/man/man9/efirt.9 b/share/man/man9/efirt.9
index c31f52bf2245..e085916801d5 100644
--- a/share/man/man9/efirt.9
+++ b/share/man/man9/efirt.9
@@ -183,7 +183,7 @@ is NULL.
.It Dv EIO
The variable could not be retrieved due to a hardware error.
.It Dv EDOOFUS
-The variable could not be retireved due to an authentication failure.
+The variable could not be retrieved due to an authentication failure.
.El
.Pp
The
diff --git a/share/man/man9/g_bio.9 b/share/man/man9/g_bio.9
index 407c38e6ca70..fc278cd229a9 100644
--- a/share/man/man9/g_bio.9
+++ b/share/man/man9/g_bio.9
@@ -22,7 +22,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 August 7, 2019
+.Dd October 26, 2025
.Dt G_BIO 9
.Os
.Sh NAME
@@ -309,6 +309,7 @@ example_start(struct bio *bp)
}
.Ed
.Sh SEE ALSO
+.Xr dtrace_io 4 ,
.Xr geom 4 ,
.Xr DECLARE_GEOM_CLASS 9 ,
.Xr g_access 9 ,
diff --git a/share/man/man9/g_geom.9 b/share/man/man9/g_geom.9
index c5b0c0aded2d..99d0ba074e89 100644
--- a/share/man/man9/g_geom.9
+++ b/share/man/man9/g_geom.9
@@ -66,7 +66,7 @@ function is very similar to
.Fn g_new_geomf
except that it accepts a regular string instead of a
.Xr printf 3 Ns
--like format strng as the geom's name.
+-like format string as the geom's name.
.Pp
The
.Fn g_destroy_geom
diff --git a/share/man/man9/gone_in.9 b/share/man/man9/gone_in.9
index 7521adfda204..1b60e1eb10c2 100644
--- a/share/man/man9/gone_in.9
+++ b/share/man/man9/gone_in.9
@@ -1,6 +1,6 @@
.\" Copyright (c) 2021 The FreeBSD Foundation
.\"
-.\" This document was written by Ed Maste under sponsorhip from
+.\" This document was written by Ed Maste under sponsorship from
.\" The FreeBSD Foundation.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,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 August 16, 2021
+.Dd June 24, 2025
.Dt GONE_IN 9
.Os
.Sh NAME
@@ -33,14 +33,15 @@
.Sh SYNOPSIS
.In sys/systm.h
.Ft void
-.Fn gone_in "int major" "const char *msg"
+.Fn gone_in "int major" "const char *msg" "..."
.Ft void
-.Fn gone_in_dev "device_t dev" "int major" "const char *msg"
+.Fn gone_in_dev "device_t dev" "int major" "const char *msg" "..."
.Sh DESCRIPTION
The
-.Fn gone_in
-functions are used to provide a notice that the kernel is using a driver or
-some other functionality that is deprecated, and will be removed in a future
+.Nm gone_in
+functions are used to provide a notice that the kernel is actively using a
+driver or some other functionality that is deprecated, and is planned for
+removal in a future
.Fx
release.
The notice is sent to the kernel
@@ -51,30 +52,29 @@ The
argument specifies the major version of the
.Fx
release that will remove the deprecated functionality.
+The notice shall be printed only once, thus
+.Nm
+functions are safe to use in often executed code paths.
+.Pp
+.Nm gone_in_dev
+will prepend driver name before the notice.
.Pp
In releases before
.Fa major
-the deprecation notice states
-.Do
-Deprecated code (to be removed in FreeBSD
-.Fa major Ns ):
-.Fa msg
-.Dc .
-In releases equal to and after
-.Fa major
-the notice states
+the provided notice will be appended with
.Do
-Obsolete code will be removed soon:
-.Fa msg
+To be removed in FreeBSD
+.Fa major Ns
.Dc .
.Sh EXAMPLES
.Bd -literal -offset indent
void
-sample_init(void)
+example_api(foo_t *args)
{
- /* Initializaiton code omitted. */
+ gone_in(16, "Warning! %s[%u] uses obsolete API. ",
+ curthread->td_proc->p_comm, curthread->td_proc->p_pid);
- gone_in(14, "Giant-locked filesystem");
+ /* API implementation omitted. */
}
int
@@ -82,7 +82,7 @@ example_driver_attach(struct example_driver_softc *sc)
{
/* Attach code omitted. */
- gone_in_dev(sc->dev, 14, "Giant-locked driver");
+ gone_in_dev(sc->dev, 16, "driver is deprecated");
}
.Ed
.Sh HISTORY
diff --git a/share/man/man9/ifnet.9 b/share/man/man9/ifnet.9
index 3c45e4f29e2d..e81c2990c13c 100644
--- a/share/man/man9/ifnet.9
+++ b/share/man/man9/ifnet.9
@@ -482,7 +482,7 @@ This is initialized by driver at attach.
.It Fn if_getaddrlen
.It Fn if_gethwaddr
.It Fn if_getbroadcastaddr Fn if_setbroadcastaddr
-Access the interface broadcast addess.
+Access the interface broadcast address.
.It Fn if_setmtu
.It Fn if_getmtu
Access the interface MTU.
diff --git a/share/man/man9/insmntque.9 b/share/man/man9/insmntque.9
index 869d8767632b..33ba697b10b9 100644
--- a/share/man/man9/insmntque.9
+++ b/share/man/man9/insmntque.9
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
-.Dd January 29, 2022
+.Dd October 24, 2025
.Dt INSMNTQUE 9
.Os
.Sh NAME
@@ -56,7 +56,7 @@ The vnode must be exclusively locked.
.Pp
On failure,
.Fn insmntque
-resets vnode' operation vector to the vector of
+resets vnode's operations vector to the vector of
.Xr deadfs 9 ,
clears
.Va v_data ,
@@ -71,7 +71,7 @@ failure is needed, the
function may be used instead.
It does not do any cleanup following a failure, leaving all
the work to the caller.
-In particular, the operation vector
+In particular, the operations vector
.Va v_op
and
.Va v_data
diff --git a/share/man/man9/nvmem.9 b/share/man/man9/nvmem.9
index 812cd09a5e35..fa88cbb91854 100644
--- a/share/man/man9/nvmem.9
+++ b/share/man/man9/nvmem.9
@@ -59,19 +59,19 @@ Get the size of the cell base on the reg property on the node.
Return the size or ENOENT if the cell name wasn't found
.It Fn nvmem_read_cell_by_name "phandle_t node" "const char *name" "void *cell" "size_t buflen"
Get the cell content based on the name.
-Return 0 on sucess or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,
+Return 0 on success or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,
EINVAL if the size isn't correct.
.It Fn nvmem_read_cell_by_idx "phandle_t node" "int idx" "void *cell" "size_t buflen"
Get the cell content based on the id.
-Return 0 on sucess or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,
+Return 0 on success or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,
EINVAL if the size isn't correct.
.It Fn nvmem_write_cell_by_name "phandle_t node" "const char *name" "void *cell" "size_t buflen"
Write the cell content based on the name.
-Return 0 on sucess or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,
+Return 0 on success or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,
EINVAL if the size isn't correct.
.It Fn nvmem_write_cell_by_idx "phandle_t node" "int idx" "void *cell" "size_t buflen"
Write the cell content based on the id.
-Return 0 on sucess or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,
+Return 0 on success or ENOENT if the cell doesn't exists, ENXIO if no provider device was found,
EINVAL if the size isn't correct.
.El
.Sh DEVICE METHODS
diff --git a/share/man/man9/ofw_bus_is_compatible.9 b/share/man/man9/ofw_bus_is_compatible.9
index 1b44807e84e8..fcfe8755cf86 100644
--- a/share/man/man9/ofw_bus_is_compatible.9
+++ b/share/man/man9/ofw_bus_is_compatible.9
@@ -61,7 +61,7 @@ older revisions of the driver.
If hardware revision B is backward compatible with revision
A device tree node can signal this compatibility by
providing both "vndr,hrdwrA" and "vndr,hrdwrB" strings in
-the "compatibile" property value.
+the "compatible" property value.
This way older driver can use features available only in
revision A, and the new version of the driver can take
advantage of revision B feature set.
diff --git a/share/man/man9/pci.9 b/share/man/man9/pci.9
index eeb62a63a2bd..871f69f887a6 100644
--- a/share/man/man9/pci.9
+++ b/share/man/man9/pci.9
@@ -523,7 +523,7 @@ device is not a PCI-express device,
returns zero.
When completion timeouts are disabled for
.Fa dev ,
-this function returns the maxmimum timeout that would be used if timeouts
+this function returns the maximum timeout that would be used if timeouts
were enabled.
.Pp
The
diff --git a/share/man/man9/refcount.9 b/share/man/man9/refcount.9
index 78631f9a865a..7375f429a607 100644
--- a/share/man/man9/refcount.9
+++ b/share/man/man9/refcount.9
@@ -106,7 +106,7 @@ but additionally checks that the
value does not overflow as result of the operation.
It returns
.Dv true
-if the reference was sucessfully obtained, and
+if the reference was successfully obtained, and
.Dv false
if it was not, due to the overflow.
.Pp
diff --git a/share/man/man9/seqc.9 b/share/man/man9/seqc.9
index e13d73ecb5d7..b1e59b6b7af1 100644
--- a/share/man/man9/seqc.9
+++ b/share/man/man9/seqc.9
@@ -81,7 +81,7 @@ repeated.
In case when sequence number is odd the object change is in progress and the
reader will wait until the write will the sequence number will become even.
.Sh EXAMPLES
-The following example for a writer changees the
+The following example for a writer changes the
.Va var1
and
.Va var2
diff --git a/share/man/man9/style.9 b/share/man/man9/style.9
index 26c7a3b2aa64..c9c3af23864a 100644
--- a/share/man/man9/style.9
+++ b/share/man/man9/style.9
@@ -816,7 +816,7 @@ If no local variables are declared, the first line should be a statement.
Older versions of this
.Nm
document required a blank line before code.
-Such lines should be removed when signficant changes are made to the code.
+Such lines should be removed when significant changes are made to the code.
.Pp
Use
.Xr printf 3 ,
@@ -947,7 +947,7 @@ namespace foo::bar {
.Ed
.Pp
Member function declarations should follow the same style used for standalone
-function protoypes except that a space should be used between a function's
+function prototypes except that a space should be used between a function's
return type and name.
.Pp
Function definitions at the top level should use a newline after the function
diff --git a/share/man/man9/uio.9 b/share/man/man9/uio.9
index e6240c4e51d3..b143eb6e8e62 100644
--- a/share/man/man9/uio.9
+++ b/share/man/man9/uio.9
@@ -23,7 +23,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 March 11, 2017
+.Dd October 22, 2025
.Dt UIO 9
.Os
.Sh NAME
@@ -107,10 +107,14 @@ The I/O vector points into the kernel address space.
Do not copy, already in object.
.El
.It Va uio_rw
-The direction of the desired transfer, either
-.Dv UIO_READ
-or
-.Dv UIO_WRITE .
+The direction of the desired transfer.
+The supported flags are:
+.Bl -tag -width "UIO_WRITE"
+.It Dv UIO_READ
+Transfer data from the buffers into the I/O vectors.
+.It Dv UIO_WRITE
+Transfer data from the I/O vectors into the buffers.
+.El
.It Va uio_td
The pointer to a
.Vt "struct thread"
diff --git a/share/man/man9/vn_fullpath.9 b/share/man/man9/vn_fullpath.9
index 9815abc3c86c..af459ed281c0 100644
--- a/share/man/man9/vn_fullpath.9
+++ b/share/man/man9/vn_fullpath.9
@@ -107,7 +107,7 @@ than one name (hard links), not all file systems use the name cache
be used for more than one file (in the context of file systems covering
other file systems); a file may have no name (if deleted but still
open or referenced).
-However, the resulting string may still be more useable to a user than
+However, the resulting string may still be more usable to a user than
a vnode pointer value, or a device number and inode number.
Code consuming the results of this function should anticipate (and
properly handle) failure.
@@ -187,7 +187,7 @@ otherwise, an error number is returned.
.Xr free 9
.Sh AUTHORS
.An -nosplit
-This manual page was initally written by
+This manual page was initially written by
.An Robert Watson Aq Mt rwatson@FreeBSD.org
to describe the
.Fn vn_fullpath
diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree
index b1614c7eb409..b0502dfc7925 100644
--- a/share/misc/bsd-family-tree
+++ b/share/misc/bsd-family-tree
@@ -479,7 +479,7 @@ FreeBSD 5.2 | | | |
| | | | | DragonFly 6.4.1
| | | | | DragonFly 6.4.2
| FreeBSD | | | |
- | 14.3 | | | |
+ | 14.3 | | OpenBSD 7.8 |
| | | | |
FreeBSD 16 -current | NetBSD -current OpenBSD -current DragonFly -current
| | | | |
@@ -925,6 +925,7 @@ OpenBSD 7.7 2025-04-28 [OBD]
DragonFly 6.4.1 2025-04-30 [DFB]
DragonFly 6.4.2 2025-05-09 [DFB]
FreeBSD 14.3 2025-06-10 [FBD]
+OpenBSD 7.8 2025-10-22 [OBD]
Bibliography
------------------------
diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot
index 6035dd031216..3f3e39635c55 100644
--- a/share/misc/committers-src.dot
+++ b/share/misc/committers-src.dot
@@ -188,6 +188,7 @@ fjoe [label="Max Khon\nfjoe@FreeBSD.org\n2001/08/06"]
flz [label="Florent Thoumie\nflz@FreeBSD.org\n2006/03/30"]
freqlabs [label="Ryan Moeller\nfreqlabs@FreeBSD.org\n2020/02/10"]
fsu [label="Fedor Uporov\nfsu@FreeBSD.org\n2017/08/28"]
+fuz [label="Robert Clausecker\nfuz@FreeBSD.org\n2025/10/21"]
gabor [label="Gabor Kovesdan\ngabor@FreeBSD.org\n2010/02/02"]
gad [label="Garance A. Drosehn\ngad@FreeBSD.org\n2000/10/27"]
gallatin [label="Andrew Gallatin\ngallatin@FreeBSD.org\n1999/01/15"]
@@ -789,6 +790,7 @@ markj -> bnovkov
markj -> cem
markj -> christos
markj -> dougm
+markj -> fuz
markj -> igoro
markj -> jfree
markj -> lwhsu
diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors
index 6fb8865340a0..1b13509f002d 100644
--- a/share/misc/pci_vendors
+++ b/share/misc/pci_vendors
@@ -1,8 +1,8 @@
#
# List of PCI ID's
#
-# Version: 2025.07.11
-# Date: 2025-07-11 03:15:02
+# Version: 2025.10.18
+# Date: 2025-10-18 03:15:01
#
# Maintained by Albert Pool, Martin Mares, and other volunteers from
# the PCI ID Project at https://pci-ids.ucw.cz/.
@@ -27979,6 +27979,10 @@
1007 CL4-8D512 NVMe SSD M.2 (DRAM-less)
1008 CL5-8D512 NVMe SSD M.2 (DRAM-less)
100c CL6 Series NVMe SSD M.2 (DRAM-less)
+ 100d PJ1 Series NVMe SSD
+ 1e95 0001 M.2 2280 960 GB
+ 1e95 0002 M.2 2280 1920 GB
+ 1e95 100d M.2 2280 480 GB
1010 CX3 Series NVMe SSD
1e95 0000 M.2 2280 480 GB
1e95 0001 M.2 2280 960 GB
diff --git a/share/misc/usb_vendors b/share/misc/usb_vendors
index 1878f503b676..fa798e65ed9a 100644
--- a/share/misc/usb_vendors
+++ b/share/misc/usb_vendors
@@ -9,8 +9,8 @@
# The latest version can be obtained from
# http://www.linux-usb.org/usb.ids
#
-# Version: 2025.07.26
-# Date: 2025-07-26 20:34:01
+# Version: 2025.09.15
+# Date: 2025-09-15 20:34:02
#
# Vendors, devices and interfaces. Please keep sorted.
@@ -13488,7 +13488,9 @@
0b0d ProjectLab
0000 CenturyCD
0b0e GN Netcom
+ 0301 Jabra EVOLVE 20
0305 Jabra EVOLVE Link MS
+ 030c Jabra EVOLVE 65
0311 Jabra EVOLVE 65
0312 enc060:Buttons Volume up/down/mute + phone [Jabra]
0343 Jabra UC VOICE 150a
@@ -13507,6 +13509,11 @@
2007 GN 2000 Stereo Corded Headset
2456 Jabra SPEAK 810
245e Jabra Link 370
+ 248a Jabra Elite 85h
+ 24b8 Jabra Evolve2 65
+ 24bb Jabra Evolve2 85
+ 24c9 Jabra Link 380
+ 24ca Jabra Link 380
620c Jabra BT620s
9330 Jabra GN9330 Headset
a346 Jabra Engage 75 Stereo
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 065e635ed43d..159957b6300b 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -82,7 +82,18 @@ DEV_TAG_ARGS= ${TAG_ARGS},dev
.else
DEV_TAG_ARGS= ${TAG_ARGS}
.endif
-.endif # !defined(NO_ROOT)
+
+.endif # defined(NO_ROOT)
+
+# By default, put library manpages in the -dev subpackage, since they're not
+# usually interesting if the development files aren't installed. For pages
+# that should be installed in the base package, define a new MANNODEV group.
+# Note that bsd.man.mk ignores this setting if MANSPLITPKG is enabled: then
+# manpages are always installed in the -man subpackage.
+MANSUBPACKAGE?= -dev
+MANGROUPS?= MAN
+MANGROUPS+= MANNODEV
+MANNODEVSUBPACKAGE=
# ELF hardening knobs
.if ${MK_BIND_NOW} != "no"
diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index 0a3594e05d94..dde11afb8283 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -61,6 +61,16 @@
MANGROUPS?= MAN
+# MAN_SUBPACKAGE is the subpackage manpages will be installed in. When
+# MANSPLITPKG is enabled, this is ignored and the subpackage is forced
+# to be "-man", otherwise it defaults to empty so manpages go in the
+# base package. This can be set to "-dev" for manpages that should go
+# in the -dev package.
+MAN_SUBPACKAGE?=
+
+# The default man package, if not otherwise specified.
+MAN_PACKAGE= ${PACKAGE:Uutilities}
+
# Backwards compatibility.
MINSTALL?= ${MANINSTALL}
@@ -97,6 +107,14 @@ manlinksinstall: .PHONY
all-man:
+# Take groups from both MANGROUPS and MANGROUPS.yes, to allow syntax like
+# MANGROUPS.${MK_FOO}=FOO. Sort and uniq the list of groups in case of
+# duplicates.
+.if defined(MANGROUPS) || defined(MANGROUPS.yes)
+MANGROUPS:=${MANGROUPS} ${MANGROUPS.yes}
+MANGROUPS:=${MANGROUPS:O:u}
+.endif
+
.for __group in ${MANGROUPS}
realmaninstall: realmaninstall-${__group}
@@ -105,17 +123,19 @@ manlinksinstall: manlinksinstall-${__group}
${__group}OWN?= ${MANOWN}
${__group}GRP?= ${MANGRP}
${__group}MODE?= ${MANMODE}
-${__group}PACKAGE?= ${PACKAGE:Uutilities}
+# If MANSPLITPKG is enabled, ignore the requested man subpackage and put the
+# manpages in -man instead.
+.if ${MK_MANSPLITPKG} == "yes"
+${__group}SUBPACKAGE= -man
+.else
+${__group}SUBPACKAGE?= ${MAN_SUBPACKAGE}
+.endif
+${__group}PACKAGE?= ${MAN_PACKAGE}${${__group}SUBPACKAGE}
# Tag processing is only done for NO_ROOT installs.
.if defined(NO_ROOT)
-
.if !defined(${__group}TAGS) || ! ${${__group}TAGS:Mpackage=*}
-.if ${MK_MANSPLITPKG} == "no" || ${${__group}PACKAGE:M*-man}
-${__group}TAGS+= package=${${__group}PACKAGE}
-.else
-${__group}TAGS+= package=${${__group}PACKAGE}-man
-.endif
+${__group}TAGS+= package=${${__group}PACKAGE}
.endif
${__group}TAG_ARGS= -T ${${__group}TAGS:ts,:[*]}
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index b2ed63759c19..fd0424a96d9b 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -29,6 +29,7 @@ _PRIVATELIBS= \
heimipcs \
kldelf \
ldns \
+ opencsd \
samplerate \
sqlite3 \
ssh \
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index 446f78a2acf3..e10455cd4e82 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -302,7 +302,7 @@ __DEFAULT_NO_OPTIONS+=FDT
__DEFAULT_YES_OPTIONS+=FDT
.endif
-.if ${__T:Marm*} == "" && ${__T:Mriscv64*} == ""
+.if ${__T:Mriscv64*} == ""
__DEFAULT_YES_OPTIONS+=LLDB
.else
__DEFAULT_NO_OPTIONS+=LLDB