Commit Graph

23857 Commits

Author SHA1 Message Date
Simon J. Gerraty 9cd89fc5aa bsd.man.mk fix staging
The STAGE_SETS and STAGE_TARGETS need to match
STAGE_DIR.

For each STAGE_SET we have STAGE_DIR.${STAGE_SET}
and create a target stage_files.${STAGE_SET},
the settings all need to be self consistent to work.
2026-01-10 18:44:40 -08:00
Alexey Sukhoguzov f0d44ee06b nvme: Add APST payload overriding
The apst_data tunable allows APST configuration to be adjusted
during controller initialization.  It accepts an array of encoded
integers, each defining specific transition parameters.

Relnotes: YES
Signed-off-by: Alexey Sukhoguzov <sap@eseipi.net>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1444
2026-01-09 13:32:59 -07:00
Alexey Sukhoguzov a24932dcec nvme: Support Autonomous Power State Transition (APST)
APST is an optional NVMe power-saving feature that allows devices
to autonomously enter higher non-operational power states after a
certain amount of idle time, reducing the controller's overall power
consumption.

Signed-off-by: Alexey Sukhoguzov <sap@eseipi.net>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1444
2026-01-09 13:32:49 -07:00
John Hall c558eca479 smartpqi: update to version 4660.0.2002
This updates the smartpqi driver to Microchip's
latest available public release.

Reviewed by: imp
Approved by: imp

Sponsored by: Microchip Technology Inc.

Differential Revision: https://reviews.freebsd.org/D52507
2026-01-09 10:39:58 -07:00
Minsoo Choo 94d1731e73 Makefile*: remove powerpcspe
As reported on the freebsd-announce mailing list[1] FreeBSD is
continuing to retire 32-bit support.  Remove powerpcspe from build
infrastructure.

[1] https://lists.freebsd.org/archives/freebsd-announce/2024-February/000117.html

Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by:	jhibbits, emaste
Pull request:	https://github.com/freebsd/freebsd-src/pull/1914
2026-01-09 11:28:43 -05:00
Sreekanth Reddy 821c6c43a3 librdmacm/libibverbs: Add bnxtre RDMA provider to OFED build infrastructure
Extend the FreeBSD OFED build framework to include the Broadcom bnxtre RDMA
provider library.

This change:

 -Registers libbnxtre in src.libnames.mk so it is built and installed as part
  of the OFED libraries.
 -Adds bnxtre to the OFED pcap dependency set when MK_OFED is enabled.
 -Declares proper dependency mappings for bnxtre (ibverbs, pthread).
 -Introduces LIBBNXTREDIR for consistent object directory handling.
 -Updates libibverbs and librdmacm build rules to link against libbnxtre,
  enabling Broadcom RoCE device support at runtime.
 -libbnxtre library uses below constructor to register with the libibverbs,
  static attribute((constructor)) void bnxt_re_register_driver(void)

These updates ensure that applications using libibverbs and librdmacm can
discover and use Broadcom bnxt RDMA devices on FreeBSD.

Reviewed by: markj, ssaxena
Differential Revision: https://reviews.freebsd.org/D54368
MFC after: 3 days
2026-01-09 12:34:02 +00:00
Sumit Saxena 702b3a9a03 Revert "librdmacm/libibverbs: Statically bound libbnxtre.so.1 to rping"
The commit message has to be rewritten as it is not clear and lacks
some key details about the change.

This reverts commit 35dd53a9e1.

Reported by: jrtc27
2026-01-09 12:33:45 +00:00
Juraj Lutter a556feb997 freebsd-base.7: Fix stray -r
Remote stray "-r" from the example of installing a toolchain
to alternate root.

