aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/man/man4/bridge.44
-rw-r--r--share/man/man4/epair.422
-rw-r--r--share/man/man4/sa.48
-rw-r--r--share/man/man4/vt.450
-rw-r--r--share/man/man5/pf.conf.571
-rw-r--r--share/man/man5/rc.conf.59
-rw-r--r--share/man/man5/src.conf.510
-rw-r--r--share/man/man7/build.710
-rw-r--r--share/man/man7/named_attribute.730
-rw-r--r--share/man/man7/simd.743
-rw-r--r--share/man/man9/cpuset.914
-rw-r--r--share/man/man9/pci.98
-rw-r--r--share/misc/Makefile10
-rw-r--r--share/misc/bsd-family-tree11
-rw-r--r--share/mk/bsd.confs.mk2
-rw-r--r--share/mk/bsd.dirs.mk2
-rw-r--r--share/mk/bsd.doc.mk2
-rw-r--r--share/mk/bsd.files.mk6
-rw-r--r--share/mk/bsd.incs.mk2
-rw-r--r--share/mk/bsd.lib.mk2
-rw-r--r--share/mk/bsd.links.mk2
-rw-r--r--share/mk/bsd.man.mk34
-rw-r--r--share/mk/bsd.mkopt.mk68
-rw-r--r--share/mk/bsd.prog.mk2
-rw-r--r--share/mk/src.init.mk2
-rw-r--r--share/mk/src.libnames.mk8
-rw-r--r--share/mk/src.opts.mk2
-rw-r--r--share/syscons/Makefile.inc2
-rw-r--r--share/syscons/fonts/Makefile2
-rw-r--r--share/syscons/keymaps/Makefile2
-rw-r--r--share/syscons/scrnmaps/Makefile2
31 files changed, 284 insertions, 158 deletions
diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4
index 2dff393ebc29..7048df4593bf 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 5, 2025
+.Dd July 28, 2025
.Dt IF_BRIDGE 4
.Os
.Sh NAME
@@ -289,7 +289,7 @@ interface on the bridge and (if necessary) assign IP addresses there.
By default no access control is enabled, so any interface may
participate in any VLAN.
.Pp
-VLAN filtering may be enabled on an interface using the
+VLAN filtering may be enabled on a bridge using the
.Xr ifconfig 8
.Cm vlanfilter
option.
diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4
index 4bcb54c936cb..342b15b5612a 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 March 18, 2015
+.Dd August 12, 2025
.Dt EPAIR 4
.Os
.Sh NAME
@@ -79,12 +79,24 @@ and
Like any other Ethernet interface, an
.Nm
needs to have a network address.
-Each
+If the tunable
+.Va net.link.epair.ether_gen_addr Ns
+=0, each
.Nm
-will be assigned a locally administered address by default,
+will be assigned a random locally administered address,
that is only guaranteed to be unique within one network stack.
-To change the default addresses one may use the SIOCSIFADDR ioctl(2) or
-ifconfig(8) utility.
+The tunable
+.Va net.link.epair.ether_gen_addr Ns
+=1 will generate a stable MAC address with
+.Fx
+OUI using
+.Xr ether_gen_addr 9 .
+This tunable defaults to 1 in
+.Fx 15.0 and might be removed in
+.Fx 16.0 .
+To change the default addresses one may use the SIOCSIFADDR
+.Xr ioctl 2 or
+.Xr ifconfig 8 utility.
.Pp
The basic intent is to provide connectivity between two virtual
network stack instances.
diff --git a/share/man/man4/sa.4 b/share/man/man4/sa.4
index 699a940a34d1..6c948a0f21ab 100644
--- a/share/man/man4/sa.4
+++ b/share/man/man4/sa.4
@@ -82,21 +82,19 @@ the case where a control mode device is opened.
In the latter case, exclusive
access is only sought when needed (e.g., to set parameters).
.Sh SUB-MODES
-Bits 0 and 1 of the minor number are interpreted as
-.Sq sub-modes .
The sub-modes differ in the action taken when the device is closed:
.Bl -tag -width XXXX
-.It 00
+.It Pa /dev/sa*
A close will rewind the device; if the tape has been
written, then a file mark will be written before the rewind is requested.
The device is unmounted.
-.It 01
+.It Pa /dev/nsa*
A close will leave the tape mounted.
If the tape was written to, a file mark will be written.
No other head positioning takes place.
Any further reads or writes will occur directly after the
last read, or the written file mark.
-.It 10
+.It Pa /dev/esa*
A close will rewind the device.
If the tape has been
written, then a file mark will be written before the rewind is requested.
diff --git a/share/man/man4/vt.4 b/share/man/man4/vt.4
index ad050bdd0d59..21d69bf9d495 100644
--- a/share/man/man4/vt.4
+++ b/share/man/man4/vt.4
@@ -1,4 +1,4 @@
-.\"-
+.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2014 Warren Block
@@ -26,32 +26,32 @@
.\" SUCH DAMAGE.
.\"
.Dd July 7, 2024
-.Dt "VT" 4
+.Dt VT 4
.Os
.Sh NAME
.Nm vt
.Nd virtual terminal system video console driver
.Sh SYNOPSIS
-.Cd "options TERMINAL_KERN_ATTR=_attribute_"
-.Cd "options TERMINAL_NORM_ATTR=_attribute_"
-.Cd "options VT_MAXWINDOWS=N"
+.Cd "options TERMINAL_KERN_ATTR=<attribute>"
+.Cd "options TERMINAL_NORM_ATTR=<attribute>"
+.Cd "options VT_MAXWINDOWS=<N>"
.Cd "options VT_ALT_TO_ESC_HACK=1"
.Cd "options VT_TWOBUTTON_MOUSE"
-.Cd "options VT_FB_MAX_WIDTH=X"
-.Cd "options VT_FB_MAX_HEIGHT=Y"
+.Cd "options VT_FB_MAX_WIDTH=<X>"
+.Cd "options VT_FB_MAX_HEIGHT=<Y>"
.Cd "options SC_NO_CUTPASTE"
.Cd "device vt"
.Pp
In
.Xr loader.conf 5 :
-.Cd hw.vga.textmode=1
-.Cd hw.vga.acpi_ignore_no_vga=1
-.Cd kern.vty=vt
-.Cd kern.vt.color.<colornum>.rgb="<colorspec>"
-.Cd kern.vt.fb.default_mode="<X>x<Y>"
-.Cd kern.vt.fb.modes.<connector>="<X>x<Y>"
-.Cd kern.vt.slow_down=<delay>"
-.Cd screen.font="<X>x<Y>"
+.Cd "hw.vga.textmode=1"
+.Cd "hw.vga.acpi_ignore_no_vga=1"
+.Cd "kern.vty=vt"
+.Cd "kern.vt.color.<colornum>.rgb=<colorspec>"
+.Cd "kern.vt.fb.default_mode=<X>x<Y>"
+.Cd "kern.vt.fb.modes.<connector>=<X>x<Y>"
+.Cd "kern.vt.slow_down=<delay>"
+.Cd "screen.font=<X>x<Y>"
.Pp
In
.Xr loader.conf 5 or
@@ -130,8 +130,8 @@ These kernel options control the
.Nm
driver.
.Bl -tag -width MAXCONS
-.It Dv TERMINAL_NORM_ATTR= Ns Pa attribute
-.It Dv TERMINAL_KERN_ATTR= Ns Pa attribute
+.It Dv TERMINAL_NORM_ATTR=<attribute>
+.It Dv TERMINAL_KERN_ATTR=<attribute>
These options change the default colors used for normal and kernel
text.
Available colors are defined in
@@ -139,7 +139,7 @@ Available colors are defined in
See
.Sx EXAMPLES
below.
-.It Dv VT_MAXWINDOWS=N
+.It Dv VT_MAXWINDOWS=<N>
Set the number of virtual terminals to be created to
.Fa N .
The value defaults to 12.
@@ -152,10 +152,10 @@ In effect, this makes the right-hand mouse button perform a paste.
These options are checked in the order shown.
.It Dv SC_NO_CUTPASTE
Disable mouse support.
-.It VT_FB_MAX_WIDTH=X
+.It VT_FB_MAX_WIDTH=<X>
Set the maximum width to
.Fa X .
-.It VT_FB_MAX_HEIGHT=Y
+.It VT_FB_MAX_HEIGHT=<Y>
Set the maximum height to
.Fa Y .
.El
@@ -166,7 +166,7 @@ console device,
These options will be removed in a future
.Fx
version.
-.Bl -column -offset indent ".Sy vt VT_TWOBUTTON_MOUSE" ".Sy SC_TWOBUTTON_MOUSE"
+.Bl -column -offset indent "TERMINAL_KERN_ATTR" "SC_KERNEL_CONS_ATTR"
.It Sy vt Option Name Ta Sy sc Option Name
.It Dv TERMINAL_KERN_ATTR Ta Dv SC_KERNEL_CONS_ATTR
.It Dv TERMINAL_NORM_ATTR Ta Dv SC_NORM_ATTR
@@ -230,7 +230,7 @@ Note that
is not compatible with
.Xr UEFI 8
boot.
-.It Va kern.vt.color. Ns Ar colornum Ns Va .rgb
+.It Va kern.vt.color. Ns Ar colornum Ns . Ns Va rgb
Set this value to override default palette entry for color
.Pa colornum
which should be in a range from 0 to 15 inclusive.
@@ -245,15 +245,15 @@ Note: The
.Nm
VGA hardware driver does not support palette configuration.
.It Va kern.vt.fb.default_mode
-Set this value to a graphic mode to override the default mode picked by the
+Set this value to a graphic mode to override the default picked by the
.Nm
backend.
The mode is applied to all output connectors.
This is currently only supported by the
.Cm vt_fb
backend when it is paired with a KMS video driver.
-.It Va kern.vt.fb.modes. Ns Pa connector_name
-Set this value to a graphic mode to override the default mode picked by the
+.It Va kern.vt.fb.modes.<connector_name>
+Set this value to a graphic mode to override the default picked by the
.Nm
backend.
This mode is applied to the output connector
diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5
index 8954e872c231..a9ae823257a4 100644
--- a/share/man/man5/pf.conf.5
+++ b/share/man/man5/pf.conf.5
@@ -27,7 +27,7 @@
.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd July 9, 2025
+.Dd July 30, 2025
.Dt PF.CONF 5
.Os
.Sh NAME
@@ -392,50 +392,37 @@ See
.Xr zone 9
for an explanation of memory pools.
.Pp
-For example,
-.Bd -literal -offset indent
-set limit states 20000
-.Ed
-.Pp
-sets the maximum number of entries in the memory pool used by state table
-entries (generated by
+Limits can be set on the following:
+.Bl -tag -width pktdelay_pkts
+.It Cm states
+Set the maximum number of entries in the memory pool used by state table
+entries (those generated by
.Ar pass
rules which do not specify
-.Ar no state )
-to 20000.
-Using
-.Bd -literal -offset indent
-set limit frags 20000
-.Ed
-.Pp
-sets the maximum number of entries in the memory pool used for fragment
-reassembly (generated by the
-.Ar set reassemble
-option or
-.Ar scrub
-rules) to 20000.
-Using
-.Bd -literal -offset indent
-set limit src-nodes 2000
-.Ed
-.Pp
-sets the maximum number of entries in the memory pool used for tracking
+.Cm no state ) .
+The default is 100000.
+.It Cm src-nodes
+Set the maximum number of entries in the memory pool used for tracking
source IP addresses (generated by the
.Ar sticky-address
and
.Ar src.track
-options) to 2000.
-Using
-.Bd -literal -offset indent
-set limit table-entries 100000
-.Ed
-.Pp
-sets the limit on the overall number of addresses that can be stored
-in tables to 100000.
+options).
+The default is 10000.
+.It Cm table-entries
+Set the number of addresses that can be stored in tables.
+The default is 200000.
+.It Cm anchors
+Set the number of anchors that can exist.
+The default is 512.
+.It Cm eth-anchors
+Set the number of anchors that can exist.
+The default is 512.
+.El
.Pp
-Various limits can be combined on a single line:
+Multiple limits can be combined on a single line:
.Bd -literal -offset indent
-set limit { states 20000, frags 20000, src-nodes 2000 }
+set limit { states 20000, frags 2000, src-nodes 2000 }
.Ed
.It Ar set ruleset-optimization
.Bl -tag -width xxxxxxxx -compact
@@ -855,7 +842,15 @@ modifier to ensure unique IP identifiers.
.It Ar min-ttl Aq Ar number
Enforces a minimum TTL for matching IP packets.
.It Ar max-mss Aq Ar number
-Enforces a maximum MSS for matching TCP packets.
+Reduces the maximum segment size (MSS)
+on TCP SYN packets to be no greater than
+.Ar number .
+This is sometimes required in scenarios where the two endpoints
+of a TCP connection are not able to carry similar sized packets
+and the resulting mismatch can lead to packet fragmentation or loss.
+Note that setting the MSS this way can have undesirable effects,
+such as interfering with the OS detection features of
+.Xr pf 4 .
.It Xo Ar set-tos Aq Ar string
.No \*(Ba Aq Ar number
.Xc
diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index de2181d638d1..5084e43f97c4 100644
--- a/share/man/man5/rc.conf.5
+++ b/share/man/man5/rc.conf.5
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd July 15, 2025
+.Dd August 10, 2025
.Dt RC.CONF 5
.Os
.Sh NAME
@@ -2932,13 +2932,6 @@ is set to
these are the flags to pass to the
.Xr rpc.yppasswdd 8
daemon.
-.It Va rpc_ypupdated_enable
-.Pq Vt bool
-If set to
-.Dq Li YES ,
-run the
-.Nm rpc.ypupdated
-daemon at system boot time.
.It Va bsnmpd_enable
.Pq Vt bool
If set to
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index a3db00aed42f..2e694bfe3293 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 July 14, 2025
+.Dd August 8, 2025
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -411,8 +411,8 @@ Build clang-format.
.It Va WITHOUT_CLANG_FULL
Avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
the Clang C/C++ compiler.
-.It Va WITH_CLEAN
-Clean before building world and/or kernel.
+.It Va WITHOUT_CLEAN
+Do not clean before building world and/or kernel.
.It Va WITHOUT_CPP
Do not build
.Xr cpp 1 .
@@ -1302,8 +1302,8 @@ This must be set in the environment, make command line, or
.Pa /etc/src-env.conf ,
not
.Pa /etc/src.conf .
-.It Va WITH_MITKRB5
-Set this to build MIT Kerberos 5 instead of KTH Heimdal.
+.It Va WITHOUT_MITKRB5
+Set this to build KTH Heimdal instead of MIT Kerberos 5.
.It Va WITHOUT_MLX5TOOL
Do not build
.Xr mlx5tool 8
diff --git a/share/man/man7/build.7 b/share/man/man7/build.7
index 0aae2c42ac04..4022b915c972 100644
--- a/share/man/man7/build.7
+++ b/share/man/man7/build.7
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd March 8, 2025
+.Dd August 8, 2025
.Dt BUILD 7
.Os
.Sh NAME
@@ -667,8 +667,12 @@ This is currently incompatible with building
.Pa src
into
.Cm packages .
-.Bd -literal -offset indent
-make PORTS_MODULES=emulators/virtualbox-ose-kmod kernel
+Each port must be specified as
+.Ar category Ns Li / Ns Ar port Ns Op Li @ Ns Ar flavor ,
+e.g.
+.Bd -literal
+PORTS_MODULES=graphics/gpu-firmware-intel-kmod@kabylake
+PORTS_MODULES+=graphics/drm-66-kmod
.Ed
.It Va LOCAL_MODULES
A list of external kernel modules that should be built and installed
diff --git a/share/man/man7/named_attribute.7 b/share/man/man7/named_attribute.7
index 4080dfce2fab..a0599ef71496 100644
--- a/share/man/man7/named_attribute.7
+++ b/share/man/man7/named_attribute.7
@@ -3,7 +3,7 @@
.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
-.Dd July 20, 2025
+.Dd August 5, 2025
.Dt NAMED_ATTRIBUTE 7
.Os
.Sh NAME
@@ -153,6 +153,31 @@ property to
will make the attribute(s) visible as both named attributes
and via
.Xr extattr 2 .
+.It
+For ZFS, it is also possible to create two attributes with the same
+name by creating one when the ZFS
+.Dv xattr
+property is set to
+.Dq sa
+and then creating another one with the same name after the ZFS
+property
+.Dv xattr
+has been changed to
+.Dq dir .
+The one created when the ZFS
+.Dv xattr
+property is set to
+.Dq sa
+may be removed via
+.Xr rmextattr 8 .
+.It
+To avoid these issues for ZFS, it is strongly recommended that the ZFS
+property
+.Dv xattr
+be set to
+.Dq dir
+as soon as the file system is created, if named attributes
+are to be used on the file system.
.El
.Pp
The named attribute mechanism/system call interface provides certain
@@ -288,7 +313,8 @@ enters the named attribute directory for the file object
.Xr truncate 2 ,
.Xr unlinkat 2 ,
.Xr write 2 ,
-.Xr zfsprops 7
+.Xr zfsprops 7 ,
+.Xr rmextattr 8
.Sh HISTORY
This interface first appeared in
.Fx 15.0 .
diff --git a/share/man/man7/simd.7 b/share/man/man7/simd.7
index d5092348d9b3..2c3ed3de411e 100644
--- a/share/man/man7/simd.7
+++ b/share/man/man7/simd.7
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE
.
-.Dd November 18, 2024
+.Dd July 29, 2025
.Dt SIMD 7
.Os
.Sh NAME
@@ -50,48 +50,43 @@ can be used to override this mechanism.
.Pp
Enhanced functions are present for the following architectures:
.Bl -column FUNCTION_________ aarch64_ arm_ amd64_ i386_ ppc64_ -offset indent
-.It Em FUNCTION Ta Em AARCH64 Ta Em ARM Ta Em AMD64 Ta Em I386 Ta Em PPC64
-.It bcmp Ta A Ta Ta S1 Ta S
-.It bcopy Ta A Ta S Ta S Ta S Ta SV
-.It bzero Ta A Ta S Ta S Ta S
-.It div Ta Ta Ta S Ta S
+.It Em FUNCTION Ta Em AARCH64 Ta Em ARM Ta Em AMD64 Ta Em PPC64
+.It bcmp Ta A Ta Ta S1
+.It bcopy Ta A Ta S Ta S Ta SV
+.It bzero Ta A Ta S Ta S
+.It div Ta Ta Ta S
.It index Ta A Ta Ta S1
-.It ldiv Ta Ta Ta S Ta S
+.It ldiv Ta Ta Ta S
.It lldiv Ta Ta Ta S
.It memchr Ta A Ta Ta S1
-.It memcmp Ta A Ta S Ta S1 Ta S
+.It memcmp Ta A Ta S Ta S1
.It memccpy Ta A Ta Ta S1
-.It memcpy Ta A Ta S Ta S Ta S Ta SV
-.It memmove Ta A Ta S Ta S Ta S Ta SV
+.It memcpy Ta A Ta S Ta S Ta SV
+.It memmove Ta A Ta S Ta S Ta SV
.It memrchr Ta A Ta Ta S1
-.It memset Ta A Ta S Ta S Ta S
-.It rindex Ta A Ta Ta S1 Ta S
+.It memset Ta A Ta S Ta S
+.It rindex Ta A Ta Ta S1
.It stpcpy Ta A Ta Ta S1
.It stpncpy Ta Ta Ta S1
-.It strcat Ta A Ta Ta S1 Ta S
-.It strchr Ta A Ta Ta S1 Ta S
+.It strcat Ta A Ta Ta S1
+.It strchr Ta A Ta Ta S1
.It strchrnul Ta A Ta Ta S1
-.It strcmp Ta A Ta S Ta S1 Ta S
-.It strcpy Ta A Ta Ta S1 Ta S Ta S2
+.It strcmp Ta A Ta S Ta S1
+.It strcpy Ta A Ta Ta S1 Ta S2
.It strcspn Ta S Ta Ta S2
.It strlcat Ta A Ta Ta S1
.It strlcpy Ta A Ta Ta S1
.It strlen Ta A Ta S Ta S1
.It strncat Ta A Ta Ta S1
-.It strncmp Ta A Ta S Ta S1 Ta S
-.It strncpy Ta Ta Ta S1 Ta Ta S2
+.It strncmp Ta A Ta S Ta S1
+.It strncpy Ta Ta Ta S1 Ta S2
.It strnlen Ta A Ta Ta S1
-.It strrchr Ta A Ta Ta S1 Ta S
+.It strrchr Ta A Ta Ta S1
.It strpbrk Ta S Ta Ta S2
.It strsep Ta S Ta Ta S2
.It strspn Ta S Ta Ta S2
-.It swab Ta Ta Ta Ta S
.It timingsafe_bcmp Ta A Ta Ta S1
.It timingsafe_memcmp Ta S Ta Ta S
-.It wcschr Ta Ta Ta Ta S
-.It wcscmp Ta Ta Ta Ta S
-.It wcslen Ta Ta Ta Ta S
-.It wmemchr Ta Ta Ta Ta S
.El
.Pp
.Sy S Ns :\ scalar (non-SIMD),
diff --git a/share/man/man9/cpuset.9 b/share/man/man9/cpuset.9
index 20485059a4c8..0ca04f921f82 100644
--- a/share/man/man9/cpuset.9
+++ b/share/man/man9/cpuset.9
@@ -22,7 +22,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd September 23, 2022
+.Dd August 7, 2025
.Dt CPUSET 9
.Os
.Sh NAME
@@ -50,8 +50,10 @@
.Nm CPU_ANDNOT ,
.Nm CPU_XOR ,
.Nm CPU_CLR_ATOMIC ,
+.Nm CPU_TEST_CLR_ATOMIC ,
.Nm CPU_SET_ATOMIC ,
.Nm CPU_SET_ATOMIC_ACQ ,
+.Nm CPU_TEST_SET_ATOMIC ,
.Nm CPU_AND_ATOMIC ,
.Nm CPU_OR_ATOMIC ,
.Nm CPU_COPY_STORE_REL
@@ -93,8 +95,10 @@
.Fn CPU_XOR "cpuset_t *dst" "cpuset_t *src1" "cpuset_t *src2"
.\"
.Fn CPU_CLR_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset"
+.Fn CPU_TEST_CLR_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset"
.Fn CPU_SET_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset"
.Fn CPU_SET_ATOMIC_ACQ "size_t cpu_idx" "cpuset_t *cpuset"
+.Fn CPU_TEST_SET_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset"
.\"
.Fn CPU_AND_ATOMIC "cpuset_t *dst" "cpuset_t *src"
.Fn CPU_OR_ATOMIC "cpuset_t *dst" "cpuset_t *src"
@@ -143,6 +147,10 @@ The
.Fn CPU_CLR_ATOMIC
macro is identical, but the bit representing the CPU is cleared with atomic
machine instructions.
+The
+.Fn CPU_TEST_CLR_ATOMIC
+macro atomically clears the bit representing the CPU and returns whether it
+was set.
.Pp
The
.Fn CPU_COPY
@@ -176,6 +184,10 @@ machine instructions.
The
.Fn CPU_SET_ATOMIC_ACQ
macro sets the bit representing the CPU with atomic acquire semantics.
+The
+.Fn CPU_TEST_SET_ATOMIC
+macro atomically sets the bit representing the CPU and returns whether it was
+set.
.Pp
The
.Fn CPU_ISSET
diff --git a/share/man/man9/pci.9 b/share/man/man9/pci.9
index 8f772e76ba99..eeb62a63a2bd 100644
--- a/share/man/man9/pci.9
+++ b/share/man/man9/pci.9
@@ -664,10 +664,14 @@ Buses in this state can cause devices to lose some context.
Devices
.Em must
be prepared for the bus to be in this state or higher.
-.It Dv PCI_POWERSTATE_D3
+.It Dv PCI_POWERSTATE_D3_HOT
State in which the device is off and not running.
Device context is lost, and power from the device can
-be removed.
+be (but is not necessarily) removed.
+.It Dv PCI_POWERSTATE_D3_COLD
+Same as
+.Dv PCI_POWERSTATE_D3_HOT ,
+except power has been removed from the device.
.It Dv PCI_POWERSTATE_UNKNOWN
State of the device is unknown.
.El
diff --git a/share/misc/Makefile b/share/misc/Makefile
index d92a359ec367..4ddc910c891e 100644
--- a/share/misc/Makefile
+++ b/share/misc/Makefile
@@ -2,8 +2,9 @@
.PATH: ${.CURDIR}/../../sys/dev/usb
+FILESGROUPS= FILES
FILES= ascii birthtoken bsd-family-tree committers-doc.dot committers-ports.dot \
- committers-src.dot flowers init.ee \
+ committers-src.dot flowers \
iso3166 iso639 latin1 mdoc.template operator pci_vendors \
scsi_modes usb_vendors \
organization.dot
@@ -15,4 +16,11 @@ FILES+= usb_hid_usages
FILES+= usbdevs
.endif
+.if ${MK_EE} != "no"
+FILESGROUPS+= EE
+EE= init.ee
+EEDIR= ${FILESDIR}
+EEPACKAGE= ee
+.endif
+
.include <bsd.prog.mk>
diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree
index 07f79008257f..3f13f72de17e 100644
--- a/share/misc/bsd-family-tree
+++ b/share/misc/bsd-family-tree
@@ -980,6 +980,15 @@ URL: https://web.archive.org/web/20090427195917/http://ezine.daemonnews.org/2001
("what are the differences between FreeBSD, NetBSD, and OpenBSD?")
+End-of-Life (EOL)
+-----------------
+The FreeBSD family tree shows when a release was published.
+If you would like to know when the support ends, just look at
+https://www.freebsd.org/security/#sup and
+https://www.freebsd.org/security/unsupported
+For other operating systems, see https://endoflife.date
+
+
Acknowledgments
---------------
@@ -989,5 +998,5 @@ original BSD announcements from Usenet or tapes.
Steven M. Schultz for providing 2.8BSD, 2.10BSD, 2.11BSD manual pages.
--
-Copyright (c) 1997-2024 Wolfram Schneider <wosch@FreeBSD.org>
+Copyright (c) 1997-2025 Wolfram Schneider <wosch@FreeBSD.org>
URL: https://cgit.freebsd.org/src/tree/share/misc/bsd-family-tree
diff --git a/share/mk/bsd.confs.mk b/share/mk/bsd.confs.mk
index ea702cece28d..77b573c7e42c 100644
--- a/share/mk/bsd.confs.mk
+++ b/share/mk/bsd.confs.mk
@@ -49,7 +49,7 @@ ${group}TAGS+= package=${PACKAGE:Uutilities}
. endif
. endif
${group}TAGS+= config
-${group}TAG_ARGS= -T ${${group}TAGS:[*]:S/ /,/g}
+${group}TAG_ARGS= -T ${${group}TAGS:ts,:[*]}
. endif
diff --git a/share/mk/bsd.dirs.mk b/share/mk/bsd.dirs.mk
index 317ff61cd604..1f81bda80eab 100644
--- a/share/mk/bsd.dirs.mk
+++ b/share/mk/bsd.dirs.mk
@@ -22,7 +22,7 @@ ${dir}_FLAG= -f ${${dir}_FLAGS}
. if !defined(${dir}TAGS) || ! ${${dir}TAGS:Mpackage=*}
${dir}TAGS+= package=${${dir}PACKAGE:Uutilities}
. endif
-${dir}TAG_ARGS= -T ${${dir}TAGS:[*]:S/ /,/g}
+${dir}TAG_ARGS= -T ${${dir}TAGS:ts,:[*]}
. endif
installdirs: installdirs-${dir}
diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk
index ea8c68e87d50..675639db7611 100644
--- a/share/mk/bsd.doc.mk
+++ b/share/mk/bsd.doc.mk
@@ -82,7 +82,7 @@ TRFLAGS+= -t
.if !defined(TAGS) || ! ${TAGS:Mpackage=*}
TAGS+= package=${PACKAGE:Uutilities}
.endif
-TAG_ARGS= -T ${TAGS:[*]:S/ /,/g}
+TAG_ARGS= -T ${TAGS:ts,:[*]}
.endif
DCOMPRESS_EXT?= ${COMPRESS_EXT}
diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk
index aedc414d6a28..3ec4da010577 100644
--- a/share/mk/bsd.files.mk
+++ b/share/mk/bsd.files.mk
@@ -39,14 +39,14 @@ STAGE_SETS+= ${group:C,[/*],_,g}
.if ${group} == "FILES"
FILESPACKAGE?= ${PACKAGE:Uutilities}
-FILESTAGS+= ${TAGS}
+FILESTAGS+= ${TAGS:Npackage=*}
.endif
.if defined(NO_ROOT)
.if !defined(${group}TAGS) || ! ${${group}TAGS:Mpackage=*}
-${group}TAGS+= package=${${group}PACKAGE:Uutilities}
+${group}TAGS+= package=${${group}PACKAGE:U${PACKAGE:Uutilities}}
.endif
-${group}TAG_ARGS= -T ${${group}TAGS:[*]:S/ /,/g}
+${group}TAG_ARGS= -T ${${group}TAGS:ts,:[*]}
.endif
diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk
index df4cf4641141..848ee0aa2ea9 100644
--- a/share/mk/bsd.incs.mk
+++ b/share/mk/bsd.incs.mk
@@ -37,7 +37,7 @@ ${group}TAGS+= package=${${group}PACKAGE:Uutilities},dev
${group}TAGS+= package=${PACKAGE:Uutilities},dev
.endif
.endif
-${group}TAG_ARGS= -T ${${group}TAGS:[*]:S/ /,/g}
+${group}TAG_ARGS= -T ${${group}TAGS:ts,:[*]}
.endif
_${group}INCS=
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 01dd979af155..3013f32c2b36 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -72,7 +72,7 @@ TAGS+= lib${_libcompat}
.if !defined(TAGS) || ! ${TAGS:Mpackage=*}
TAGS+= package=${PACKAGE:Uutilities}
.endif
-TAG_ARGS= -T ${TAGS:[*]:S/ /,/g}
+TAG_ARGS= -T ${TAGS:ts,:[*]}
.endif
# ELF hardening knobs
diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk
index 437ffd0d3b34..509520a24a3a 100644
--- a/share/mk/bsd.links.mk
+++ b/share/mk/bsd.links.mk
@@ -7,7 +7,7 @@
.if !defined(TAGS) || ! ${TAGS:Mpackage=*}
TAGS+= package=${PACKAGE}
.endif
-TAG_ARGS= -T ${TAGS:[*]:S/ /,/g}
+TAG_ARGS= -T ${TAGS:ts,:[*]}
.endif
afterinstall: _installlinks
diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index a5a4fd528268..66155d1b4cd9 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -114,7 +114,7 @@ ${__group}TAGS+= package=${${__group}PACKAGE:U${PACKAGE:Uutilities}}-man
.endif
.endif
-${__group}TAG_ARGS= -T ${${__group}TAGS:[*]:S/ /,/g}
+${__group}TAG_ARGS= -T ${${__group}TAGS:ts,:[*]}
.endif # defined(NO_ROOT)
${__group}INSTALL?= ${INSTALL} ${${__group}TAG_ARGS} \
@@ -137,13 +137,15 @@ ZEXT=
CLEANFILES+= ${${__group}:T:S/$/${FILTEXTENSION}/g}
CLEANFILES+= ${${__group}:T:S/$/${CATEXT}${FILTEXTENSION}/g}
.for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${FILTEXTENSION}/g}
+# Escape colons in target names to support manual pages whose
+# filenames contain colons.
+.for __target in ${__page:T:S/:/\:/g:S/$/${FILTEXTENSION}/g}
all-man: ${__target}
${__target}: ${__page}
${MANFILTER} < ${.ALLSRC} > ${.TARGET}
.endfor
.if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
-.for __target in ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${FILTEXTENSION}/g}
all-man: ${__target}
${__target}: ${__page}
${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} > ${.TARGET}
@@ -156,7 +158,7 @@ ${__target}: ${__page}
CLEANFILES+= ${${__group}:T:S/$/${CATEXT}/g}
.if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
.for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${CATEXT}/g}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}/g}
all-man: ${__target}
${__target}: ${__page}
${MANDOC_CMD} ${.ALLSRC} > ${.TARGET}
@@ -176,7 +178,7 @@ ZEXT= ${MCOMPRESS_EXT}
CLEANFILES+= ${${__group}:T:S/$/${MCOMPRESS_EXT}/g}
CLEANFILES+= ${${__group}:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g}
.for __page in ${${__group}}
-.for __target in ${__page:T:S/$/${MCOMPRESS_EXT}/}
+.for __target in ${__page:T:S/:/\:/g:S/$/${MCOMPRESS_EXT}/}
all-man: ${__target}
${__target}: ${__page}
.if defined(MANFILTER)
@@ -186,7 +188,7 @@ ${__target}: ${__page}
.endif
.endfor
.if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
-.for __target in ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/}
+.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${MCOMPRESS_EXT}/}
all-man: ${__target}
${__target}: ${__page}
.if defined(MANFILTER)
@@ -286,11 +288,11 @@ manlinksinstall-${__group}:
.endif
.endfor
-manlint:
+manlint: .PHONY checkmanlinks
.if defined(${__group}) && !empty(${__group})
.for __page in ${${__group}}
-manlint: ${__page}lint
-${__page}lint: ${__page}
+manlint: ${__page:S/:/\:/g}lint
+${__page:S/:/\:/g}lint: .PHONY ${__page}
.if defined(MANFILTER)
${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} -Tlint
.else
@@ -299,4 +301,18 @@ ${__page}lint: ${__page}
.endfor
.endif
+checkmanlinks: .PHONY
+.if defined(${__group}LINKS)
+checkmanlinks: checkmanlinks-${__group}
+checkmanlinks-${__group}: .PHONY
+.for __page __link in ${${__group}LINKS}
+checkmanlinks-${__group}: checkmanlinks-${__group}-${__link}
+checkmanlinks-${__group}-${__link}: .PHONY ${__page}
+ @if ! egrep -q "^(\.\\\\\" )?\.Nm ${__link:R}( ,)?$$" ${.ALLSRC}; then \
+ echo "${__group}LINKS: '.Nm ${__link:R}' not found in ${__page}"; \
+ exit 1; \
+ fi >&2
+.endfor # __page __link in ${${__group}LINKS}
+.endif # defined(${__group}LINKS)
+
.endfor # __group in ${MANGROUPS}
diff --git a/share/mk/bsd.mkopt.mk b/share/mk/bsd.mkopt.mk
index f93101544bf7..4d67ba04294d 100644
--- a/share/mk/bsd.mkopt.mk
+++ b/share/mk/bsd.mkopt.mk
@@ -19,14 +19,6 @@
# If both WITH_FOO and WITHOUT_FOO are defined, WITHOUT_FOO wins and
# MK_FOO is set to "no" regardless of which list it was in.
#
-# All of __DEFAULT_YES_OPTIONS, __DEFAULT_NO_OPTIONS and
-# __DEFAULT_DEPENDENT_OPTIONS are undef'd after all this processing,
-# allowing this file to be included multiple times with different lists.
-#
-# Other parts of the build system will set BROKEN_OPTIONS to a list
-# of options that are broken on this platform. This will not be unset
-# before returning. Clients are expected to always += this variable.
-#
# Users should generally define WITH_FOO or WITHOUT_FOO, but the build
# system should use MK_FOO={yes,no} when it needs to override the
# user's desires or default behavior.
@@ -35,6 +27,19 @@
# defined and __FOO_DEFAULT if not. Valid values for FOO are specified
# by __FOO_OPTIONS.
#
+# All of __REQUIRED_OPTIONS, __DEFAULT_DEPENDENT_OPTIONS,
+# __DEFAULT_YES_OPTIONS, __DEFAULT_NO_OPTIONS, and __SINGLE_OPTIONS
+# are undef'd after all this processing, allowing this file to be
+# included multiple times with different lists. However, we keep
+# deduplicated lists of these options in similarly-named variables
+# without the leading underscores (i.e. FOO_OPTIONS is the complete
+# deduplicated list of all values of __FOO_OPTIONS across all
+# invokations of this file).
+#
+# Other parts of the build system will set BROKEN_OPTIONS to a list
+# of options that are broken on this platform. This will not be unset
+# before returning. Clients are expected to always += this variable.
+#
# Other parts of the build system will set BROKEN_SINGLE_OPTIONS to a
# list of 3-tuples of the form: "OPTION broken_value replacment_value".
# This will not be unset before returning. Clients are expected to
@@ -42,6 +47,33 @@
#
#
+# These variables accumulate all the options from our possibly
+# multiple callers so they're available to build tools such as
+# tools/build/options/makeman.
+#
+DEFAULT_NO_OPTIONS+=${__DEFAULT_NO_OPTIONS}
+DEFAULT_NO_OPTIONS:=${DEFAULT_NO_OPTIONS:O:u}
+DEFAULT_YES_OPTIONS+=${__DEFAULT_YES_OPTIONS}
+DEFAULT_YES_OPTIONS:=${DEFAULT_YES_OPTIONS:O:u}
+DEFAULT_DEPENDENT_OPTIONS+=${__DEFAULT_DEPENDENT_OPTIONS}
+DEFAULT_DEPENDENT_OPTIONS:=${DEFAULT_DEPENDENT_OPTIONS:O:u}
+REQUIRED_OPTIONS+=${__REQUIRED_OPTIONS}
+REQUIRED_OPTIONS:=${REQUIRED_OPTIONS:O:u}
+SINGLE_OPTIONS+=${__SINGLE_OPTIONS}
+SINGLE_OPTIONS:=${SINGLE_OPTIONS:O:u}
+
+#
+# All options defined by our caller; we will undef this before
+# returning.
+#
+__ALL_OPTIONS:= \
+ ${__DEFAULT_NO_OPTIONS} \
+ ${__DEFAULT_YES_OPTIONS} \
+ ${__REQUIRED_OPTIONS} \
+ ${__DEFAULT_DEPENDENT_OPTIONS:H} \
+ ${__SINGLE_OPTIONS}
+
+#
# MK_* options which default to "yes".
#
.for var in ${__DEFAULT_YES_OPTIONS}
@@ -72,6 +104,7 @@ MK_${var}:= yes
.endif
MK_${var}:= yes
.endfor
+.undef __REQUIRED_OPTIONS
#
# MK_* options which default to "no".
@@ -142,3 +175,22 @@ MK_${vv:H}?= ${MK_${vv:T}}
MK_${vv:H}:= ${MK_${vv:H}}
.endfor
.undef __DEFAULT_DEPENDENT_OPTIONS
+
+#
+# Define SRC_OPT_DEFS and SRC_OPT_LIST
+#
+SRC_OPT_DEFS?=-D__${MACHINE_ARCH}__
+SRC_OPT_LIST?=TARGET=${MACHINE} TARGET_ARCH=${MACHINE_ARCH}
+.for option in ${__ALL_OPTIONS:O:u}
+.if defined(OPT_${option})
+SRC_OPT_DEFS+=-D${option}=${OPT_${option}:Q}
+SRC_OPT_LIST+=${option}=${OPT_${option}:Q}
+.elif ${MK_${option}} == yes
+SRC_OPT_DEFS+=-D${option}
+SRC_OPT_LIST+=WITH_${option}=1
+.elif ${MK_${option}} == no
+SRC_OPT_DEFS+=-U${option}
+SRC_OPT_LIST+=WITHOUT_${option}=1
+.endif
+.endfor
+.undef __ALL_OPTIONS
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index f44556ef9b75..9350d4786cec 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -129,7 +129,7 @@ STRIP?= -s
.if !defined(TAGS) || ! ${TAGS:Mpackage=*}
TAGS+= package=${PACKAGE:Uutilities}
.endif
-TAG_ARGS= -T ${TAGS:[*]:S/ /,/g}
+TAG_ARGS= -T ${TAGS:ts,:[*]}
.endif
.if defined(NO_SHARED) && ${NO_SHARED:tl} != "no"
diff --git a/share/mk/src.init.mk b/share/mk/src.init.mk
index 01ea5437e5a7..fd3f3501f609 100644
--- a/share/mk/src.init.mk
+++ b/share/mk/src.init.mk
@@ -3,7 +3,7 @@
__<src.init.mk>__: .NOTMAIN
.if !target(buildenv)
-buildenv: .PHONY
+buildenv: .PHONY .NOTMAIN
${_+_}@env BUILDENV_DIR=${.CURDIR} ${MAKE} -C ${SRCTOP} buildenv
.endif
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index 0fe352dffaf4..9ca043e7733c 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -78,6 +78,7 @@ _INTERNALLIBS= \
smdb \
smutil \
telnet \
+ util++ \
vers \
wpaap \
wpacommon \
@@ -471,7 +472,11 @@ _DP_ncursesw= tinfow
_DP_formw= ncursesw
_DP_nvpair= spl
_DP_panelw= ncursesw
+.if ${MK_MITKRB5} == "no"
_DP_rpcsec_gss= gssapi
+.else
+_DP_rpcsec_gss= gssapi_krb5
+.endif
_DP_smb= kiconv
_DP_ulog= md
_DP_fifolog= z
@@ -694,6 +699,9 @@ LIBPKGECC?= ${LIBPKGECCDIR}/libpkgecc${PIE_SUFFIX}.a
LIBPMCSTATDIR= ${_LIB_OBJTOP}/lib/libpmcstat
LIBPMCSTAT?= ${LIBPMCSTATDIR}/libpmcstat${PIE_SUFFIX}.a
+LIBUTIL++DIR= ${_LIB_OBJTOP}/lib/libutil++
+LIBUTIL++?= ${LIBUTIL++DIR}/libutil++${PIE_SUFFIX}.a
+
LIBWPAAPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/ap
LIBWPAAP?= ${LIBWPAAPDIR}/libwpaap${PIE_SUFFIX}.a
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index ef43d3c939b2..6000da865332 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -80,6 +80,7 @@ __DEFAULT_YES_OPTIONS = \
CDDL \
CLANG \
CLANG_BOOTSTRAP \
+ CLEAN \
CPP \
CROSS_COMPILER \
CRYPT \
@@ -200,7 +201,6 @@ __DEFAULT_NO_OPTIONS = \
BHYVE_SNAPSHOT \
CLANG_EXTRAS \
CLANG_FORMAT \
- CLEAN \
DIALOG \
DETECT_TZ_CHANGES \
DISK_IMAGE_TOOLS_BOOTSTRAP \
diff --git a/share/syscons/Makefile.inc b/share/syscons/Makefile.inc
index 07cde30e3d52..d4635b273f40 100644
--- a/share/syscons/Makefile.inc
+++ b/share/syscons/Makefile.inc
@@ -1 +1 @@
-FILESPACKAGE= syscons
+FILESPACKAGE= syscons-data
diff --git a/share/syscons/fonts/Makefile b/share/syscons/fonts/Makefile
index e1b6614b5684..ba3341da87e3 100644
--- a/share/syscons/fonts/Makefile
+++ b/share/syscons/fonts/Makefile
@@ -1,5 +1,3 @@
-PACKAGE= syscons-data
-
FILES= armscii8-8x8.fnt armscii8-8x14.fnt armscii8-8x16.fnt \
cp437-8x8.fnt cp437-8x14.fnt cp437-8x16.fnt \
cp437-thin-8x8.fnt cp437-thin-8x16.fnt \
diff --git a/share/syscons/keymaps/Makefile b/share/syscons/keymaps/Makefile
index 139834abcd2b..bf0099288a19 100644
--- a/share/syscons/keymaps/Makefile
+++ b/share/syscons/keymaps/Makefile
@@ -1,5 +1,3 @@
-PACKAGE= syscons-data
-
FILES= INDEX.keymaps \
be.iso.kbd be.iso.acc.kbd \
bg.bds.ctrlcaps.kbd bg.phonetic.ctrlcaps.kbd \
diff --git a/share/syscons/scrnmaps/Makefile b/share/syscons/scrnmaps/Makefile
index 8da31ed32be4..ffbd6be3df4d 100644
--- a/share/syscons/scrnmaps/Makefile
+++ b/share/syscons/scrnmaps/Makefile
@@ -1,5 +1,3 @@
-PACKAGE= syscons-data
-
SCRMAPS = armscii8-2haik8.scm \
iso-8859-1_to_cp437.scm iso-8859-4_for_vga9.scm \
iso-8859-7_to_cp437.scm \