FreeBSD/src fc7eb8cshare/examples/jails jib

examples/jails: New version of jib (9.0)

Add $Version, -h/-v, and SPDX-License-Identifier: BSD-2-Clause.
Drop the long-form license and bump the copyright to 2026.

MFC after:      1 week
DeltaFile
+18-25share/examples/jails/jib
+18-251 files

FreeBSD/src 2a7af8esys/dev/e1000 em_txrx.c

e1000: Limit the TSO sentinel to lem(4) controllers

The TSO workaround splits the final DMA segment to create a four byte
sentinel descriptor.  Intel documents the premature descriptor writeback
erratum and this workaround in the 82540EP and 82545GM specification
updates (erratum 3) and the 82546GB specification update (erratum 1).

Limit the workaround and its preceding TSO state to the legacy PCI and
PCI-X controllers so PCIe controllers retain their natural descriptor
layout using one fewer descriptor per TSO packet, no split of the final
segment, and one less four byte DMA.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+6-2sys/dev/e1000/em_txrx.c
+6-21 files

FreeBSD/src 6b45230sys/fs/unionfs union_subr.c

unionfs_noderem(): fix typo

Reviewed by:            kib, markj
Differential Revision:  https://reviews.freebsd.org/D58858
DeltaFile
+1-1sys/fs/unionfs/union_subr.c
+1-11 files

FreeBSD/src 9a8287csys/kern vfs_mount.c

dounmount(): generalize comment on covered vnode lock recursion

The need for recursion applies (in somewhat different form) to both
nullfs and unionfs, and would likely apply to any other hypothetical
stacked filesystem as well.

Reviewed by:            kib, markj
Differential Revision:  https://reviews.freebsd.org/D58858
DeltaFile
+6-5sys/kern/vfs_mount.c
+6-51 files

FreeBSD/src b952606sys/fs/unionfs union_vnops.c

unionfs_lock(): eliminate LK_CANRECURSE special-case

