FreeBSD/src fdc1f34sys/amd64/amd64 apic_vector.S, sys/i386/i386 mp_machdep.c apic_vector.S

x86: change signatures of ipi_{bitmap,swi}_handler() to take pointer

to the frame instead of the frame itself. It is some stretch of the
amd64 ABI, and is not easily fullfilled when handlers are called from C
and not asm. In particular, the struct frame is passed by value but is
modified by callees, with the expectation that the caller will see the
modifications.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55679
DeltaFile
+14-0sys/i386/i386/mp_machdep.c
+5-5sys/x86/x86/mp_x86.c
+2-2sys/x86/xen/xen_apic.c
+2-2sys/x86/include/x86_smp.h
+2-2sys/i386/i386/apic_vector.S
+2-0sys/amd64/amd64/apic_vector.S
+27-116 files

FreeBSD/src 74aec9fshare/man/man7 ports.7

ports.7: Document DEFAULT_VERSIONS

MFC after:              3 days
Co-authored-by:         Adam Weinberger <adamw at FreeBSD.org>
Differential Revision:  https://reviews.freebsd.org/D55443
DeltaFile
+4-0share/man/man7/ports.7
+4-01 files

FreeBSD/src 1e4086dshare/man/man9 bus_alloc_resource.9, sys/arm/nvidia tegra_pcie.c

sys: Don't pass RF_ALLOCATED to bus_alloc_resource*

This is a nop as eventually these flags are passed to rman_reserve_resource
which unconditionally sets RF_ALLOCATED in the new flags for a region.
However, it's really a layering violation to use RF_ALLOCATED in relation
to struct resource objects outside of subr_rman.c as subr_rman.c uses
this flag to manage it's internal tracking of allocated vs free regions.

In addition, don't document this as a valid flag in the manual.  I
think the intention here was that if a caller didn't want to pass
RF_ACTIVE or RF_SHAREABLE, they could pass RF_ALLOCATED instead of 0,
but given the layering violation, I think it's best to just pass 0
instead in that case.

NB: The bhnd bus uses RF_ALLOCATED (along with RF_ACTIVE) in a
separate API to manage resource regions that are not struct resource
objects (but a separate wrapper object).  It would perhaps be cleaner
if the chipc_retain_region and chipc_release_region functions used
their own flag constants instead of reusing the rman(9) flags.

    [3 lines not shown]
DeltaFile
+3-7share/man/man9/bus_alloc_resource.9
+2-3sys/arm/nvidia/tegra_pcie.c
+1-1sys/x86/iommu/amd_drv.c
+6-113 files

FreeBSD/src b7a7d51lib/libc/gen uexterr_format.c err.3

Refinements to the output when the EXTERROR_VERBOSE environment is set

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D55494
Sponsored-by: Netflix

(cherry picked from commit 6fd98877de633f5ec6f028e78d5a2d94527d63d0)
DeltaFile
+20-8lib/libc/gen/uexterr_format.c
+7-1lib/libc/gen/err.3
+27-92 files

FreeBSD/src ca25b1busr.sbin/devinfo devinfo.c devinfo.8

devinfo: Support PCI DBSF and ACPI handles for -p

When matching on a name of a device, match on ACPI handles and PCI
selectors in addition to device names.  This can be useful for
matching on devices without an attached driver.

For example: devinfo -p pci0:0:31:0

Reviewed by:    imp
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D55673
DeltaFile
+57-1usr.sbin/devinfo/devinfo.c
+21-1usr.sbin/devinfo/devinfo.8
+78-22 files

FreeBSD/src 95dd873sys/contrib/dev/iwlwifi/fw/api rx.h, sys/contrib/dev/iwlwifi/mld rx.c d3.c

iwlwifi: update Intel's mvm/mld drivers

This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
05f7e89ab9731565d8a62e3b5d1ec206485eeb0b ( tag: v6.19 ).

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
DeltaFile
+931-804sys/contrib/dev/iwlwifi/mld/rx.c
+0-809sys/contrib/dev/iwlwifi/mvm/link.c
+359-200sys/contrib/dev/iwlwifi/mld/d3.c
+49-347sys/contrib/dev/iwlwifi/mvm/d3.c
+286-0sys/contrib/dev/iwlwifi/fw/api/rx.h
+175-77sys/contrib/dev/iwlwifi/pcie/gen1_2/trans.c
+1,800-2,237103 files not shown
+3,127-4,432109 files

