aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/doc/legal/Makefile1
-rw-r--r--share/doc/legal/intel_iwlwififw/Makefile5
-rw-r--r--share/man/man4/gve.436
-rw-r--r--share/man/man4/mac_do.434
-rw-r--r--share/man/man4/pci.412
-rw-r--r--share/man/man4/rsu.44
-rw-r--r--share/man/man4/run.44
-rw-r--r--share/man/man5/intro.535
-rw-r--r--share/man/man5/pf.conf.58
-rw-r--r--share/man/man5/rc.conf.535
-rw-r--r--share/man/man5/src.conf.56
-rw-r--r--share/man/man7/arch.724
-rw-r--r--share/man/man7/hier.74
-rw-r--r--share/man/man7/tests.73
-rw-r--r--share/man/man9/Makefile3
-rw-r--r--share/man/man9/OF_device_from_xref.914
-rw-r--r--share/man/man9/pci.927
-rw-r--r--share/mk/bsd.sys.mk2
-rw-r--r--share/mk/googletest.test.inc.mk2
-rw-r--r--share/vt/keymaps/INDEX.keymaps3
-rw-r--r--share/vt/keymaps/br.lenovo.kbd160
-rw-r--r--share/zoneinfo/Makefile16
22 files changed, 365 insertions, 73 deletions
diff --git a/share/doc/legal/Makefile b/share/doc/legal/Makefile
index 9467a4ece9a7..a4ac98c4d305 100644
--- a/share/doc/legal/Makefile
+++ b/share/doc/legal/Makefile
@@ -1,6 +1,5 @@
SUBDIR= intel_ipw \
intel_iwi \
- intel_iwlwififw \
intel_iwn \
intel_wpi \
realtek
diff --git a/share/doc/legal/intel_iwlwififw/Makefile b/share/doc/legal/intel_iwlwififw/Makefile
deleted file mode 100644
index 87956f8e7a30..000000000000
--- a/share/doc/legal/intel_iwlwififw/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-FILES= ${SRCTOP}/sys/contrib/dev/iwlwififw/LICENCE.iwlwifi_firmware
-FILESDIR= ${SHAREDIR}/doc/legal
-FILESNAME= intel_iwlwifi_firmware.LICENCE
-
-.include <bsd.prog.mk>
diff --git a/share/man/man4/gve.4 b/share/man/man4/gve.4
index 5f58a4c1a503..754071e2fad8 100644
--- a/share/man/man4/gve.4
+++ b/share/man/man4/gve.4
@@ -79,6 +79,19 @@ binds to a single PCI device ID presented by gVNIC:
.It
0x1AE0:0x0042
.El
+.Sh EXAMPLES
+.Pp
+Change the TX queue count to 4 for the gve0 interface:
+.D1 sysctl dev.gve.0.num_tx_queues=4
+.Pp
+Change the RX queue count to 4 for the gve0 interface:
+.D1 sysctl dev.gve.0.num_rx_queues=4
+.Pp
+Change the TX ring size to 512 for the gve0 interface:
+.D1 sysctl dev.gve.0.tx_ring_size=512
+.Pp
+Change the RX ring size to 512 for the gve0 interface:
+.D1 sysctl dev.gve.0.rx_ring_size=512
.Sh DIAGNOSTICS
The following messages are recorded during driver initialization:
.Bl -diag
@@ -211,6 +224,29 @@ The default value is 0, which means hardware LRO is enabled by default.
The software LRO stack in the kernel is always used.
This sysctl variable needs to be set before loading the driver, using
.Xr loader.conf 5 .
+.It Va dev.gve.X.num_rx_queues and dev.gve.X.num_tx_queues
+Run-time tunables that represent the number of currently used RX/TX queues.
+The default value is the max number of RX/TX queues the device can support.
+.Pp
+This call turns down the interface while setting up the new queues,
+which may potentially cause any new packets to be dropped.
+This call can fail if the system is not able to provide the driver with enough resources.
+In that situation, the driver will revert to the previous number of RX/TX queues.
+If this also fails, a device reset will be triggered.
+.Pp
+Note: sysctl nodes for queue stats remain available even if a queue is removed.
+.Pp
+.It Va dev.gve.X.rx_ring_size and dev.gve.X.tx_ring_size
+Run-time tunables that represent the current ring size for RX/TX queues.
+The default value is set to device defaults for ring size.
+.Pp
+This call turns down the interface while setting up the queues with the new ring size,
+which may potentially cause any new packets to be dropped.
+This call can fail if the system is not able to provide the driver with enough resources.
+In that situation, the driver will try to revert to the previous ring size for RX/TX queues.
+If this also fails, the device will be in an unhealthy state and will need to be reloaded.
+This value must be a power of 2 and within the defined range.
+.Pp
.El
.Sh LIMITATIONS
.Nm
diff --git a/share/man/man4/mac_do.4 b/share/man/man4/mac_do.4
index 9a9f669cd51c..4c067205225c 100644
--- a/share/man/man4/mac_do.4
+++ b/share/man/man4/mac_do.4
@@ -75,9 +75,9 @@ and a
.Li Aq to
part
.Pq also called Dq target ,
-in this order, separated by a colon
-.Pq Ql ":" :
-.Dl Ao rule Ac \ ⟶\ Ao from Ac So ":" Sc Ao to Ac
+in this order, separated by a greater-than sign
+.Pq Ql > :
+.Dl Ao rule Ac \ ⟶\ Ao from Ac So > Sc Ao to Ac
.Ss Rule's Ao from Ac Part
The first part of a rule,
.Li Aq from ,
@@ -347,32 +347,32 @@ as this path is currently not configurable.
Here are several examples of single rules matching processes having a real user
ID of 10001:
.Bl -tag -width indent
-.It Li uid=10001:uid=10002
+.It Li uid=10001>uid=10002
Allows the process to switch any of its real, effective or saved user ID to
10002, but keeping the groups it is already in, and with the same
primary/supplementary groups split.
-.It Li uid=10001:uid=10002,uid=10003
+.It Li uid=10001>uid=10002,uid=10003
Same as the first example, but also allows to switch to UID 10003 instead of
10002.
-.It Li uid=10001:uid=10002,gid=10002
+.It Li uid=10001>uid=10002,gid=10002
Same as the first example, but the new primary groups must be set to 10002 and
no supplementary groups should be set.
-.It Li uid=10001:uid=10002,gid=10002,+gid=.\&
+.It Li uid=10001>uid=10002,gid=10002,+gid=.\&
Same as the previous example, but in addition allowing to retain any current
supplementary groups.
-.It Li uid=10001:uid=10002,gid=10002,!gid=.\&
+.It Li uid=10001>uid=10002,gid=10002,!gid=.\&
Same as the previous example, but with the additional constraint that all
current supplementary groups must be kept.
-.It Li uid=10001:uid=10002,gid=10002,+gid=.,-gid=10001
+.It Li uid=10001>uid=10002,gid=10002,+gid=.,-gid=10001
Same as
-.Ql uid=10001:uid=10002,gid=10002,+gid=.\&
+.Ql uid=10001>uid=10002,gid=10002,+gid=.\&
above, but 10001 cannot be retained as a supplementary group.
-.It Li uid=10001:uid=10002,gid=10002,+gid=.,!gid=10003
+.It Li uid=10001>uid=10002,gid=10002,+gid=.,!gid=10003
Same as
-.Ql uid=10001:uid=10002,gid=10002,+gid=.\&
+.Ql uid=10001>uid=10002,gid=10002,+gid=.\&
above, with the additional constraint that 10003 must appear in the
supplementary groups.
-.It Li uid=10001:uid=10002,gid=*,+gid=*
+.It Li uid=10001>uid=10002,gid=*,+gid=*
Same as the first example, but lifting any constraints on groups, allowing the
process to become part of any groups it sees fit.
.El
@@ -380,17 +380,17 @@ process to become part of any groups it sees fit.
Here are several examples of single rules matching processes having a real group
ID of 10001:
.Bl -tag -width indent
-.It Li gid=10001:uid=0
+.It Li gid=10001>uid=0
Makes 10001 a more powerful
.Ql wheel
group, allowing its members to switch to root without password.
-.It Li gid=10001:gid=10002
+.It Li gid=10001>gid=10002
Allows the process to enter GID 10002 as a primary group, but only if
giving up all its supplementary groups.
-.It Li security.mac.do.rules=gid=10001:gid=10002,+gid=.\&
+.It Li security.mac.do.rules=gid=10001>gid=10002,+gid=.\&
Same as the previous example, but allows to retain any current supplementary
groups.
-.It Li gid=10001:gid=10002,!gid=.\&
+.It Li gid=10001>gid=10002,!gid=.\&
Same as the previous example, but with the additional constraint that all
current supplementary groups must be kept.
.El
diff --git a/share/man/man4/pci.4 b/share/man/man4/pci.4
index 8623eaf3c3b5..91fbb557f644 100644
--- a/share/man/man4/pci.4
+++ b/share/man/man4/pci.4
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd March 1, 2025
+.Dd April 2, 2025
.Dt PCI 4
.Os
.Sh NAME
@@ -372,16 +372,18 @@ The input parameters and results are passed in the
.Va pci_bar_mmap
structure, which has the following fields:
.Bl -tag -width Vt struct pcise pbm_sel
-.It Vt uint64_t pbm_map_base
+.It Vt void *pbm_map_base
Reports the established mapping base to the caller.
If
.Va PCIIO_BAR_MMAP_FIXED
flag was specified, then this field must be filled before the call
with the desired address for the mapping.
-.It Vt uint64_t pbm_map_length
+.It Vt size_t pbm_map_length
Reports the mapped length of the BAR, in bytes.
-Its .Vt uint64_t value is always multiple of machine pages.
-.It Vt int64_t pbm_bar_length
+Its
+.Vt size_t
+value is always multiple of machine pages.
+.It Vt uint64_t pbm_bar_length
Reports length of the bar as exposed by the device.
.It Vt int pbm_bar_off
Reports offset from the mapped base to the start of the
diff --git a/share/man/man4/rsu.4 b/share/man/man4/rsu.4
index 7aaacb8112a0..1c4f9774ea53 100644
--- a/share/man/man4/rsu.4
+++ b/share/man/man4/rsu.4
@@ -17,7 +17,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd November 10, 2024
+.Dd April 1, 2025
.Dt RSU 4
.Os
.Sh NAME
@@ -126,6 +126,8 @@ Sitecom WL-349 v1
.It
Sitecom WL-353
.It
+Sitecom WLA-1100 v1001
+.It
Sweex LW154
.It
TRENDnet TEW-646UBH
diff --git a/share/man/man4/run.4 b/share/man/man4/run.4
index 0e8a74d948bd..c3d9d75f8e28 100644
--- a/share/man/man4/run.4
+++ b/share/man/man4/run.4
@@ -17,7 +17,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd November 10, 2024
+.Dd April 1, 2025
.Dt RUN 4
.Os
.Sh NAME
@@ -228,6 +228,8 @@ Sitecom WL-302
.It
Sitecom WL-315
.It
+Sitecom WL-364
+.It
SMC SMCWUSBS-N2
.It
Sweex LW303
diff --git a/share/man/man5/intro.5 b/share/man/man5/intro.5
index 78e147975e81..3e67b319da14 100644
--- a/share/man/man5/intro.5
+++ b/share/man/man5/intro.5
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-3-Clause
+.\"
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
@@ -25,25 +28,41 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd February 16, 1997
+.Dd November 17, 2024
.Dt INTRO 5
.Os
.Sh NAME
.Nm intro
-.Nd "introduction to file formats"
+.Nd introduction to file formats
.Sh DESCRIPTION
-This section contains information about file formats.
+This section contains information about the file formats
+which comprise most data structures in the
+.Bx
+environment, including:
+.Pp
+.Bl -bullet -compact
+.It
+.Xr ascii 7
+configuration and resource files
+.It
+system binary file and stream structures
+.It
+composition of database files
+.El
.Sh FILES
-.Bl -tag -width /etc/shells -compact
-.It Pa /etc
-location of most system configuration files
+.Bl -tag -width "/usr/local/etc/" -compact
+.It Pa /etc/
+base system software configuration files
+.It Pa /usr/local/etc/
+locally installed software configuration files
.El
.Sh SEE ALSO
.Xr apropos 1 ,
.Xr intro 1 ,
+.Xr hier 7 ,
.Xr intro 8
.Sh HISTORY
The
-.Nm
-section manual page appeared in
+.Nm Ns Pq 5
+manual page first appeared in
.Fx 2.2 .
diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5
index 704f43a30f83..64da49845a32 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 February 14, 2025
+.Dd April 9, 2025
.Dt PF.CONF 5
.Os
.Sh NAME
@@ -167,7 +167,7 @@ will be cleared on load.
.El
.Pp
Tables may be defined with the following attributes:
-.Bl -tag -width persist
+.Bl -tag -width counters
.It Ar persist
The
.Ar persist
@@ -1659,10 +1659,6 @@ allows echo requests (such as those created by
out statefully, and matches incoming echo replies correctly to states.
.Pp
Also, looking up states is usually faster than evaluating rules.
-If there are 50 rules, all of them are evaluated sequentially in O(n).
-Even with 50000 states, only 16 comparisons are needed to match a
-state, since states are stored in a binary search tree that allows
-searches in O(log2 n).
.Pp
Furthermore, correct handling of ICMP error messages is critical to
many protocols, particularly TCP.
diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5
index 8ad503f792e8..1086fe01a0e8 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 January 6, 2025
+.Dd April 14, 2025
.Dt RC.CONF 5
.Os
.Sh NAME
@@ -269,6 +269,11 @@ If set to
auto-jail the service with inherited filesystem and other
jail properties depending on
.Ao Ar name Ac Ns Va _svcj_options .
+.It Ao Ar name Ac Ns Va _svcj_ipaddrs
+.Pq Vt str
+A list of IP addresses that the service jail will be permitted to use.
+If this is not specified, the service jail will be permitted to use all
+assigned IP addresses if networking is enabled in the jail.
.It Ao Ar name Ac Ns Va _svcj_options
.Pq Vt str
A list of jail properties for the service.
@@ -4969,16 +4974,26 @@ are:
.It mlock
Allows to lock memory pages into the physical memory.
.It netv4
-Inherit the IPv4 address and allows to open reserved ports.
+Allows IPv4 network access and the ability to bind to reserved ports.
+If
+.Ao Ar name Ac Ns Va _svcj_ipaddrs
+is set, only the IPv4 addresses listed there will be visible to the jail,
+otherwise all assigned IPv4 addresses will be visible.
This can not be combined with
.Pa netv6 .
.It netv6
-Inherit the IPv6 address and allows to open reserved ports.
+Allows IPv6 network access and the ability to bind to reserved ports.
+If
+.Ao Ar name Ac Ns Va _svcj_ipaddrs
+is set, only the IPv6 addresses listed there will be visible to the jail,
+otherwise all assigned IPv6 addresses will be visible.
This can not be combined with
.Pa netv4 .
.It net_basic
-Inherits the IPv4 and IPv6 addresses and allows to open
-reserved ports.
+Equivalent to enabling both
+.Pa netv6
+and
+.Pa netv4 .
.It net_raw
Allow to open raw sockets.
This option can be combined with
@@ -4986,10 +5001,12 @@ This option can be combined with
.Pa netv6 ,
.Pa net_basic .
.It net_all
-Inherits the IPv4 and IPv6 addresses, allows to open reserved
-ports, allows to open raw sockets, and allows to open sockets
-of protocol stacks that have not had jail functionality added
-to them.
+Allows IPv6 and IPv4 network access as for
+.Pa netv4
+and
+.Pa netv6 ,
+allows to open raw sockets, and allows to open sockets of protocol stacks that
+have not had jail functionality added to them.
.It nfsd
Allows to run nfsd and affiliated daemons.
.It sysvipc
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index 321eea708d04..ac938b47a9e1 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 March 14, 2025
+.Dd March 30, 2025
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -646,7 +646,7 @@ and
.Xr efivar 8 .
.Pp
This is a default setting on
-i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
+i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
.It Va WITH_EFI
Build
.Xr efivar 3
@@ -654,7 +654,7 @@ and
.Xr efivar 8 .
.Pp
This is a default setting on
-amd64/amd64, arm/armv7 and arm64/aarch64.
+amd64/amd64, arm/armv7, arm64/aarch64 and riscv/riscv64.
.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
Do not build ELF Tool Chain tools
(addr2line, nm, size, strings and strip)
diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7
index 33a6dd82c06c..273c504ebaff 100644
--- a/share/man/man7/arch.7
+++ b/share/man/man7/arch.7
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd February 4, 2025
+.Dd April 12, 2025
.Dt ARCH 7
.Os
.Sh NAME
@@ -104,17 +104,17 @@ Discontinued architectures are shown in the following table.
.It armeb Ta 8.0 Ta 11.4
.It armv6 Ta 10.0 Ta 14.x
.It ia64 Ta 5.0 Ta 10.4
-.It mips Ta 8.0 Ta 13.x
-.It mipsel Ta 9.0 Ta 13.x
-.It mipselhf Ta 12.0 Ta 13.x
-.It mipshf Ta 12.0 Ta 13.x
-.It mipsn32 Ta 9.0 Ta 13.x
-.It mips64 Ta 9.0 Ta 13.x
-.It mips64el Ta 9.0 Ta 13.x
-.It mips64elhf Ta 12.0 Ta 13.x
-.It mips64hf Ta 12.0 Ta 13.x
+.It mips Ta 8.0 Ta 13.5
+.It mipsel Ta 9.0 Ta 13.5
+.It mipselhf Ta 12.0 Ta 13.5
+.It mipshf Ta 12.0 Ta 13.5
+.It mipsn32 Ta 9.0 Ta 13.5
+.It mips64 Ta 9.0 Ta 13.5
+.It mips64el Ta 9.0 Ta 13.5
+.It mips64elhf Ta 12.0 Ta 13.5
+.It mips64hf Ta 12.0 Ta 13.5
.It pc98 Ta 2.2 Ta 11.4
-.It riscv64sf Ta 12.0 Ta 13.x
+.It riscv64sf Ta 12.0 Ta 13.5
.It sparc64 Ta 5.0 Ta 12.4
.El
.Ss Type sizes
@@ -248,7 +248,7 @@ as the default compiler on all supported CPU architectures,
LLVM's
.Xr ld.lld 1
as the default linker, and
-ELF Tool Chain binary utilities such as
+LLVM binary utilities such as
.Xr objcopy 1
and
.Xr readelf 1 .
diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7
index 949b521ab3d9..1c69b911f53b 100644
--- a/share/man/man7/hier.7
+++ b/share/man/man7/hier.7
@@ -156,6 +156,8 @@ file descriptor files; see
.Xr fd 4
.It Pa fd0
first floppy drive
+.It Pa gpt/
+storage partitions by GPT label
.It Pa mmcsd0
first SD storage device
.It Pa mmcsd0s1
@@ -168,7 +170,7 @@ infinite loop that accepts anything and contains nothing
.It Pa nvd0
first NVMe storage device using NVMe namespaces
.It Pa pts/
-pseduo-terminals; see
+pseudo-terminals; see
.Xr pts 4
.It Pa random
source of weak randomness; see
diff --git a/share/man/man7/tests.7 b/share/man/man7/tests.7
index 1fbaad7d42a0..3cca7bdb1b91 100644
--- a/share/man/man7/tests.7
+++ b/share/man/man7/tests.7
@@ -171,6 +171,9 @@ Enables tests that change globally significant
.Xr sysctl 8
variables.
The tests will undo any changes in their cleanup phases.
+.It allow_network_access
+Enables tests that need to access the network the test host is connected to.
+Such tests may require properly configured Internet access.
.It disks
Must be set to a space delimited list of disk device nodes.
Tests that need destructive access to disks must use these devices.
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 8a3c36b0f8aa..a43d2c9fef3f 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -1790,10 +1790,12 @@ MLINKS+=panic.9 vpanic.9 \
panic.9 KERNEL_PANICKED.9
MLINKS+=pci.9 pci_alloc_msi.9 \
pci.9 pci_alloc_msix.9 \
+ pci.9 pci_clear_pme.9 \
pci.9 pci_disable_busmaster.9 \
pci.9 pci_disable_io.9 \
pci.9 pci_enable_busmaster.9 \
pci.9 pci_enable_io.9 \
+ pci.9 pci_enable_pme.9 \
pci.9 pci_find_bsf.9 \
pci.9 pci_find_cap.9 \
pci.9 pci_find_dbsf.9 \
@@ -1806,6 +1808,7 @@ MLINKS+=pci.9 pci_alloc_msi.9 \
pci.9 pci_get_powerstate.9 \
pci.9 pci_get_vpd_ident.9 \
pci.9 pci_get_vpd_readonly.9 \
+ pci.9 pci_has_pm.9 \
pci.9 pci_iov_attach.9 \
pci.9 pci_iov_attach_name.9 \
pci.9 pci_iov_detach.9 \
diff --git a/share/man/man9/OF_device_from_xref.9 b/share/man/man9/OF_device_from_xref.9
index 85a19df6641b..0b858866b654 100644
--- a/share/man/man9/OF_device_from_xref.9
+++ b/share/man/man9/OF_device_from_xref.9
@@ -23,19 +23,22 @@
.\" (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 April 9, 2018
+.Dd April 3, 2025
.Dt OF_DEVICE_FROM_XREF 9
.Os
.Sh NAME
.Nm OF_device_from_xref ,
.Nm OF_xref_from_device ,
.Nm OF_device_register_xref
+.Nm OF_device_unregister_xref
.Nd "manage mappings between xrefs and devices"
.Sh SYNOPSIS
.In dev/ofw/ofw_bus.h
.In dev/ofw/ofw_bus_subr.h
.Ft int
.Fn OF_device_register_xref "phandle_t xref" "device_t dev"
+.Ft void
+.Fn OF_device_unregister_xref "phandle_t xref" "device_t dev"
.Ft device_t
.Fn OF_device_from_xref "phandle_t xref"
.Ft phandle_t
@@ -57,6 +60,15 @@ If a mapping entry for
already exists, it is replaced with the new one.
The function always returns 0.
.Pp
+.Fn OF_device_unregister_xref
+removes a map entry from the effective phandle
+.Fa xref
+to device
+.Fa dev .
+If a mapping entry for
+.Fa xref
+does not exists, it silently returns.
+.Pp
.Fn OF_device_from_xref
returns a device_t instance associated with the effective phandle
.Fa xref .
diff --git a/share/man/man9/pci.9 b/share/man/man9/pci.9
index 3c3e54bf8760..8f772e76ba99 100644
--- a/share/man/man9/pci.9
+++ b/share/man/man9/pci.9
@@ -23,17 +23,19 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd May 20, 2021
+.Dd March 27, 2025
.Dt PCI 9
.Os
.Sh NAME
.Nm pci ,
.Nm pci_alloc_msi ,
.Nm pci_alloc_msix ,
+.Nm pci_clear_pme ,
.Nm pci_disable_busmaster ,
.Nm pci_disable_io ,
.Nm pci_enable_busmaster ,
.Nm pci_enable_io ,
+.Nm pci_enable_pme ,
.Nm pci_find_bsf ,
.Nm pci_find_cap ,
.Nm pci_find_dbsf ,
@@ -50,6 +52,7 @@
.Nm pci_get_powerstate ,
.Nm pci_get_vpd_ident ,
.Nm pci_get_vpd_readonly ,
+.Nm pci_has_pm ,
.Nm pci_iov_attach ,
.Nm pci_iov_attach_name ,
.Nm pci_iov_detach ,
@@ -81,6 +84,8 @@
.Fn pci_alloc_msi "device_t dev" "int *count"
.Ft int
.Fn pci_alloc_msix "device_t dev" "int *count"
+.Ft void
+.Fn pci_clear_pme "device_t dev"
.Ft int
.Fn pci_disable_busmaster "device_t dev"
.Ft int
@@ -89,6 +94,8 @@
.Fn pci_enable_busmaster "device_t dev"
.Ft int
.Fn pci_enable_io "device_t dev" "int space"
+.Ft void
+.Fn pci_enable_pme "device_t dev"
.Ft device_t
.Fn pci_find_bsf "uint8_t bus" "uint8_t slot" "uint8_t func"
.Ft int
@@ -121,6 +128,8 @@
.Fn pci_get_vpd_ident "device_t dev" "const char **identptr"
.Ft int
.Fn pci_get_vpd_readonly "device_t dev" "const char *kw" "const char **vptr"
+.Ft bool
+.Fn pci_has_pm "device_t dev"
.Ft int
.Fn pci_msi_count "device_t dev"
.Ft int
@@ -355,6 +364,12 @@ When no more instances are located
returns an error.
.Pp
The
+.Fn pci_has_pm
+function returns true if
+.Fa dev
+supports power management.
+.Pp
+The
.Fn pci_find_extcap
function is used to locate the first instance of a PCI-express
extended capability register set for the device
@@ -670,6 +685,16 @@ then the function will fail with
.Er EOPNOTSUPP .
.Pp
The
+.Fn pci_clear_pme
+function is used to clear any pending PME# signal and disable generation
+of power management events.
+.Pp
+The
+.Fn pci_enable_pme
+function is used to enable generation of power management events before
+suspending a device.
+.Pp
+The
.Fn pci_iov_attach
function is used to advertise that the given device
.Pq and associated device driver
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index 63496e9b8ccd..b8535809e5aa 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -22,6 +22,8 @@ CFLAGS+= -std=iso9899:1999
CFLAGS+= -std=${CSTD}
.endif # CSTD
+CXXSTD?= gnu++17
+
.if !empty(CXXSTD)
CXXFLAGS+= -std=${CXXSTD}
.endif
diff --git a/share/mk/googletest.test.inc.mk b/share/mk/googletest.test.inc.mk
index 05415775448b..9ef5a3ceac00 100644
--- a/share/mk/googletest.test.inc.mk
+++ b/share/mk/googletest.test.inc.mk
@@ -9,6 +9,4 @@ GTESTS_CXXFLAGS+= -frtti
# libgmock's, etc, headers.
CXXFLAGS+= -I${DESTDIR}${INCLUDEDIR}/private
-CXXSTD?= c++14
-
NO_WTHREAD_SAFETY=
diff --git a/share/vt/keymaps/INDEX.keymaps b/share/vt/keymaps/INDEX.keymaps
index 278f9ec9f373..a3b59989cc5d 100644
--- a/share/vt/keymaps/INDEX.keymaps
+++ b/share/vt/keymaps/INDEX.keymaps
@@ -83,6 +83,9 @@ br.noacc.kbd:fr:Brésilien (sans accents)
br.noacc.kbd:pt:Brasileiro (without accent keys)
br.noacc.kbd:es:Brasileño (without accent keys)
+br.lenovo.kbd:en:Brazilian Lenovo Laptop (accent keys, with slash in place of right Ctrl)
+br.lenovo.kbd:pt:Brasileiro Lenovo Laptop (com acentos, com barra no lugar do Ctrl da direita)
+
by.kbd:en:Belarusian
by.kbd:da:Hviderussisk
by.kbd:de:Weißrussisch
diff --git a/share/vt/keymaps/br.lenovo.kbd b/share/vt/keymaps/br.lenovo.kbd
new file mode 100644
index 000000000000..c5cd3be60b09
--- /dev/null
+++ b/share/vt/keymaps/br.lenovo.kbd
@@ -0,0 +1,160 @@
+#
+# Keymap for Lenovo laptops (Thinkpad, Ideapad, Yoga, Legion)
+#
+# Some laptops sold in Brazil have written "/, ?" in same position
+# where it should be the right control key. The keyboard sends
+# the incorrect scancode.
+#
+# This map should be the same as br.keymap, but with 090 (rctrl)
+# replaced by 115 scancode content (?, /, 0xb0).
+#
+# alt
+# scan cntrl alt alt cntrl lock
+# code base shift cntrl shift alt shift cntrl shift state
+# ------------------------------------------------------------------
+ 000 nop nop nop nop nop nop nop nop O
+ 001 esc esc esc esc esc esc debug esc O
+ 002 '1' '!' nop nop 0xb9 '!' nop nop O
+ 003 '2' '@' nul nul 0xb2 '@' nul nul O
+ 004 '3' '#' nop nop 0xb3 '#' nop nop O
+ 005 '4' '$' nop nop 0xa3 '$' nop nop O
+ 006 '5' '%' nop nop 0xa2 '%' nop nop O
+ 007 '6' duml rs rs 0xac duml rs rs O
+ 008 '7' '&' nop nop '7' '&' nop nop O
+ 009 '8' '*' nop nop '8' '*' nop nop O
+ 010 '9' '(' nop nop '9' '(' nop nop O
+ 011 '0' ')' nop nop '0' ')' nop nop O
+ 012 '-' '_' us us '-' '_' us us O
+ 013 '=' '+' nop nop 0xa7 '+' nop nop O
+ 014 bs bs del del bs bs del del O
+ 015 ht btab nop nop ht btab nop nop O
+ 016 'q' 'Q' dc1 dc1 '/' 'Q' dc1 dc1 C
+ 017 'w' 'W' etb etb '?' 'W' etb etb C
+ 018 'e' 'E' enq enq 0x00b0 'E' enq enq C
+ 019 'r' 'R' dc2 dc2 'r' 'R' dc2 dc2 C
+ 020 't' 'T' dc4 dc4 't' 'T' dc4 dc4 C
+ 021 'y' 'Y' em em 'y' 'Y' em em C
+ 022 'u' 'U' nak nak 'u' 'U' nak nak C
+ 023 'i' 'I' ht ht 'i' 'I' ht ht C
+ 024 'o' 'O' si si 'o' 'O' si si C
+ 025 'p' 'P' dle dle 'p' 'P' dle dle C
+ 026 dacu dgra nop nop dacu dgra nop nop O
+ 027 '[' '{' esc esc 0xaa '{' esc esc O
+ 028 cr cr nl nl cr cr nl nl O
+ 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O
+ 030 'a' 'A' soh soh 'a' 'A' soh soh C
+ 031 's' 'S' dc3 dc3 's' 'S' dc3 dc3 C
+ 032 'd' 'D' eot eot 'd' 'D' eot eot C
+ 033 'f' 'F' ack ack 'f' 'F' ack ack C
+ 034 'g' 'G' bel bel 'g' 'G' bel bel C
+ 035 'h' 'H' bs bs 'h' 'H' bs bs C
+ 036 'j' 'J' nl nl 'j' 'J' nl nl C
+ 037 'k' 'K' vt vt 'k' 'K' vt vt C
+ 038 'l' 'L' ff ff 'l' 'L' ff ff C
+ 039 0xe7 0xc7 nop nop 0xe7 0xc7 nop nop C
+ 040 dtil dcir nop nop dtil dcir nop nop O
+ 041 ''' '"' nop nop ''' '"' nop nop O
+ 042 lshift lshift lshift lshift lshift lshift lshift lshift O
+ 043 ']' '}' gs gs 0xba '}' gs gs O
+ 044 'z' 'Z' sub sub 'z' 'Z' sub sub C
+ 045 'x' 'X' can can 'x' 'X' can can C
+ 046 'c' 'C' etx etx 0x20a2 'C' etx etx C
+ 047 'v' 'V' syn syn 'v' 'V' syn syn C
+ 048 'b' 'B' stx stx 'b' 'B' stx stx C
+ 049 'n' 'N' so so 'n' 'N' so so C
+ 050 'm' 'M' cr cr 'm' 'M' cr cr C
+ 051 ',' '<' nop nop ',' '<' nop nop O
+ 052 '.' '>' nop nop '.' '>' nop nop O
+ 053 ';' ':' nop nop ';' ':' nop nop O
+ 054 rshift rshift rshift rshift rshift rshift rshift rshift O
+ 055 '*' '*' '*' '*' '*' '*' '*' '*' O
+ 056 lalt lalt lalt lalt lalt lalt lalt lalt O
+ 057 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O
+ 058 clock clock clock clock clock clock clock clock O
+ 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O
+ 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O
+ 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O
+ 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O
+ 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O
+ 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O
+ 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O
+ 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O
+ 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O
+ 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O
+ 069 nlock nlock nlock nlock nlock nlock nlock nlock O
+ 070 slock slock slock slock slock slock slock slock O
+ 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N
+ 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N
+ 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N
+ 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N
+ 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N
+ 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N
+ 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N
+ 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N
+ 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N
+ 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N
+ 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N
+ 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N
+ 083 del ',' ',' ',' ',' ',' boot boot N
+ 084 nop nop nop nop nop nop nop nop O
+ 085 nop nop nop nop nop nop nop nop O
+ 086 '\' '|' fs fs '\' '|' fs fs O
+ 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O
+ 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O
+ 089 cr cr nl nl cr cr nl nl O
+ 090 '/' '?' nop nop 0xb0 '?' nop nop O
+ 091 '/' '/' '/' '/' '/' '/' '/' '/' N
+ 092 nscr pscr debug debug nop nop nop nop O
+ 093 ralt ralt ralt ralt ralt ralt ralt ralt O
+ 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O
+ 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O
+ 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O
+ 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O
+ 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O
+ 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O
+ 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O
+ 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O
+ 102 fkey60 paste fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O
+ 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O
+ 104 slock saver slock saver susp nop susp nop O
+ 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O
+ 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O
+ 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O
+ 108 nop nop nop nop nop nop nop nop O
+ 109 nop nop nop nop nop nop nop nop O
+ 110 nop nop nop nop nop nop nop nop O
+ 111 nop nop nop nop nop nop nop nop O
+ 112 nop nop nop nop nop nop nop nop O
+ 113 nop nop nop nop nop nop nop nop O
+ 114 nop nop nop nop nop nop nop nop O
+ 115 nop nop nop nop nop nop nop nop O
+ 116 nop nop nop nop nop nop nop nop O
+ 117 nop nop nop nop nop nop nop nop O
+ 118 nop nop nop nop nop nop nop nop O
+ 119 nop nop nop nop nop nop nop nop O
+ 120 nop nop nop nop nop nop nop nop O
+ 121 nop nop nop nop nop nop nop nop O
+ 122 nop nop nop nop nop nop nop nop O
+ 123 nop nop nop nop nop nop nop nop O
+ 124 nop nop nop nop nop nop nop nop O
+ 125 nop nop nop nop nop nop nop nop O
+ 126 '.' '.' '.' '.' '.' '.' '.' '.' N
+
+ dgra '`' ( 'a' 0xe0 ) ( 'A' 0xc0 ) ( 'e' 0xe8 ) ( 'E' 0xc8 )
+ ( 'i' 0xec ) ( 'I' 0xcc ) ( 'o' 0xf2 ) ( 'O' 0xd2 )
+ ( 'u' 0xf9 ) ( 'U' 0xd9 )
+
+ dacu 0xb4 ( 'a' 0xe1 ) ( 'A' 0xc1 ) ( 'e' 0xe9 ) ( 'E' 0xc9 )
+ ( 'i' 0xed ) ( 'I' 0xcd ) ( 'o' 0xf3 ) ( 'O' 0xd3 )
+ ( 'u' 0xfa ) ( 'U' 0xda ) ( 'y' 0xfd ) ( 'Y' 0xdd )
+
+ dcir '^' ( 'a' 0xe2 ) ( 'A' 0xc2 ) ( 'e' 0xea ) ( 'E' 0xca )
+ ( 'i' 0xee ) ( 'I' 0xce ) ( 'o' 0xf4 ) ( 'O' 0xd4 )
+ ( 'u' 0xfb ) ( 'U' 0xdb )
+
+ dtil '~' ( 'a' 0xe3 ) ( 'A' 0xc3 ) ( 'n' 0xf1 ) ( 'N' 0xd1 )
+ ( 'o' 0xf5 ) ( 'O' 0xd5 )
+
+ duml 0xa8 ( 'a' 0xe4 ) ( 'A' 0xc4 ) ( 'e' 0xeb ) ( 'E' 0xcb )
+ ( 'i' 0xef ) ( 'I' 0xcf ) ( 'o' 0xf6 ) ( 'O' 0xd6 )
+ ( 'u' 0xfc ) ( 'U' 0xdc ) ( 'y' 0xff )
diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile
index 824dda827e44..e3111c915a93 100644
--- a/share/zoneinfo/Makefile
+++ b/share/zoneinfo/Makefile
@@ -98,6 +98,20 @@ zonefiles: ${TDATA}
(umask 022; cd ${.CURDIR}; \
${ZIC:Uzic} -D -d ${TZBUILDDIR} ${ZICFLAGS} -m ${NOBINMODE} \
${LEAPFILE} ${TZFILES})
+ (umask 022; cd ${TZBUILDDIR}; \
+ read -r version <${CONTRIBDIR}version && \
+ LC_ALL=C awk \
+ -v DATAFORM='main' \
+ -v PACKRATDATA='' \
+ -v PACKRATLIST='' \
+ -f ${CONTRIBDIR}ziguard.awk ${TZFILES} >${TZBUILDDIR}/main.zi; \
+ LC_ALL=C awk \
+ -v dataform='main' \
+ -v deps='zishrink.awk' \
+ -v redo='posix_only' \
+ -v version="$$version" \
+ -f ${CONTRIBDIR}zishrink.awk \
+ main.zi >tzdata.zi; rm main.zi)
(cd ${TZBUILDDIR} && find * -type f | LC_ALL=C sort) > ${.TARGET}
beforeinstall: install-zoneinfo
@@ -113,6 +127,8 @@ install-zoneinfo:
${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/
${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
${CONTRIBDIR}/zone1970.tab ${DESTDIR}/usr/share/zoneinfo/
+ ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
+ ${CONTRIBDIR}/version ${DESTDIR}/usr/share/zoneinfo/
afterinstall:
#