Reviewed by:	ivy
Differential Revision:	https://reviews.freebsd.org/D54611
2026-01-09 10:41:21 +01:00
Graham Perrin d1f93ea2e1 pkgbase.7: Show pkg upgrade to apply updates
MFC after:	3 days
Reviewed by:	ziaee
Closes:		https://github.com/freebsd/freebsd-src/pull/1945
2026-01-08 23:49:40 -05:00
Warner Losh 1a7151f796 cam: Add probes for xpt actions
cam::xpt:action(union ccb *)
cam::xpt:done((union ccb *)
cam::xpt:async-cb(void *cbarg, uint32_t async_code, struct cam_path
	*path, void *async_arg);

Called when xpt_action(), xpt_done*() and the xpt async callbacks are
called.

Sponsored by:		Netflix
Reviewed by:		adrian
Differential Revision:	https://reviews.freebsd.org/D54469
2026-01-07 23:19:10 -07:00
Andrew Gallatin 14d93f612f iflib: Drop tx lock when freeing mbufs using simple_transmit
Freeing completed transmit mbufs can be time consuming (due to them
being cold in cache, and due to ext free routines taking locks),
especially when we batch tx completions. If we do this when holding
the tx ring mutex, this can cause lock contention on the tx ring mutex
when using iflib_simple_transmit.

To resolve this, this patch opportunistically copies completed mbuf
pointers into a new array (ifsd_m_defer) so they can be freed after
dropping the transmit mutex. The ifsd_m_defer array is
opportunistically used, and may be NULL. If its NULL, then we free
mbufs in the old way. The ifsd_m_defer array is atomically nulled
when a thread is using it, and atomically restored when the freeing
thread is done with it. The use of atomics here avoids
acquire/release of the tx lock to restore the array after freeing
mbufs.

Since we're no longer always freeing mbufs inline, peeking into them to see if a
transmit used TSO or not will cause a useless cache miss, as nothing
else in the mbuf is likely to be accessed soon. To avoid that cache
miss, we encode a TSO or not TSO flag in the lower bits of the mbuf
pointer stored in the ifsd_m array. Note that the IFLIB_NO_TSO flag
exists primarily for sanity/debugging.

iflib_completed_tx_reclaim() was refactored to break out
iflib_txq_can_reclaim() and _iflib_completed_tx_reclaim()
so the that the tx routine can call iflib_tx_credits_update()
just once, rather than twice.

Note that deferred mbuf freeing is not enabled by default, and can be
enabled using the dev.$DEV.$UNIT.iflib.tx_defer_mfree sysctl.

Differential Revision: https://reviews.freebsd.org/D54356
Sponsored by: Netflix
Reviewed by: markj, kbowling, ziaee
2026-01-07 14:32:08 -05:00
Michael Osipov c2b407244f mrsas.4: Fix devid hex style 2026-01-07 09:04:14 +01:00
Andrew Gallatin 83e6f0d780 iflib: document new sysctls
Document the new tx related sysctls I've added to iflib in the
last few months:  tx_reclaim_ticks & tx_reclaim_thresh

Sponsored by: Netflix
Reviewed by: ziaee
Differential Revision: https://reviews.freebsd.org/D54564
MFC after: 3 days
2026-01-06 17:46:12 -05:00
Michael Osipov ccec94bf63 mrsas.4: Add Fujitsu RAID Controller SAS 6Gbit/s 1GB (D3116)
This is an OEM card from Fujitsu using an LSI SAS2208 ROC controller shipped
with many Fujitsu PRIMERGY servers like RX300 S7.

Controller description: https://www.fujitsu.com/global/products/computing/servers/primergy/blades/connection/cb-pmod-110426.html

Reviewed by:	ziaee
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D54566
2026-01-06 22:32:26 +01:00
Michael Osipov 8b210276cd mfi(4): Add subvendor and subdevice for Fujitsu RAID Controller SAS 6Gbit/s 1GB (D3116)
This is an OEM card from Fujitsu using an LSI SAS2208 ROC controller shipped
with many Fujitsu PRIMERGY servers like RX300 S7. This chip is also recognized
by mrsas(4) under the generic name for the controller chip.

Controller description: https://www.fujitsu.com/global/products/computing/servers/primergy/blades/connection/cb-pmod-110426.html

Reviewed by:	ziaee
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D54520
2026-01-06 20:10:46 +01:00
Alexander Ziaee 75866d71e8 manuals: Correct some sysctl markup
This enables additional searching the manual by sysctl variable.
This syntax is standardized in style.mdoc(5).

Reported by:	bapt
MFC after:	3 days
2026-01-06 11:08:21 -05:00
Alexander Ziaee 03e1605cdf cxgbe.4: Update for recent HARDWARE
Adjust document description, description section, and hardware section
to include Chelsio T7. Since this driver now supports many generations,
order reverse chronologically. Compare language to ice.4 and bnxt.4,
the other terabit ethernet drivers.

This list of HARDWARE is obtained from the Chelsio prouduct selector.

MFC after:		3 days (T7 support shipped with 15.0)
Discussed with:		jhb, np
Differential Revision:	https://reviews.freebsd.org/D54276
2026-01-06 09:52:50 -05:00
Lexi Winter 665ac052aa powerpc: Update CPUTYPE options in make.conf
Document the supported PPC/POWER CPUTYPEs in the example make.conf.

Update bsd.cpu.mk to handle CPUs newer than POWER9, and remove
32-bit CPUTYPEs since we no longer support those at all.

Reviewed by:	imp, jhibbits
Sponsored by:	https://www.patreon.com/bsdivy
Differential Revision:	https://reviews.freebsd.org/D54257
2026-01-06 04:22:20 +00:00
Marian Cingel 7359df79d3 share/mk: Remove trailing '/' from debug info directories
Signed-off-by: Marian Cingel <cingel.marian@gmail.com>
Reviewed by:	emaste
Pull request:	https://github.com/freebsd/freebsd-src/pull/1947
2026-01-05 12:26:11 -05:00
Dimitry Andric 62a7fdc13a bsd.sys.mk: suppress another gcc warning for libc++
Similar to base 63d1c3c436, suppress -Wc++20-extensions for gcc.
Otherwise libc++ headers will lead to many -Werror warnings, due to our
use of -Wsystem-headers, which is not officially supported upstream.

MFC after:	3 days
2026-01-02 21:32:36 +01:00
Johannes Totz b52347f5b9 jdec_dimm(4): add a reference to smbmsg(8) to jedec_dimm(4) and smbus(4)
Add a cross reference to smbmsg(8) which is useful for discovering local
devices and difficult to find otherwise.

PR: 247749
Reviewed by: pauamma@gundo.com
Differential Review: https://reviews.freebsd.org/D40839
2026-01-02 12:20:45 -07:00
Dag-Erling Smørgrav 1d52d5c537 depend-cleanup: Force a clean build when options change
Similar to the build epoch check, cache a list of source options in the
object tree, and force a clean build if the cached list does not match
the current list, after filtering out options which are known not to
affect the build (e.g. CLEAN, TESTS, WARNS).

This also adds a DEPEND_CLEANUP option (which defaults to yes unless
the CLEAN option is set) which can be used to skip depend-cleanup for
faster incremental builds.

MFC after:	1 week
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D52011
2025-12-31 19:51:13 +01:00
Dimitry Andric 8e95158393 Fix typo in tools/build/options/WITH_REPRODUCIBLE_PATHS
Fixes:		faeaa25f56
2025-12-29 22:34:22 +01:00
Dimitry Andric 660416fd19 Move MK_REPRODUCIBLE_PATHS to bsd.opts.mk
In commit faeaa25f56 MK_REPRODUCIBLE_PATHS was introduced, but some
ports that include bsd.debug.mk then started to fail with:

    make: /usr/share/mk/bsd.debug.mk:19: Variable "MK_REPRODUCIBLE_PATHS" is undefined
            in /usr/share/mk/bsd.lib.mk:525
            in /wrkdirs/usr/ports/devel/libsysinfo/work/libsysinfo-0.0.3/Makefile:16
    make: Fatal errors encountered -- cannot continue

This is because bsd.debug.mk includes bsd.opts.mk, not src.opts.mk. Move
the MK_REPRODUCIBLE_PATHS option to bsd.opts.mk to fix this.

Reviewed by:	imp, emaste
Fixes:		faeaa25f56
2025-12-29 22:02:59 +01:00
Alexander Ziaee c6bd2aa835 cpuctl.4: Formatting nits
+ Align ioctl list + Pad code examples + Tag spdx license identifier

MFC after:	3 days
2025-12-29 12:20:05 -05:00
Alexander Ziaee c4bd487da7 genet.4: Only for AArch64 + tag spdx
MFC after:	3 days
2025-12-29 12:20:05 -05:00
Bjoern A. Zeeb 32ea820982 LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues
Extend the normal compat.linuxkpi.80211.IF.dump_stas sysctl by
queue information.  This was helpful for debugging various issues,
like selecting the outbound queue, stopping queues for BAR and helped
finding multiple bugs.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2025-12-29 02:48:14 +00:00
Konstantin Belousov 3088263177 man pages: provide some description for extended errors
, related functions, and the EXTERROR_VERBOSE environment variable.

Reviewed by:	emaste, mckusick
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54380
2025-12-29 03:16:25 +02:00
Konstantin Belousov 14bd57d0a7 exterror.9: describe formatting of optional arguments
Reviewed by:	emaste, mckusick
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54380
2025-12-29 03:16:25 +02:00
Dimitry Andric ae31c10537 bsd.sys.mk: add NO_WCHARACTER_CONVERSION and use it for googletest
This silences warnings about benign implicit character conversions in
googletest's gtest-printers.h.
2025-12-28 20:50:42 +01:00
Dimitry Andric 63d1c3c436 bsd.sys.mk: suppress some new clang 21 warnings for C++
Otherwise, these lead to many -Werror warnings in libc++ headers, due to
our use of -Wsystem-headers, which is not officially supported upstream:

Suppress -Wc++20-extensions, due to:

    /usr/include/c++/v1/__algorithm/simd_utils.h:96:50: error: explicit template parameter list for lambdas is a C++20 extension [-Werror,-Wc++20-extensions]
       96 | inline constexpr size_t __simd_vector_size_v = []<bool _False = false>() -> size_t {
          |                                                  ^

Suppress -Wc++23-lambda-attributes, due to:

    /usr/include/c++/v1/__format/format_functions.h:462:32: error: an attribute specifier sequence in this position is a C++23 extension [-Werror,-Wc++23-lambda-attributes]
      462 |   if (bool __is_identity = [&] [[__gnu__::__pure__]] // Make sure the compiler knows this call can be eliminated
          |                                ^

Suppress -Wnullability-completeness, due to:

    /usr/include/c++/v1/string:1068:80: error: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Werror,-Wnullability-completeness]
     1068 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, size_type __n) {
          |                                                                                ^

MFC after:	3 days
2025-12-28 20:43:12 +01:00
Zhenlei Huang 176075e661 locking.9: Tweak the table column width to fit 80 characters
While here, add some white spaces to improve the readability of source
code.

Reviewed by:	ziaee, #manpages
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D54121
2025-12-28 23:57:51 +08:00
Ed Maste c910c7a3d2 vt: Remove .fnt.uu from Makefile SUFFIXES
The uudecode make rule was removed years ago.

Fixes: 68510f3bac ("Remove uudecode make rule for vt fonts")
2025-12-28 10:53:45 -05:00
Warner Losh faeaa25f56 kernel: MK_REPRODUCIBLE_PATHS for full paths vs /usr/src
There are many environments that you do not want the paths to be
canonicalized. For example, if I always build a product from a specific
path in a jail that's dependent on the product version, I don't want
that to be sanitized to /usr/src because when I have profiling tools run
against multiple kernels, I can't do A/B testing and results processing
if everything points to /usr/src (sadly, the profiling tools cannot
remap back to the original like gdb can). Since we need both active at
the same time, symbloic link fallbacks don't work.

We do want the rest of the build to be reproducible, however. We'll get
the same binaries if we rebuild later since we always rebuild with the
same path.

Turn them both on for maximum reproduction for environments where that
cannot be guaranteed.

Sponsored by:		Netflix
Input from:		emaste, ivy
Differential Revision:	https://reviews.freebsd.org/D52959
2025-12-28 01:16:39 -07:00
Ed Maste f22cffe433 vt.4: Remove Xr to nonexistent vidcontrol(8)
PR: 291985
Fixes: a8740ba860 ("vt.4: Document increasing scrollback size")
2025-12-27 20:17:09 -05:00
Michael Osipov 0d31189cbc linprocfs.4: Improve docs around pid/self entries
Mark <pid> as a placeholder and document that self is a symlink to a directory.

PR:		283080
Reviewed by:	ziaee
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D54358
2025-12-26 19:53:43 +01:00
Dimitry Andric 8d5a11cd01 src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob
In commit 2e47f35be5 libllvm, libclang and liblldb were converted into
private shared libraries. This allowed clang, lld, lldb, and other llvm
tools to be linked against these shared libraries, which makes them
smaller and avoids duplication.

However, this also comes at the cost of some performance, since the
dynamic libraries are quite large, and contain lots of long symbols
(mangled C++ identifiers).

Add a WITH_LLVM_LINK_STATIC_LIBRARIES build knob that can be used to go
back to the previous behavior: libllvm, libclang and liblldb are built
as internal static libraries, i.e. only available during buildworld, and
fully linked into the various executables such as clang, lld, etc.

PR:		287447
Reviewed by:	emaste
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D50956
2025-12-23 22:01:40 +01:00
Alexander Ziaee 3c83b5d340 udl.4: Tweak HARDWARE for hardware release note
Fixes:	97fa62708f (udl.4: Consolidate HARDWARE and add HISTORY)
2025-12-23 09:56:09 -05:00
Alexander Ziaee 97fa62708f udl.4: Consolidate HARDWARE and add HISTORY
Some of the information needed for the HARDWARE section was the entire
DESCRIPTION section, so merge the two. While here, add the HISTORY of
this driver, add "driver" to the document description matching other
drivers, and tag the SPDX license identifier for mechanical parsing.

MFC after:	3 days
2025-12-23 09:40:31 -05:00
Alexander Ziaee f7245a27e8 cdce.4: Add RTL8153 to HARDWARE
Fixes:	1b1fb628a1 (Quirk Realtek RTL8153 to config#1)
2025-12-23 08:55:57 -05:00
Alexander Ziaee 03752041e4 cdce.4: Minor polish
+ Tag spdx license identifier	+ Fix "e.g.,"s to quiet linter
+ Remove useless Nd quoting	+ Put example in EXAMPLES

MFC after:	3 days
2025-12-23 08:54:21 -05:00
Dag-Erling Smørgrav 4100bd6caa usr.bin: Remove intrinsic utilities
These utilities can only function correctly if implemented as shell
builtins and exist only because POSIX previously required them.  As of
POSIX 2024, they have all been reclassified as intrinsic utilities and
are no longer required to exist in PATH.  We can therefore retire them.
Cf. XBD 1.7, XRAT C.1.8, Austin Group bug 854.

Note that kill(1) is also considered an intrinsic utility (because
only the shell can interpret job IDs correctly), but we have a working
standalone implementation, which we will keep.

PR:		291686
Relnotes:	yes
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D54239
2025-12-19 18:15:40 +01:00
Michael Tuexen 634d9c0d11 vtnet: expose features via sysctl tree
Right now the 64-bit flags field needs to be casted to a 32-bit field,
because clang warns if more than 32-bits are used.
Once clang is fixed, this restriction will be removed and more bits
will be added.

Reviewed by:		markj, Timo Völker
MFC after:		1 week
Differential Revision:	https://reviews.freebsd.org/D54288
2025-12-19 17:38:35 +01:00
Michael Tuexen d2cb9cab84 printf.9: Support more than 32 bits in %b
This will be usable after clang has been extended to accept length
modifiers for %b when compiling kernel code.
But we need FreeBSD to support it first...

Reviewed by:		markj, Timo Völker
MFC after:		1 week
Differential Revision:	https://reviews.freebsd.org/D54286
2025-12-19 17:26:37 +01:00
Michael Tuexen 391e870931 printf.9: fix style
Follow the style described by style.9.

Reported by:	markj
MFC after:	1 week
2025-12-18 23:49:51 +01:00
Konstantin Belousov 5c1d9df10b vmem.9: provide a reference to libuvmem(3)
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2025-12-18 22:13:05 +02:00
Ed Maste fb1994e03c aq(4): Add man page
Reviewed by:	ziaee
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D53840
2025-12-18 14:06:24 -05:00
Michael Tuexen f6e1833018 vtnet.4: put each sentence on its own line
Reported by:	ziaee
Fixes:		e3a0571ad7 ("vtnet: expose flags via sysctl tree")
MFC after:	1 week
2025-12-18 15:57:46 +01:00
Michael Tuexen e3a0571ad7 vtnet: expose flags via sysctl tree
Provide the flags used for a vtnet interface via the sysctl tree.
This is mostly used for debugging purposes.

Reviewed by:		Timo Völker
MFC after:		1 week
Differential Revision:	https://reviews.freebsd.org/D54283
2025-12-18 15:42:13 +01:00
Stefan Eßer cf5eed7159 if_rge: fix typo in man page
Fix the list of devices supported by the driver: RTL8125 occured
twice, should have been RTL8127 in one case.

Approved by:	adrian
2025-12-18 08:55:03 +01:00