As of commit 9f5c4ef328 ("dounmount(9): temporarily enable recursion
for the covered vnode lock"), the unmount path handles recursion
automatically, so there's no longer a need to handle this case
in unionfs-specific code.

Reviewed by:    kib, markj
Tested by:      pho
Differential Revision:  https://reviews.freebsd.org/D58858
DeltaFile
+0-11sys/fs/unionfs/union_vnops.c
+0-111 files

FreeBSD/src d7033e3tools/test/stress2/misc unionfs7.sh

unionfs7.sh: eliminate stderr redirection

The bash-ism here results in an "ambiguous output redirect"
error when run under tcsh.  Similar unionfs stress2 tests don't
do this, and unionfs7 doesn't seem to generate spurious output
when run locally, so just delete it.

Reviewed by:            pho
Differential Revision:  https://reviews.freebsd.org/D58856
DeltaFile
+1-1tools/test/stress2/misc/unionfs7.sh
+1-11 files

LLVM/project dafb6eeclang/include/clang/Options FlangOptions.td, clang/lib/Driver/ToolChains Flang.cpp

[Flang] Repair intrinsic CUBLAS USE association (#217455)

This is a fix targeted at the specific code berkeleygw. It adds a
general extension by which imports of intrinsic functions can shadow
imported user functions and adds a single exception for CUBLAS `zgemm`
USE-association collision with an equivalent user external interface.

When the intrinsic CUBLAS generic and an equivalent external interface
are USE-associated under the same name, Flang now selects the CUBLAS
generic via a default-on compatibility extension. This preserves the
CUBLAS CUDA-specific overloads instead of creating an unusable local
association.

The repair warns by default under
`-Wintrinsic-module-use-association-extension`;
`-fno-intrinsic-module-use-association` retains the prior semantic
error, and `-Wno-intrinsic-module-use-association-extension` suppresses
the warning.
DeltaFile
+176-0flang/test/Semantics/CUDA/cuf-use-cublas-zgemm.cuf
+130-0flang/lib/Semantics/resolve-names.cpp
+32-29clang/lib/Driver/ToolChains/Flang.cpp
+10-0flang/lib/Frontend/CompilerInvocation.cpp
+8-0flang/tools/bbc/bbc.cpp
+3-0clang/include/clang/Options/FlangOptions.td
+359-292 files not shown
+361-308 files

LLVM/project d71dc82llvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU GCNSubtarget.h GCNSubtarget.cpp

Remove FullSIMDs and HalfSIMDs discussion

Change-Id: I069219e98793a5234724235c2bfe4a1becda8b1d
DeltaFile
+5-19llvm/lib/Target/AMDGPU/AMDGPU.td
+2-5llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
+2-5llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+3-4llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+0-3llvm/lib/Target/AMDGPU/GCNSubtarget.h
+1-2llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+13-386 files

FreeBSD/src 74db53dsys/dev/sound/pci hdsp.h hdsp.c

snd_hdsp: Avoid allocation in the interrupt handler

Cache PCM children instead of calling device_get_children() from the
interrupt handler.  Drain callbacks before child detach so cached
pointers cannot outlive the PCM softc.  Allocate the parent softc by
its actual size.

This mirrors snd_hdspe's interrupt dispatch and detach lifecycle.

Reported by:    christos
MFC after:      1 week
DeltaFile
+74-29sys/dev/sound/pci/hdsp-pcm.c
+13-13sys/dev/sound/pci/hdsp.c
+9-0sys/dev/sound/pci/hdsp.h
+96-423 files

FreeBSD/ports 70726c5emulators/virtualbox-ose-72 distinfo, emulators/virtualbox-ose-72/files patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient

emulators/virtualbox-ose{,-additions,-kmod}-72: Update 7.2.14 => 7.2.16

Changelog:
https://www.virtualbox.org/wiki/Changelog-7.2

Sponsored by:   UNIS Labs
MFH:            2026Q3

(cherry picked from commit 10d4d014d2f35be14b51cff6e4fa18794bd09dfd)
DeltaFile
+0-25emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient
+7-7emulators/virtualbox-ose-72/distinfo
+3-3emulators/virtualbox-ose-kmod-72/distinfo
+3-3emulators/virtualbox-ose-additions-72/distinfo
+3-2emulators/virtualbox-ose-additions-72/Makefile
+1-1emulators/virtualbox-ose-kmod-72/Makefile
+17-411 files not shown
+18-427 files

FreeBSD/ports 10d4d01emulators/virtualbox-ose-72 distinfo, emulators/virtualbox-ose-72/files patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient

emulators/virtualbox-ose{,-additions,-kmod}-72: Update 7.2.14 => 7.2.16

Changelog:
https://www.virtualbox.org/wiki/Changelog-7.2

Sponsored by:   UNIS Labs
MFH:            2026Q3
DeltaFile
+0-25emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient
+7-7emulators/virtualbox-ose-72/distinfo
+3-3emulators/virtualbox-ose-kmod-72/distinfo
+3-3emulators/virtualbox-ose-additions-72/distinfo
+3-2emulators/virtualbox-ose-additions-72/Makefile
+1-1emulators/virtualbox-ose-kmod-72/Makefile
+17-411 files not shown
+18-427 files

FreeBSD/src df6bbc9sys/powerpc/ofw ofw_pcibus.c, sys/powerpc/pseries plpar_pcibus.c

ofw_pcibus: Honor device proximity for DMA tags

BUS_GET_DOMAIN can report a PCI function's firmware locality, including
an SR-IOV VF's inherited PF locality, but ordinary OFW PCI functions
still use the shared bus DMA tag.  Consequently, busdma metadata and
coherent memory can be allocated from the bus's domain instead of the
function's domain.

Create and cache a child tag for each function that requests a DMA tag
and apply its reported domain without modifying the shared parent tag.
Apply the same domain to the private IOMMU tag already created by the
pSeries PCI bus.  Destroy cached tags when PCI children are removed so
VF create and destroy cycles do not leak them.

Reviewed by:    PowerPC (jhibbits)
MFC after:      2 weeks
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59065
DeltaFile
+31-0sys/powerpc/ofw/ofw_pcibus.c
+3-0sys/powerpc/pseries/plpar_pcibus.c
+34-02 files

FreeBSD/src f003e86sys/powerpc/ofw ofw_pcibus.c

ofw_pcibus: Inherit PF locality for SR-IOV VFs

PCI VFs are allocated dynamically and have no corresponding OFW node.
The zero-filled OFW PCI devinfo currently leaves obd_node as 0, which
is not the invalid-node sentinel and can send NUMA lookup through an
unrelated firmware node.

Initialize dynamically allocated devinfo with an invalid OFW node. For
VF locality queries, use the owning PF's node when it exists. Fall back
to the PCI bus when neither the VF nor PF has a firmware node.

This preserves existing CPU-locality behavior for ordinary PCI devices
while making VF domain and interrupt placement follow their PF.

Reviewed by:    PowerPC (jhibbits)
MFC after:      2 weeks
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D59064
DeltaFile
+32-7sys/powerpc/ofw/ofw_pcibus.c
+32-71 files

FreeBSD/src 32a1a45sys/dev/e1000 e1000_hw.h e1000_api.c

e1000: Add Nova Lake I219 support

Add support for future client platform

(cherry picked from commit 698c3b0ce1e788415173639366ae89ae7b7903ca)
DeltaFile
+9-0sys/dev/e1000/if_em.c
+7-0sys/dev/e1000/e1000_ich8lan.c
+5-1sys/dev/e1000/e1000_api.c
+3-0sys/dev/e1000/e1000_hw.h
+24-14 files

FreeBSD/src 9a13957sys/dev/e1000 e1000_hw.h e1000_api.c

e1000: Add Nova Lake I219 support

Add support for future client platform

(cherry picked from commit 698c3b0ce1e788415173639366ae89ae7b7903ca)
DeltaFile
+9-0sys/dev/e1000/if_em.c
+7-0sys/dev/e1000/e1000_ich8lan.c
+5-1sys/dev/e1000/e1000_api.c
+3-0sys/dev/e1000/e1000_hw.h
+24-14 files

FreeBSD/src 76c8c99sys/dev/ixgbe if_ixv.c

ixv: Negotiate VF queue-set limits

ixv uses one queue set on 82599 and X540 VFs and assumes two on
X550-family VFs.  The PF reports the queues assigned to each VF with
GET_QUEUES after mailbox API 1.1 negotiation.

Query the PF during attach.  Bound symmetric iflib queue sets by the PF
grant and available MSI-X data vectors.  Retain one queue set per data
vector: ixgbe VFs expose at most three vectors and one is reserved for
the mailbox.  The hardware permits each pool to use a subset of its RSS
queues, so a two-queue ceiling is valid when the PF assigns four.

This enables the second data vector on 82599 and X540 while avoiding an
assumed second queue when an X550-family VF is granted only one.  Keep
the existing family limits if the mailbox is unavailable or the PF uses
an older API.

(cherry picked from commit 98fad621ed697586782e488afdc05252c060fec3)
DeltaFile
+61-9sys/dev/ixgbe/if_ixv.c
+61-91 files

FreeBSD/src 3312745sys/dev/ixgbe if_ixv.c ixgbe.h

ix/ixv: Match Tx writeback thresholds to iflib

PTHRESH controls when the device prefetches transmit descriptors,
HTHRESH controls how many host descriptors must be ready, and WTHRESH
controls completion writeback batching.

iflib places RS on selected descriptors and reclaims through those
checkpoints.  The data sheets require WTHRESH to be zero when software
uses RS.  Clear WTHRESH while retaining the established PTHRESH 32 and
HTHRESH 1 fetch policy.

This also follows DPDK in pairing sparse RS descriptors with
WTHRESH zero.  DPDK defaults to 32/0/0, while Linux ixgbevf uses
32/1/8.  The 32/1/0 setting preserves FreeBSD's prefetch policy and the
data-sheet requirement that HTHRESH be nonzero when PTHRESH is used.

(cherry picked from commit 0baf0fabdb5e60e917458f85706707ee92683080)
DeltaFile
+4-6sys/dev/ixgbe/if_ix.c
+8-0sys/dev/ixgbe/ixgbe.h
+2-2sys/dev/ixgbe/if_ixv.c
+14-83 files

FreeBSD/src c116b6fsys/dev/igc igc_defines.h if_igc.c

igc: Correct descriptor control programming

The transmit-ring setup was copied from the e1000 path.  On I225
and I226, bits 22 through 24 are reserved and bit 25 enables the
queue; it is not a legacy low-water threshold.  Correct the field
masks, remove the nonapplicable legacy definitions, and program only
defined fields.

Use PTHRESH=8 and HTHRESH=1.  Keep WTHRESH at zero so the hardware
honors sparse RS descriptors issued by iflib.  Linux and DPDK use a
writeback threshold of 16, but request status on every packet.  A
nonzero threshold makes hardware ignore individual RS bits and is
unsuitable for the iflib completion model.

The receive-ring setup likewise used a magic mask that left bit 20
of the five-bit WTHRESH field untouched.  Define the receive threshold
fields and replace them exactly before installing the established
PTHRESH=8, HTHRESH=8, WTHRESH=4 policy.

(cherry picked from commit e2aff50727cbe4cb5e99f825c2c6bd8a4915de67)
DeltaFile
+7-12sys/dev/igc/if_igc.c
+8-8sys/dev/igc/igc_defines.h
+15-202 files

FreeBSD/src cd9b04bsys/dev/e1000 if_em.h if_em.c

igb: Program Rx descriptor thresholds by family

82576 specification-update erratum 26 says MSI-X EITR expiration can
fail to trigger receive descriptor writeback.  A WTHRESH above one can
therefore leave received packets invisible until the threshold fills.

The shared threshold macros selected policy by enum ordering, so an
82576 VF fell into the generic WTHRESH=4 case.  VFs always use MSI-X
and require the same WTHRESH=1 workaround as the PF.

Use PTHRESH=8 for 82575 and 82576 PFs and VFs, matching DPDK and the
current Linux PF driver.  The legacy FreeBSD PF and Linux igbvf value
of 16 thrashes limited descriptor cache; no specification or erratum
requires it.  Retain the i354 PTHRESH=12 exception.

Enumerate every supported igb PF and VF MAC type so each receives its
intended policy.  Also clear every threshold bit before installing the
new values.  The old mask retained the high WTHRESH bit, and 82575
uses six-bit fields while later controllers use five-bit fields.

    [2 lines not shown]
DeltaFile
+51-6sys/dev/e1000/if_em.c
+13-5sys/dev/e1000/if_em.h
+64-112 files

FreeBSD/src bf10f15sys/dev/e1000 if_em.c

Revert "e1000: Correct Rx descriptor threshold programming"

Commit 98b95af873ac accidentally applied abe22383f1b1 a second
time after its complete MFC in 081745262395.  It added a duplicate
em_integrated_jumbo_rx() definition and broke the build.

Revert only the duplicate application.  The original MFC remains in
place.

This reverts commit 98b95af873acf4beeb4ac9a0c83e5d009fb78cd9.
DeltaFile
+0-21sys/dev/e1000/if_em.c
+0-211 files

FreeBSD/src 036522dsys/dev/e1000 if_em.h if_em.c

igb: Match Tx descriptor control to iflib

iflib requests transmit completion status only on selected descriptors.
Program a zero writeback threshold so igb hardware honors those sparse
RS bits instead of writing back every descriptor in threshold-sized
batches.

Use the existing family specific prefetch threshold: eight descriptors
on most controllers and 20 on I354, with a host threshold of one.  These
values match the Intel-derived Linux and DPDK drivers.  Their nonzero
writeback settings are not appropriate here because those drivers set
RS on every packet.

A zero writeback threshold also avoids depending on interrupt timer
flushes affected by 82576 specification update erratum 26.  Remove the
old IGB_TX_WTHRESH macro as well.  It has had no callers since the iflib
conversion, so its 82575 conditional no longer implements any policy.

(cherry picked from commit fddc393d93169b428fe64e9513ee463b5154b62a)
DeltaFile
+33-8sys/dev/e1000/if_em.c
+3-4sys/dev/e1000/if_em.h
+36-122 files

FreeBSD/src 98b95afsys/dev/e1000 if_em.c

e1000: Correct Rx descriptor threshold programming

Jumbo receive tuning on integrated controllers enabled PTHRESH without
a nonzero HTHRESH, contrary to the hardware programming requirements.
It also covered only the integrated MAC generations present when the
workaround was added.  Enumerate every jumbo-capable ICH and PCH type
and program PTHRESH=3 with HTHRESH=1.  Linux fixed the same HTHRESH
omission in b701cacdbcfb.

The 82574 path combined threshold values with the reset values using
bitwise OR.  Requesting WTHRESH=4 while the reset value was one thus
programmed five.  Clear the complete threshold fields before installing
the established PTHRESH=32, HTHRESH=4, WTHRESH=4 descriptor-granularity
policy.

(cherry picked from commit abe22383f1b144f0868aa0654ec4514d36f7a4f5)
DeltaFile
+21-0sys/dev/e1000/if_em.c
+21-01 files

FreeBSD/src 0817452sys/dev/e1000 if_em.h if_em.c

e1000: Correct Rx descriptor threshold programming

Jumbo receive tuning on integrated controllers enabled PTHRESH without
a nonzero HTHRESH, contrary to the hardware programming requirements.
It also covered only the integrated MAC generations present when the
workaround was added.  Enumerate every jumbo-capable ICH and PCH type
and program PTHRESH=3 with HTHRESH=1.  Linux fixed the same HTHRESH
omission in b701cacdbcfb.

The 82574 path combined threshold values with the reset values using
bitwise OR.  Requesting WTHRESH=4 while the reset value was one thus
programmed five.  Clear the complete threshold fields before installing
the established PTHRESH=32, HTHRESH=4, WTHRESH=4 descriptor-granularity
policy.

MFC after:      2 weeks

(cherry picked from commit abe22383f1b144f0868aa0654ec4514d36f7a4f5)
DeltaFile
+36-14sys/dev/e1000/if_em.c
+13-0sys/dev/e1000/if_em.h
+49-142 files

FreeBSD/ports 6255cb2x11/framework-autorotate Makefile

x11/framework-autorotate: Restrict to amd64 and i386

The daemon talks to the Framework Chrome EC over LPC using
inb/outb from <machine/cpufunc.h>. Those helpers exist only
on x86, so the arm64 package build fails at link.

Reported by:    pkg-fallout
Differential Revision:  https://reviews.freebsd.org/D59056
DeltaFile
+3-0x11/framework-autorotate/Makefile
+3-01 files

FreeBSD/src 0491dc4sys/dev/e1000 if_em.h if_em.c

e1000: Program Tx descriptor control by family

TXDCTL programming is family dependent.  82543 erratum 35 and
82544 erratum 20 require WTHRESH to remain zero; a nonzero value
can corrupt descriptor writebacks and hang the controller.  Leave all
descriptor-control thresholds at their reset values on 82542, 82543,
and 82544.

On the remaining em controllers, retain the established PTHRESH=31,
HTHRESH=1, WTHRESH=1, and descriptor granularity policy.  Several
legacy specification updates identify full descriptor writeback as a
workaround for transmit descriptor-queue errata.

TXDCTL bit 22 is also family dependent.  It is COUNT_DESC on the
82571 family and 80003ES2LAN.  Intel shared initialization explicitly
sets raw bit 22 on both transmit queues of every supported ICH/PCH
generation, although the integrated public documentation marks it
reserved.  Preserve that required setting when iflib programs the
thresholds, as DPDK does.  Clearing it caused a persistent I219

    [12 lines not shown]
DeltaFile
+75-8sys/dev/e1000/if_em.c
+3-0sys/dev/e1000/if_em.h
+78-82 files

FreeBSD/src eafb616sys/dev/ixgbe if_ixv.c

ixv: Advertise SCTP checksum offload

The shared ixgbe transmit path already creates SCTP context
descriptors, and the hardware exposes the same checksum capability to
VFs.  Advertise it through iflib as the PF driver does.

(cherry picked from commit 4a13b8a7c5611059384309fdebad8e0fb49a73c2)
DeltaFile
+2-1sys/dev/ixgbe/if_ixv.c
+2-11 files

FreeBSD/src 1ad8733sys/dev/ixgbe if_ixv.c

ixv: Remove unused loader tunables

The flow_control and hdr_split variables have never been read.  VF
flow control is controlled by the PF, while implementing header split
would require receive-path support that ixv does not provide.

(cherry picked from commit 8eeb25899afd7818d99ce1500be27ae8d992131f)
DeltaFile
+0-17sys/dev/ixgbe/if_ixv.c
+0-171 files

FreeBSD/src 2db7e11share/man/man4 ix.4, sys/dev/ixgbe if_sriov.c

ixgbe: Reject Flow Director with SR-IOV

The iflib Flow Director path does not assign filters using the
absolute queue and pool identifiers required by SR-IOV.  Reject the
combination during preflight validation rather than allowing an
unsupported configuration to alter the PF receive path.

The loader tunable is fixed before VFs can be created, so validation
also prevents the reverse ordering of this combination.

(cherry picked from commit c017bceda48c766780ab1d2239b296242fcf9cf2)
DeltaFile
+5-0sys/dev/ixgbe/if_sriov.c
+2-1share/man/man4/ix.4
+7-12 files

FreeBSD/src f74b20dsys/dev/ixgbe if_sriov.c

ixgbe: Drain events for inactive VFs

The aggregate VF mailbox poll includes only VFs whose driver
configuration completed. A configured VF slot whose vf_add callback
failed can nevertheless report reset, request, or acknowledgement
events. Because the mailbox handler skips inactive entries, such an
event remains latched and can retrigger administrative work
indefinitely.

Build the poll masks from every configured VF index and consume reset,
message, and acknowledgement events for inactive entries without
treating them as usable VFs. Use the index rather than the pool because
early vf_add errors precede pool initialization. Also include E610
PFVFLREC in aggregate reset sampling.

(cherry picked from commit 5017a241b987d365beb2c35faf0017b6afef2b64)
DeltaFile
+63-62sys/dev/ixgbe/if_sriov.c
+63-621 files

FreeBSD/src 92211aesys/dev/ixgbe if_ix.c

ixgbe: Handle deferred link-status requests

The iflib conversion records link-status interrupts in the
administrative request mask, but the administrative task did not
consume them.  Timer polling usually hid the omission; frequent mailbox
interrupts could continually rearm that timer and leave cached link
state down after hardware recovered.

Claim request batches atomically, process link-setup dependencies, and
sample hardware before publishing link state.  Bound each invocation to
eight batches and requeue residual work so a continuous producer cannot
monopolize the admin taskqueue.

Queue every link-related request from the legacy interrupt path.
Unlike MSI-X, its threaded continuation services RX and does not enqueue
the admin task.  This restores the event-driven behavior of ix-3.4.39.

Fixes:  b2c1e8e62049 ("ix(4): Run {mod,msf,mbx,fdir,phy}_task in if_update_admin_status")

(cherry picked from commit 2b763a82f9f21b722b50830bc22af2b2acf36746)
DeltaFile
+83-50sys/dev/ixgbe/if_ix.c
+83-501 files