Skip to content

update#18

Merged
EthanCornell merged 870 commits intoEthanCornell:mainfrom
freebsd:main
Jun 13, 2025
Merged

update#18
EthanCornell merged 870 commits intoEthanCornell:mainfrom
freebsd:main

Conversation

@EthanCornell
Copy link
Copy Markdown
Owner

No description provided.

zxombie and others added 30 commits June 4, 2025 02:32
Revert to reapply series as some patches were incorrect versions

This reverts commit 984f9fb.
Revert to reapply series as some patches were incorrect versions

This reverts commit b802926.
Revert to reapply series as some patches were incorrect versions

This reverts commit 341d8fd.
Revert to reapply series as some patches were incorrect versions

This reverts commit c508841.
Revert to reapply series as some patches were incorrect versions

This reverts commit e887179.
Revert to reapply series as some patches were incorrect versions

This reverts commit 103ea03.
Revert to reapply series as some patches were incorrect versions

This reverts commit f021623.
…ived messages"

Revert to reapply series as some patches were incorrect versions

This reverts commit 9342829.
…sages

Once a message is received that fits into the RX buffer, update the
msg.rx_len field with the effective length of the message received.

Tested on:      Arm Morello Board
Reviewed by:	andrew
Sponsored by:	Arm Ltd
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
The defined maximum payload size should not include header and status
field. Fix the definition accordingly, so that it matches the
definitions as can be found in the Linux SCMI stack.
The semantic of this define is important since it will then be possible
to override such values from devicetree, like in Linux.

Tested on:	Arm Morello Board
Reviewed by:	andrew
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47421
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
SCMI transport characteristics can be optionally described in the
devicetree to override the default build-time values.

Tested on:      Arm Morello Board
Reviewed by:	andrew
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47422
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Refactor allocation logic for scmi_req and introduce new helpers to be able
to obtain an scmi_msg reference to a freshly allocated request.

Tested on:      Arm Morello Board
Reviewed by:	andrew
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47423
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
During normal operation, the SCMI stack, upon each transmission attempt,
takes care to automatically pick an appropriate, monotonically increasing,
sequence number to fill-in the token field in the egressing message.

This does not cope well with the alternative scenario in which, instead,
a complete and fully formed message is provided upfront: in such a case the
SCMI stack will have to use the already provided sequence number, embedded
in the message, to track such transaction.

Add a method to attempt to reserve a specific sequence number to be used
when a fully firmed (raw) message is handled.

Tested on:      Arm Morello Board
Reported by:	andrew
Sponsored by:	Arm ltd
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Split scmi_request internals into a TX and an RX phase, which will be
called, anyway, in sequence as before when a normal transmission is
requested.

No functional change.

Tested on:      Arm Morello Board
Reviewed by:	andrew
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47425
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Add the core logic to handle the replies to pending command in an
asynchronous manner.

Tested on:      Arm Morello Board
Reviewed by:	andrew
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47426
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Add a few basic traces to track SCMI messages lifecycle.

Tested on:      Arm Morello Board
Reviewed by:	Andrew
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47427
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Expose as read-only the configured transport properties.

Tested on:      Arm Morello Board
Reviewed by:	andrew
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47428
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
This file depends on sys/types.h being included before it, which isn't
the best assumption. Include it here since we have no namespace
pollution concerns.

Sponsored by:		Netflix
Replace nvme_cmd_string and nvme_opcode_string with a single function.
nvme_cmd_string was already using an sbuf around a caller-supplied
string, so use the same pattern for the entire command string.

Reviewed by:	imp
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D50651
The primary benefit of this rewrite is that it parallelizes a number of
the make(1) jobs that it needs to do.  It does so with a very naive
forking model that could likely be improved, but is sufficient for our
purposes.  This version also doesn't assume that CWD is sane, and
instead operates relative to the directory the script resides in.

Note that this initial version is only intended to match the output of
the legacy script.  Some work is planned afterward to refactor the
script out into various components to improve maintainability after we
have switched over to it.

In my horribly performing dev environment, this version runs in 40s
rather than the original ~2 minutes.  On a Mt. Snow machine, this
version runs in ~15s rather than the original ~1m40s.

This change does not yet switch the top-level `makeman` target over to
the new version.

Reviewed by:	bapt (earlier version), emaste
Differential Revision:	https://reviews.freebsd.org/D39084
This allows userspace to run on a (somewhat) out of date kernel.

Avoid a __FreeBSD_version bump and use the bump from a02180c which
has occured since exterrctl was added.

Reviewed by:	kevans
Fixes:		b9c8a07 ("C runtime: enable extended error reporting from kernel")
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D50687
The return value from pmap_l1_to_l2() cannot be NULL.
If we are doing DIRDEPS_BUILD and MK_RUN_TESTS is yes
we can hook tests associated with dirs to be built into the graph
such that we avoid circular dependencies but the build will fail
should any test fail.

Make MK_RUN_TESTS independent of MK_TESTS
also for non-DIRDEPS_BUILD ensure we have RELDIR and check it
against patterns in HOST_RUN_TESTS.