FreeBSD/src b3d9e50sys/dev/nvme nvme_pci.c

nvme: Don't active memory space until all BARs are configured

In the current current behavior the 2nd and 3rd BARs can be activated
when they're configured with address zero. This change defers the
activation of all BARs until after they've all been configured with an
address.

This enables FreeBSD on Google Compute Engine C4-LSSD Machines.

Sponsored by:           Google
Tested by:              NetApp (previous version)
Reviewed by:            gallatin, imp
Discussed with:         jrtc27 (improved error reporting)
Differential Revision:  https://reviews.freebsd.org/D55541
DeltaFile
+37-7sys/dev/nvme/nvme_pci.c
+37-71 files

FreeBSD/src 815fdbdsys/dev/iwx if_iwx.c

iwx: Re-activate the 32-bit boundary cross check on 64-bit architectures

__SIZEOF_*__ is in bytes, not in bits...

Reported by:    brooks
Fixes:          35da55c28dbb ("iwx: Fix 32-bit compilation")
MFC after:      1 minute
MFC to:         stable/15
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit c1567d49a8320fd23dff9dbce1186f2331538253)
DeltaFile
+3-3sys/dev/iwx/if_iwx.c
+3-31 files

FreeBSD/src af2c7d9share/man/man9 style.9

style.9: Encourage style changes when doing significant modifications

The rule of allowing style changes when about half or more of a file (or
group of files), coupled with the advice of avoiding stylistic changes,
could be interpreted as forbidding most style changes, even in heavily
modified functions.

In order to rule out that interpretation and ease transition towards our
prescribed style:
1. Clarify that avoiding stylistic changes concerns only "standalone"
   ones.
2. Actually encourage changing the style, and extend the cases where it
   is explicitly allowed to do so to any single logical unit as little
   as a function, keeping the existing "about half" of modified code as
   a rule of thumb.

When point 2 above applies, encourage to commit pure style changes
separately, and to add style-only commits to '.git-blame-ignore-revs'.


    [15 lines not shown]
DeltaFile
+30-22share/man/man9/style.9
+30-221 files

FreeBSD/src c1567d4sys/dev/iwx if_iwx.c

iwx: Re-activate the 32-bit boundary cross check on 64-bit architectures

__SIZEOF_*__ is in bytes, not in bits...

Reported by:    brooks
Fixes:          35da55c28dbb ("iwx: Fix 32-bit compilation")
MFC after:      1 minute
MFC to:         stable/15
Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-3sys/dev/iwx/if_iwx.c
+3-31 files

FreeBSD/src 88dedd1usr.bin/clang/llvm-cxxfilt Makefile

llvm-cxxfilt: Install as c++filt only with LLVM_BINUTILS

When building WITHOUT_LLVM_BINUTILS /usr/bin/c++filt is the one from
ELF Tool Chain.

PR: 293610
Fixes: 5d757312ad59 ("build: Retire LLVM_CXXFILT option")
Sponsored by: The FreeBSD Foundation
DeltaFile
+2-0usr.bin/clang/llvm-cxxfilt/Makefile
+2-01 files

FreeBSD/src f1e8b1asys/kern uipc_socket.c

splice: optionally limit worker queues

Add a new tunable/sysctl (kern.ipc.splice.num_wq) which can be used
to limit the number of splice worker queues as a way to limit
splice cpu use.

The default (-1) keeps the current behavior of running one worker
for each core in the system.  An administrator can set it to 0 (either
via tunable, or before the first splice call via sysctl) to
effectively disable splice, or some number smaller than the number of
cores to limit splice thread use.

Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D55579
Sponsored by: Netflix
DeltaFile
+43-7sys/kern/uipc_socket.c
+43-71 files

FreeBSD/src 42e4df8usr.bin Makefile

usr.bin: Exclude ELF Tool Chain cxxfilt build

when LLVM_BINUTILS is enabled (which is the default).

PR: 293610
Fixes: 5d757312ad59 ("build: Retire LLVM_CXXFILT option")
Sponsored by: The FreeBSD Foundation
DeltaFile
+1-1usr.bin/Makefile
+1-11 files

