This in the Linux version of `struct resource`, not the FreeBSD native
structure.
The amdgpu DRM driver started to use it in Linux 6.11.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55737
To be exact, there was a dummy file with no content before. This commit
defines `struct mfd_cell` and adds two function stubs.
The function stubs are not implemented but still return success. They
log a message to indicate they need to be implemented.
Also, unlike Linux, <linux/mfd/core.h> includes <linux/ioport.h>. This
works around the fact that we can't include <linux/ioport.h> from
<linux/pci.h>, due to a conflict with the FreeBSD-native `struct
resource`.
The amdgpu DRM driver started to use it in Linux 6.11.
Reviewed by: bz, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55736
It only defines the `struct linux_logo` structure for now. It does not
define any actual logo.
Reviewed by: bz, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55735
For now, only define it for x86 architectures.
The DRM generic code started to use it in Linux 6.11.
Reviewed by: bz, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55734
This is a kernel configuration constant that is expected to be defined.
The DRM generic code started to use it in Linux 6.11.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55733
The DRM generic code started to use `kmsg_dump_get_buffer()` and
`kmsg_dump_rewind()` in Linux 6.11.
Reviewed by: bz, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55732
For now, the macro is not implemented and it returns 0.
The DRM generic code started to use it in Linux 6.11.
Reviewed by: bz, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55731
This matches the declaration on Linux.
Reviewed by: bz, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55730
The DRM generic code started to use `strtomem_pad()` in Linux 6.11.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55729
Intersting/relevant changes since bmake-20251111
ChangeLog since bmake-20251111
2026-03-12 Simon J Gerraty <sjg@beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260313
Merge with NetBSD make, pick up
o make: ensure .MAKE.SAVE_DOLLARS is initialized so makefiles like
sys.vars.mk can test its value to know how to deal with macros
that need to save '$' during ':='.
* Makefile: default MAKE_SAVE_DOLLARS_DEFAULT to "no"
for traditional behavior.
2026-03-10 Simon J Gerraty <sjg@beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260310
Merge with NetBSD make, pick up
o unit-tests ensure TEST_MAKE is absolute path
and tests that make symlink for ${MAKE} can run in parallel.
2026-03-03 Simon J Gerraty <sjg@beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260303
Merge with NetBSD make, pick up
o job.c: MaybeSubMake: Look for expansion of ${.MAKE}
and if necessary its basename, and only match if at start of line
or preceded by space.
2026-02-28 Simon J Gerraty <sjg@beast.crufty.net>
* Makefile: mark ${PROG} and ${OBJS} as .META
MaybeSubMake will otherwise mistake them for sub-makes
* VERSION (_MAKE_VERSION): 20260301
Merge with NetBSD make, pick up
o job.c: MaybeSubMake: skip control chars [@+-] at start of line
when checking for ${MAKE}
2026-02-22 Simon J Gerraty <sjg@beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260222
o mk file update
2026-02-16 Simon J Gerraty <sjg@beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260216
Merge with NetBSD make, pick up
o minor cleanups
2026-02-10 Simon J Gerraty <sjg@beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260210
Merge with NetBSD make, pick up
o document that multiple variables can be set on command line.
o move MaybeSubMake to job.c so it can be called on expanded
commands for more accuracy and less overhead.
o main.c: set .MAKE.VERSION as read-only.
* unit-tests/opt-{chdir,where-am-i}.mk: use MAKEOBJDIRPREFIX=/
to avoid tripping over an unreadable /usr/obj
2026-02-04 Simon J Gerraty <sjg@beast.crufty.net>
* unit-tests/varname-make_stack_trace.mk: for
FreeBSD and similar set .MAKE.ALWAYS_PASS_JOB_QUEUE=no
to ensure we get the expected errors.
* VERSION (_MAKE_VERSION): 20260202
Merge with NetBSD make, pick up
o on error avoid duplicate stack trace to stderr
2026-01-11 Simon J Gerraty <sjg@beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260111
Merge with NetBSD make, pick up
o var.c: add explicit check for empty re as not all
regex libs throw an error as expected, in this case.
2026-01-10 Simon J Gerraty <sjg@beast.crufty.net>
* VERSION (_MAKE_VERSION): 20260110
Merge with NetBSD make, pick up
o minor cleanups
mk/ChangeLog since bmake-20251111
2026-03-12 Simon J Gerraty <sjg@beast.crufty.net>
* install-mk (MK_VERSION): 20260313
* sys.vars.mk: use .MAKE.VERSION
M_type can simply use '$x'
2026-02-22 Simon J Gerraty <sjg@beast.crufty.net>
* install-mk (MK_VERSION): 20260222
* dirdeps.mk, sys.mk: add dependent option
UPDATE_DIRDEPS_CACHE/DIRDEPS_CACHE.
It can be useful to use -DWITHOUT_UPDATE_DIRDEPS_CACHE to
temporarily treat dynamic DIRDEPS_CACHE as static.
2026-01-10 Simon J Gerraty <sjg@beast.crufty.net>
* meta.autodep.mk (${_DEPENDFILE}): add .NOMETA
2026-01-08 Simon J Gerraty <sjg@beast.crufty.net>
* rust.mk: better accommodation for RUST_LIBS.
Set RUST_{LIBS,PROGS}_CARGO_BUILD_OUTPUT_LIST to
simplify staging.
2025-12-08 Simon J Gerraty <sjg@beast.crufty.net>
* install-mk (MK_VERSION): 20251207
* sys.vars.mk: replace MAKE_POSIX_SHELL usage with isPOSIX_SHELL
Using ${isPOSIX_SHELL:U:Nfalse} provides a boolean for make
and ${isPOSIX_SHELL:Ufalse} does the same for target scripts.
Both will be false if isPOSIX_SHELL is not set or set to false.
This has the advantage that if only POSIX shells are expected
sys.mk (or something it includes) can simply do isPOSIX_SHELL?=:
The argv test checks ps(1) output immediately after backgrounding yes(1), but
the forked child briefly shows the parent shell's argv before exec(2) replaces it.
This caused intermittent failures where ps(1) captured the atf shell wrapper
command line instead of "yes y".
Approved by: des
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D56231
In libucl 0.9.3, macros and includes are disabled by default when
creating a new UCL parser. This breaks the package build, which
relies on includes. Fix this by explicitly passing zero flags
to ucl.parser().
MFC after: 3 days
Fixes: abda442d92 ("contrib/libucl: Import libucl 0.9.3")
Reviewed by: kevans, bapt
Reported by: freebsd@walstatt-de.de
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56266
libm's fmax and fmin family of functions treat +0.0 as greater than
-0.0. This is not required by the C standard, so the user may not see
this behaviour due to compiler optimization.
PR: 294214
Reviewed by: fuz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56230
This patch moves the definition of the nfsd_idargs
structure out of nfs.h and into a new file called
nfsid.h.
This is being done so that it can be included in
nfs_diskless.c in a future commit.
There should be no semantics change from this
commit.
MFC after: 1 week
Fixes: 8b9775912c ("nfs_diskless: Add support for an NFSv4 root fs")
This commit adds page & bank fields to ifi2creq in preparation
for adding CMIS support for 400g optics to ifconfig.
The new ioctl SIOCGI2CPB is added, so that drivers can distinguish
between callers asking for page/bank selection and legacy callers
that simply failed to zero out all ifi2creq fields.
The mlx5en(4) driver and iflib(4) driver frameork have been updated
to use this new SIOCGI2CPB ioctl and support page/bank operations.
A follow-on patchset will add support to ifconfig for reporting
data from CMIS optics.
This has been tested on Nvidia ConnectX-7 and Broadcom Thor2 (using
out of tree driver) based NICs.
Differential Revision: https://reviews.freebsd.org/D55912
Sponsored by: Netflix Inc.
Reviewed by: kib
Without this patch, diskless root NFS file systems
could only be mounted via NFSv3 (or NFSv2).
This patch adds the basic support needed to mount
a root fs via NFSv4.
At this time, the NFSv4 mount will only work if
the following is done on the NFS server configuration:
- The root directory specified in the "V4:" line in
/etc/exports must be "/". This is needed since the
path to mount must be the same for NFSv3 and NFSv4.
- The NFS server must be configured to do both NFSv3
and NFSv4, since the bootstrap code still uses NFSv3.
- The NFSv4 server must be configured with:
vfs.nfs.enable_uidtostring=1
vfs.nfsd.enable_stringtouid=1
since the NFSv4 root fs cannot be running nfsuserd(8)
when it is booting. (This limitation may be removed
in a future commit by hard-wiring enough id<-->name
mapping entries to handle things until the nfsuserd(8)
is running.)
To enable the root fs to be mounted via NFSv4, it needs:
- in the root file system's /boot/loader.conf
boot.nfsroot.options="nfsv4"
(Additional options like rsize=65536,wsize=65536 can
also be specified.)
- in the root file system's /etc/sysctl.conf
vfs.nfs.enable_uidtostring=1
Requested by: Dan Shelton <dan.f.dhelton@gmail.com>
MFC after: 1 week
The recent FIBify commits deref struct thread without including
sys/proc.h, which can result in a compiler error. This becomes
apparent when building with LINT-NOVIMAGE, as net/vnet.h includes
sys/proc.h. Fix this by directly including sys/proc.h
Fixes: 4c486fe402 ("ip_mroute: FIBify"), 0bb9c2b665 ("ip6_mroute: FIBify")
Changes for jng 1.0 -> 2.0 include:
+ Add experimental MSS clamping
+ Add support for ng_bridge(4) NGM_BRIDGE_GET_STATS (getstats)
+ Add JSON formatted ng_bridge(4) statistics (see above) via "jng stats -j <name>"
+ Add error messages
+ Minor refactoring for code readability (read: quietly() function)
+ Rename eiface variables to jiface to clarify as-for jail interface (not ng_eiface(4))
+ Fix missing description for alternate form of "jng show" usage
+ Update "jng show <name>" to accept multiple names (now "jng show <name> …" is allowed)
+ Update "jng shutdown <name>" to accept multiple names (now "jng shutdown <name> …" is allowed)
+ Add "-a" option to "jng stats" (as-in "jng stats -a") to show all ng_bridge(4) stats
+ Update "jng stats <name>" to accept any kind of name (make it easier to use)
+ Add version ident
+ Remove extraneous line in LICENSE section
+ Add -h to usage statements
+ Bump copyright
Reviewed by: jlduran
Differential Revision: https://reviews.freebsd.org/D43516
Starting from the existing fmax{,f,l} functions I've added the fmaximum
family, which handles NaN according to the newest standard (propagating
it).
This commit is a PoC for GSoC 2026.
Reviewed by: fuz, kargl
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D55834
This patch changes the default value of the loader tunable
hw.virtio.pci.transitional to 1. This means, virtio uses the
modern mode for transitional devices by default.
The return values of vtpci_modern_probe() and vtpci_legacy_probei()
were chosen to prefer modern mode, but hw.virtio.pci.transitional=0
prevents modern mode.
Setting hw.virtio.pci.transitional to 1 by default seems a better fit.
Reviewed by: tuexen
Differential Revision: https://reviews.freebsd.org/D55894
This TF_-flag is only used in the RACK stack and not really needed.
So replace it, since glebius@ needs a TF_ flag and right now all
of them are taken.
No functional change intended.
Reviewed by: rrs, glebius, rscheff, Nick Banks
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D56025
WITHOUT_BZIP2_SUPPORT only affects a single binary, gzip(1); it doesn't
remove bzip2 support from other bits (e.g., libarchive) and there are
no similar options for gzip, xz or zstd.
WITHOUT_BZIP2 has not done anything at all since it was first added
in 2007.
MFC after: never
Discussed on: arch@
Reviewed by: imp, des, adrian, delphij, emaste
Differential Revision: https://reviews.freebsd.org/D56148
Sponsored by: https://www.patreon.com/bsdivy
When WITHOUT_AUDIT is set, nothing is built that uses this library,
so don't build the library. This avoids building the FreeBSD-audit
package when WITHOUT_AUDIT is set.
MFC after: never
Reviewed by: csjp, imp, emaste
Differential Revision: https://reviews.freebsd.org/D56157
Sponsored by: https://www.patreon.com/bsdivy
Gate libsamplerate behind MK_CUSE and MK_SOUND, like virtual_oss.
Nothing else uses this library, so there's no point building it
if we aren't building virtual_oss.
This avoids building a useless FreeBSD-sound package containing
only this library when WITHOUT_SOUND is set.
MFC after: 1 week
Reviewed by: christos, emaste
Differential Revision: https://reviews.freebsd.org/D56164
Sponsored by: https://www.patreon.com/bsdivy
This commit adds a shutdown splash to the existing kernel startup splash(4)
screen feature. It can be customized by providing a PNG image to the
shutdown_splash directive loader.conf(5).
Sponsored by: Defenso
MFC after: 2 weeks
Reviewed by: vexeduxr, ziaee, manu
Differential Revision: https://reviews.freebsd.org/D55140
Netlink usage is growing in FreeBSD. This patch adds support to
`truss(1)` to decode Netlink headers in sendmsg/recvmsg calls, making
debugging network configuration tools significantly easier.
Changes:
libsysdecode: Add `sysdecode_netlink()` to parse struct `nlmsghdr`.
truss: Detect `AF_NETLINK` sockets and decode the message payload.
Reviewed by: kp
Signed-off-by: Ishan Agrawal <iagrawal9990@gmail.com>
Github PR: https://github.com/freebsd/freebsd-src/pull/1950
These were modified to avoid triggering a libucl bug which is now fixed.
MFC after: 1 week
Reviewed by: ivy, kevans
Differential Revision: https://reviews.freebsd.org/D52824