Reviewed by:	stevek
Sponsored by:	Juniper Networks, Inc.
Differential Revision:	https://reviews.freebsd.org/D50387
Otherwise these tests fail spuriously, depending on which compiler is
installed as cc.

MFC after:	2 weeks
Sponsored by:	Innovate UK
Now that bsd.prog.mk uses .pieo instead of .o for object files linked
into PIEs, we need to ensure that the object file generated by dtrace -G
has the same extension.

Fixes:		245bb01 ("Use .pieo extension for WITH_PIE bsd.prog.mk output")
Sponsored by:	Innovate UK
It's unused, and the naked strcpy() was susceptible to buffer overflow
if one creates, say, a probe called "profile-2000000000ns".

Reported by:	CHERI
MFC after:	1 week
Sponsored by:	Innovate UK
Commit 2ec2ba7 added support for the O_NAMEDATTR flag to
the open(2) and openat(2) syscalls for main.

This patch updates the man page for this flag.

Another man page that explains named attributes will
be introduced in a future commit.

This is a content change.

Reviewed by:	emaste (earlier version), kib (earlier version)
Differential Revision:	https://reviews.freebsd.org/D49691
Fixes:	2ec2ba7 ("vfs: Add VFS/syscall support for Solaris style extended attributes")
If a NFSv4 client does an exclusive open where the file
already exists, the server returns EEXIST.  However,
without this patch, a partially filled in nfslockfile
structure is allocated, but is not referenced by any open
and, as such, never gets freed.

This patch fixes the bug by checking for EEXIST before
calling nfsvno_open().

Reported by:	Christoper Iler <ciler@volexity.com>
Tested by:	Christoper Iler <ciler@volexity.com>
MFC after:	2 weeks
MFC after:	2 weeks
Fixes:	1749465 ("nfsd: Fix accumulating nfslockfile structures")
Bjoern A. Zeeb and others added 28 commits June 13, 2025 14:57
Add brief documentation on LinuxKPI.
Add brief documentation on LinuxKPI 802.11 compat so we can refer to
something about which features are supported.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
Reviewed by:	dumbbell, ziaee, pauamma_gundo.com
Differential Revision: https://reviews.freebsd.org/D50790
In case someone ends up without any networking and no firmware files
add short instructions on how firmware can be bootstrapped manually.
This was prompted by PR287393 and D50777 during the 14.3-RELEASE days
after firmware was removed from the stable/14 and only available via
ports/package/fwget.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
Reviewed by:	ziaee, pauamma_gundo.com
Differential Revision: https://reviews.freebsd.org/D50791
Despite being discouraged in the man page already,  people are trying
to load the driver(s) from loader.  Now that the drivers are on
module_blacklist="" simply state that it is not possible.
If someone wants anyway they can figure out how to remove it from there,
load the driver, and loader the firmware file(s) upfront.

Sponsored by:	The FreeBSD Foundation (iwlwifi)
MFC after:	3 days
PR:		287480
Reviewed by:	pauamma_gundo.com
Differential Revision: https://reviews.freebsd.org/D50816
PR:	287503
Reported by:	crest@rlwinm.de
In cases where the `/boot` directory is mounted from a different disk,
`/boot/zfs/zpool.cache` will not be found during a `rc.d/zpool`
run. This is because `/etc/fstab` mounts are mounted in
`rc.d/mountcritlocal`, which currently runs AFTER (i.e. `REQUIRE:`)
`rc.d/zpool`.

This change swaps the `rcorder` of `rc.d/zpool`'s dependency on
`mountcritlocal` from `BEFORE:` to `REQUIRE:`. This will ensure that
`/boot` (or even `/etc/` in some configurations) to be visible while
searching for `zpool.cache`.

Reviewed by: imp
Pull Request: #1614
Closes: #1614
Fixes:	bfaec3e linuxkpi.4, linuxkpi_wlan.4: add short man pages
Sponsored by:	The FreeBSD Foundation
Simplify the loop for remaking the mappings in pmap_demote_l{2,3}c().
Since the mappings are invalid, we needn't use an atomic read-modify-
write operation to remake the mappings.  The accessed and dirty bits
won't concurrently change.
When this is false there is no libvmmapi, nor even its headers, for
these to build against.

Reported by:	Milan Obuch <freebsd-riscv@dino.sk>
Fixes:		7ab1a32 ("bhyve/riscv: Initial import.")
MFC with:       94828b3 ("mac_do(4): Examples: Fix some descriptions and a typo")
Sponsored by:   The FreeBSD Foundation
After the demise of vm_page_lock(), the only remaining uses of
pa_index() are in various pmap implementations.  In many cases, e.g.,
amd64, the pmap implementations already provided their own definitions,
often identical to the machine-independent one.  For those that didn't
provide one, this change adds it.

Reviewed by:	kib, markj
Differential Revision:	https://reviews.freebsd.org/D50823
Markup CLOCK_REALTIME better.