FreeBSD/src 0951901usr.sbin/rtadvctl rtadvctl.c, usr.sbin/rtadvd config.c control_server.c

rtadvd: add multi pref64 support

Add support for multi pref64 in rtadvd and rtadvctl

Reviewed By: zlei, bz
Differential Revision: https://reviews.freebsd.org/D54636
DeltaFile
+75-57usr.sbin/rtadvd/config.c
+56-0usr.sbin/rtadvd/control_server.c
+46-0usr.sbin/rtadvctl/rtadvctl.c
+20-3usr.sbin/rtadvd/rtadvd.conf.5
+6-2usr.sbin/rtadvd/rtadvd.c
+1-2usr.sbin/rtadvd/rtadvd.h
+204-641 files not shown
+205-647 files

FreeBSD/src e85f221libexec/rc/rc.d virtual_oss

rc: virtual_oss: Silence potential hw.snd.default_unit error

PR:             293582
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+1-1libexec/rc/rc.d/virtual_oss
+1-11 files

FreeBSD/src b15dc3ftools/test/stress2/misc mmap41.sh mmap45.sh

stress2: Updated comments
DeltaFile
+2-1tools/test/stress2/misc/mmap41.sh
+2-1tools/test/stress2/misc/mmap45.sh
+4-22 files

FreeBSD/src 05cbd5ftools/test/stress2/misc renameat2.sh

stress2: Added a new test scenario
DeltaFile
+116-0tools/test/stress2/misc/renameat2.sh
+116-01 files

FreeBSD/src 8dd28e1lib/libc/quad Symbol.map

libc/quad: fix missing closing #endif in Symbol.map

Without this lib32 libc.so.7 would be missing critical symbols,
including malloc / free and all syscall wrappers.
DeltaFile
+1-0lib/libc/quad/Symbol.map
+1-01 files

FreeBSD/src 782fe2fsys/contrib/dev/iwlwifi/mld mld.c, sys/contrib/dev/iwlwifi/mvm ops.c

iwlwifi: adjust driver description

Adjust the module driver descriptions for mvm and mld to make it clear
that this is not a driver for Linux but a Linux-based driver for FreeBSD.
Cleanup surroundings.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
DeltaFile
+6-0sys/contrib/dev/iwlwifi/mld/mld.c
+1-2sys/contrib/dev/iwlwifi/mvm/ops.c
+7-22 files

FreeBSD/src 7db8503sys/contrib/dev/iwlwifi/mld mld.c

iwlwifi: mld: add LINUXKPI_PARAM_PREFIX

Add a LINUXKPI_PARAM_PREFIX to mld to properly export the
power_scheme module_param (sysctl).  This is especially needed given
mvm has the same parameter and we need to avoid a clash.

Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
DeltaFile
+4-0sys/contrib/dev/iwlwifi/mld/mld.c
+4-01 files

FreeBSD/src 551c4cbsys/contrib/dev/iwlwifi/mld mld.c

iwlwifi: mld: move module_init() to SI_ORDER_SECOND

In FreeBSD the iwlwifi driver is a single kernel module.
As for iwlwifi/mvm we need to make sure the common "iwlwifi drv" code
is initialized before trying to register the mld sub-driver
in order for lists, etc. in the registration code to be initialized.
We do this by using an extended (FreeBSD specific) version of
module_init which overrides the order parameter of the SYSINIT.
Otherwise we can randomly (depending on SYSINIT run order) run into
a NULL pointer deref panic.

Sponsored by:   The FreeBSD Foundation
PR:             291120
MFC after:      3 days
DeltaFile
+4-0sys/contrib/dev/iwlwifi/mld/mld.c
+4-01 files

FreeBSD/src a456f85. UPDATING, lib/csu/common crtbrand.S

Update in preparation for 14.4-RELEASE

- Bump BRANCH to RELEASE
- Add the anticipated RELEASE announcement date
- Set a static __FreeBSD_version

Approved by:    re (implicit)
Sponsored by:   OpenSats Initiative
DeltaFile
+3-0UPDATING
+1-1sys/conf/newvers.sh
+1-1lib/csu/common/crtbrand.S
+5-23 files

FreeBSD/src b302ca6usr.bin/less lesspipe.sh

lesspipe: Allow zstd to operate on a symlink