Noticed by: kib
Fixes: 7b7ba78
Sponsored by:		Netflix
This change adds support for using 4K RX Buffers when using DQO queue
formats when a boot-time tunable flag is set to true by the user.
When this flag is enabled, the driver will use 4K RX Buffer size either
when HW LRO is enabled or mtu > 2048.

Signed-off-by: Vee Agarwal <veethebee@google.com>

Reviewed by:	markj, ziaee
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D50786
bectl.8 had a truncated license without the required disclaimer.
Correct it consistently by converting all bectl licenses to SPDX form.

Approved by:		kevans
Approved by:		Kyle Kneitinger <kyle@kneit.in>
Approved by:		Wes Maag <wes@jwmaag.org>
Approved by:		mhorne (mentor, implicit)
Differential Revision:	https://reviews.freebsd.org/D49066
The native handler expects the argument to be a pointer to an array of 8
syscall arguments, whereas the emulation provided an array that holds up
to 6.

Handle this by adding a new range of Linuxulator-specific ptrace
commands.  In particular, introduce PTLINUX_GET_SC_ARGS, which always
copies exactly six arguments.  This fixes the problem and removes the
hack of checking the target thread ABI to decide whether to apply a
Linux-specific quirk to PT_GET_SC_ARGS.

Reviewed by:	kib
MFC after:	2 weeks
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D50758
We set MNTK_LOOKUP_SHARED on p9fs mounts, but disable shared locking of
vnodes (i.e., LK_SHARED requests are automatically translated to
LK_EXCLUSIVE.

Reviewed by:	kib
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D50759
PR:		287502
Reviewed by:	kbowling, ziaee
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D50834
Rewrite the HARDWARE section to improve the hardware release notes.
Move the section to achieve the structure in mdoc(7). Tag SPDX.

MFC after:		3 days
Discussed with:		mav
Reviewed by:		christos
Approved by:		mhorne (mentor, implicit)
Differential Revision:	https://reviews.freebsd.org/D48503
Alphabetize option table to improve first glance access.
Markup semantics to differentiate them and add them to apropos.

MFC after:		3 days
Reviewed by:		Pau Amma <pauamma@gundo.com>
Approved by:		mhorne (mentor, implicit)
Differential Revision:	https://reviews.freebsd.org/D49883
And move the actual td_kexterr fill code into the function, saving some
text.

Suggested and reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D50836
to avoid duplicating the error values.

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D50836
When displaying kqueue, mqueue, and procdesc file descriptors, identify
them as such.  There aren't any details, but it's better than a scary
warning like "unknown file type 15 for file 6 of pid 26393".

Sponsored by:	ConnectWise
Differential Revision: https://reviews.freebsd.org/D48706
MFC after:	2 weeks
The sysctl-variable net.inet.tcp.blackhole_local should affect
TCP segments from an IPv6 address of the local host, not of a host
on the local area network.
Thanks to cc@ for pointing me to the issue.

Reviewed by:		cc
MFC after:		1 week
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D50828
This variable serves to tweak CFLAGS from the kernel configuration file,
easing some custom kernel builds.  It was introduced by bde@ in 1999.

The description has been kept simple on purpose.  It does not completely
reflect reality as the build infrastructure actually appends variables
to CFLAGS after CONF_CFLAGS has been processed in a few cases.  However,
these cases do not collide with expected common uses of CONF_CFLAGS, so
have not been mentioned.

Reviewed by:    markj (older version)
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D50544
The sysctl-variable net.inet.udp.blackhole_local should affect
UDP packets from an IPv6 address of the local host, not of a host on
the local area network.
Thanks to cc@ for pointing me to the issue.

Reviewed by:		cc
MFC after:		1 week
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D50829
* If a FUSE file system is NFS-exported (either by a kernel or userspace
  NFS server), then it must support FUSE_LOOKUP operations for ".".  But
  if the response reports a different nodeid than the request, that's
  very bad.  Fail the operation and warn the operator.

* In general, a FUSE file may have a distinct "nodeid" and "inode
  number".  But it the file system is NFS-exported (either by a kernel
  or userspace NFS server), then those two must match, because the NFS
  server will do VFS_VGET operations using the inode number.  If they
  don't match, warn the operator.

MFC after:	2 weeks
Sponsored by:	ConnectWise
Differential Revision: https://reviews.freebsd.org/D48471
The sysctl-variable net.inet.tcp.nolocaltimewait should affect
TCP connections where the remote endpoint is on the local host and
not on the local area network.

Reported by:		cc
Reviewed by:		cc
MFC after:		1 week
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D50830
Use the native spelling, PDR_SHIFT, instead of the x86 spelling,
PDRSHIFT, that used to be defined by vm_page.h.

Fixes: 330b17e ("vm: remove pa_index from the machine-independent layer")
@github-actions
Copy link
Copy Markdown

Thank you for taking the time to contribute to FreeBSD!
There is an issue that needs to be fixed:

@EthanCornell EthanCornell merged commit 89055d3 into EthanCornell:main Jun 13, 2025
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.