By default zstd refuses to operate on symlinks, so for example
`zless /var/crash/vmcore.last.zst` failed to view the uncompressed core
file.  Add -f to the zstd command line to allow operation on symlinks.

Reviewed by:    delphij
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55101

(cherry picked from commit b4305c90a3be7e1a40b76545b8b761fdbda5c309)
(cherry picked from commit 68125692efacbce537e14ba16ecedff750cccc36)
DeltaFile
+1-1usr.bin/less/lesspipe.sh
+1-11 files

FreeBSD/src 6812569usr.bin/less lesspipe.sh

lesspipe: Allow zstd to operate on a symlink

By default zstd refuses to operate on symlinks, so for example
`zless /var/crash/vmcore.last.zst` failed to view the uncompressed core
file.  Add -f to the zstd command line to allow operation on symlinks.

Reviewed by:    delphij
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55101

(cherry picked from commit b4305c90a3be7e1a40b76545b8b761fdbda5c309)
DeltaFile
+1-1usr.bin/less/lesspipe.sh
+1-11 files

FreeBSD/src 3e8a999sys/amd64/amd64 trap.c

amd64: extract uprintf_signal printing into a helper
DeltaFile
+25-15sys/amd64/amd64/trap.c
+25-151 files

FreeBSD/src 272ea45sys/amd64/amd64 trap.c

amd64: print userspace fsbase and gsbase for uprintf_signal
DeltaFile
+19-2sys/amd64/amd64/trap.c
+19-21 files

FreeBSD/src ef8292esys/compat/freebsd32 freebsd32_systrace_args.c freebsd32_syscall.h, sys/kern systrace_args.c

Regen
DeltaFile
+38-0sys/kern/systrace_args.c
+38-0sys/compat/freebsd32/freebsd32_systrace_args.c
+9-0sys/sys/sysproto.h
+2-1sys/sys/syscall.h
+2-1sys/compat/freebsd32/freebsd32_syscall.h
+2-1sys/sys/syscall.mk
+91-36 files not shown
+99-312 files

FreeBSD/src 5c71df9sys/fs/nfsclient nfs_clvnops.c nfs_clbio.c

nfsclient: convert to use vn_delayed_setsize()

Reviewed by:    rmacklem
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55595
DeltaFile
+7-61sys/fs/nfsclient/nfs_clvnops.c
+2-2sys/fs/nfsclient/nfs_clbio.c
+1-1sys/fs/nfsclient/nfs_clport.c
+0-1sys/fs/nfsclient/nfsnode.h
+10-654 files

FreeBSD/src 45117ffsys/fs/deadfs dead_vnops.c, sys/kern vfs_vnops.c vnode_if.src

vfs: add VOP_DELAYED_SETSIZE() and related infrastructure

The change generalizes code that was initially developed for nfs client
to handle filesystems that needs to call vnode_pager_setsize() while
only owning the vnode lock shared.  Since vnode pager might need to trim
or extend the vnode vm_object' page queue, the vnode lock for the call
must be owned exclusive.  This is typical for filesystems with remote
authorative source of file attributes, like nfs/p9/fuse.

Handle the conflict by delaying the vnode_pager_setsize() to the next
vnode locking to avoid relock.  But if the next locking request is in
shared mode, lock it exclusively instead, perform the delayed
vnode_pager_setsize() call by doing VOP_DEFAULT_SETSIZE(), and then
downgrade to shared.

Filesystems that opt into the feature must provide the implementation of
VOP_DELAYED_SETSIZE() that actually calls vnode_pager_setsize(), and use
vn_delay_setsize() helper to mark the vnode as requiring the delay call.


    [5 lines not shown]
DeltaFile
+73-1sys/kern/vfs_vnops.c
+31-0sys/sys/vnode.h
+8-0sys/kern/vnode_if.src
+1-0sys/fs/deadfs/dead_vnops.c
+1-0sys/kern/vfs_default.c
+114-15 files

FreeBSD/src 28599a1include stdio.h, lib/libsys Symbol.sys.map

sys: add renameat2(2) syscall

Reviewed by:    markj
Tested by:      pho
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D55539
DeltaFile
+9-1sys/kern/syscalls.master
+10-0sys/kern/vfs_syscalls.c
+1-0include/stdio.h
+1-0lib/libsys/Symbol.sys.map
+21-14 files