FreeBSD/src de5fcd1sys/powerpc/booke booke_machdep.c trap_subr.S, sys/powerpc/include pcpu.h

powerpc/booke: Add a machine check stack

Machine check and critical exceptions are independent of each other, and
can interrupt each other.  Since they're asynchronous we cannot trust
that the existing stack pointer (%r1) is correct at time of entry, so
add a private machine check stack separate from the critical exception
stack.  As part of this, switch to the STANDARD_CRIT_PROLOG() for
machine check exceptions, and overload the macro to specify the stack to
switch to.  Also add a savearea argument to CRIT_SRR_RESTORE() so that
we can restore machine check exception state from the right location.
DeltaFile
+18-12sys/powerpc/booke/trap_subr.S
+12-2sys/powerpc/booke/booke_machdep.c
+4-3sys/powerpc/include/pcpu.h
+1-0sys/powerpc/powerpc/genassym.c
+35-174 files

FreeBSD/src 4f9de24sys/dev/dpaa fman_port_tx.c fman_port_rx.c

dpaa/fman: Clean up port config code

No functional change, just simplify the code flow a little.
DeltaFile
+16-23sys/dev/dpaa/fman_port_rx.c
+9-21sys/dev/dpaa/fman_port_tx.c
+25-442 files

FreeBSD/src 2e01f5bshare/man/man4 rtwn_usb.4, sys/dev/rtwn/usb rtwn_usb_attach.h

rtwn: add ID for the Edimax EW-7611ULB

The dongle uses the rtl8723bu chip.

Also add an entry for it in usbdevs.
DeltaFile
+2-1share/man/man4/rtwn_usb.4
+1-0sys/dev/usb/usbdevs
+1-0sys/dev/rtwn/usb/rtwn_usb_attach.h
+4-13 files

FreeBSD/src fc3eca3sys/powerpc/powermac powermac_thermal.h smusat.c

powerpmac_thermal: Improve thermal regulation on G5 quad models

Add a new "high temp" threshold below the max temp, in order to ramp the
fans (or pump for liquid cooled quads) sooner, and avoid the maximum
temperature.  From the PR, this makes older G5 quads louder, but usable,
instead of hitting max temperature and forcing a thermal shutdown.

PR:             209202
Submitted by:   gmbroome (PR)
DeltaFile
+3-3sys/powerpc/powermac/powermac_thermal.c
+3-2sys/powerpc/powermac/smusat.c
+3-2sys/powerpc/powermac/smu.c
+1-1sys/powerpc/powermac/powermac_thermal.h
+10-84 files

FreeBSD/src 3d96130sys/dev/e1000 if_em.h e1000_defines.h

e1000: Report corrected LAN management FIFO ECC errors

I350 and I354 report a corrected ECC error in the LAN transmit
management FIFO through LANPERRSTS bit 16.  Unlike the parity status in
the same register, this condition neither interrupts nor stops traffic.

Poll the latch with the other corrected error status, increment a
dedicated counter, and clear only its RW1C bit.  Expose it as
dev.igb.N.memory_errors.corrected_lan_mng_fifo.

Fatal error handling returns before the periodic statistics sweep and
may reset the device.  Drain all I350 and I354 corrected-error status in
the admin task before recovery so the reset does not discard pending
indications.

This follows section 6.21.16 of the Intel Atom Processor C2000 Product
Family Integrated GbE Controller Programmer's Reference Manual,
document 537426 revision 1.5.


    [3 lines not shown]
DeltaFile
+13-1sys/dev/e1000/if_em.c
+1-0sys/dev/e1000/if_em.h
+1-0sys/dev/e1000/e1000_defines.h
+15-13 files

FreeBSD/src f127511sys/dev/e1000 e1000_defines.h if_em.c

e1000: Handle I354 internal memory errors

The Atom C2000 integrated GbE programming reference documents the I354
internal memory error architecture.  It shares the I350 PEIND and
ICR.FER routing, DMA and packet-buffer status, LAN parity status, and
required reset recovery.

Extend the existing I350 recovery and corrected error accounting paths
to I354.  Keep the PCIe corrected error mask family-specific.  C2000
PCIEECCSTS ends at the transmit write-data indication in bit 4 and does
not implement the I350 retry buffer indication in bit 5.  Do not expose
the corresponding retry counter on I354.

The PRM overview says a PCIe region failure requires a system reboot,
while the individual PCIEERRSTS fields prescribe CTRL.RST followed by
port reinitialization.  Use the register specific recovery, matching the
existing I350 path; failed reinitialization still leaves the port down.

This follows sections 5.6 and 6.21 of the Intel Atom Processor C2000

    [6 lines not shown]
DeltaFile
+40-35sys/dev/e1000/if_em.c
+10-8sys/dev/e1000/e1000_defines.h
+50-432 files

FreeBSD/src fe81d42contrib/tzdata asia southamerica

contrib/tzdata: import tzdata 2026d

Changes: https://github.com/eggert/tz/blob/2026d/NEWS

MFC after:      3 days
DeltaFile
+80-46contrib/tzdata/northamerica
+114-1contrib/tzdata/NEWS
+32-31contrib/tzdata/theory.html
+49-5contrib/tzdata/backward
+16-13contrib/tzdata/southamerica
+18-6contrib/tzdata/asia
+309-1028 files not shown
+332-12314 files

FreeBSD/src ef5bc5a. asia southamerica

Import tzdata 2026d
DeltaFile
+80-46northamerica
+114-1NEWS
+32-31theory.html
+49-5backward
+16-13southamerica
+18-6asia
+309-1028 files not shown
+332-12314 files

FreeBSD/src d9c798bsys/powerpc/booke pmap_64.c

powerpc/booke64: Remove unused pmap global
DeltaFile
+0-1sys/powerpc/booke/pmap_64.c
+0-11 files

FreeBSD/src 3a4e037sys/dev/ixgbe if_fdir.c

ixgbe: Leave run-state publication to iflib during FDIR recovery

Rebuilding the Flow Director tables does not initialize the interface
or restore its queues.  Do not set IFF_DRV_RUNNING from that operation:
iflib owns the flag, and may have cleared it while a watchdog reset is
pending.  Restoring it here could admit traffic before the deferred
stop and initialization have run.

Keep the table rebuild and Flow Director interrupt re-enable unchanged.
This path is conditional on IXGBE_FDIR.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+0-3sys/dev/ixgbe/if_fdir.c
+0-31 files

FreeBSD/src 33be59bsys/dev/ice if_ice_iflib.c

ice: Use the mirror interface softc in PF callbacks

PF iflib callbacks receive struct ice_softc, not struct ice_mirr_if.
Resolve the mirror interface through sc->mirr_if before checking or
resetting subinterface state.

Use the same mirror softc when rebuilding its VSI.  This records the
required subinterface reset in the state consumed by the PF callback,
rather than overlaying the PF softc and leaving rebuilt queues stopped.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+12-8sys/dev/ice/if_ice_iflib.c
+12-81 files

FreeBSD/src 372803dsys/dev/ixl ixl_pf_iflib.c

ixl: Set critical-error state bits independently

ixl_set_state() takes a bit index, not a bit mask.  ORing the
reset request and critical error indices produced the global reset
index, so a critical interrupt could mask its cause without scheduling
the intended PF reset.

Set both state bits explicitly.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+2-2sys/dev/ixl/ixl_pf_iflib.c
+2-21 files

FreeBSD/src 99eaf07sys/dev/vmware/vmxnet3 if_vmx.c

vmxnet3: Propagate device-enable failure to iflib

Do not let iflib publish a running interface when the virtual device
rejected its enable command.  Mark initialization failed and leave the
interface stopped.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+4-1sys/dev/vmware/vmxnet3/if_vmx.c
+4-11 files

FreeBSD/src f496cd9share/man/man9 iflibdd.9

iflibdd(9): Clarify resume during suspend rollback

The resume callback also runs when suspend fails, without an intervening
PCI power-state transition or configuration-space restore.  Document
that drivers must not assume either has occurred.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+4-0share/man/man9/iflibdd.9
+4-01 files

FreeBSD/src 45dc4a1sys/dev/ixgbe ixgbe.h if_ix.c

ixgbe: Pause firmware recovery polling in low power

The firmware recovery callout continues polling controller registers
after a power transition.  An inaccessible E610 GL_MNG_FWSM register
reads as all ones in D3, which looks like firmware recovery mode and
queues an iflib reset while the device is suspended.  A later D0 poll
then reports recovery complete and queues another reset.

Pause and drain the callout before terminal stop policy is applied,
prevent an in-flight callback from rearming it, and restart polling
only after resume has cleared the wake state.  Track callout
initialization so partial attach cleanup does not drain an uninitialized
callout.

The false transition was reproduced on a dual-port E610 with direct D3
and system S3.  Validate the guard with wake-disabled and wake-armed D3,
three repeated D3 cycles per port, and an S3 magic-packet wake.  Both
ports returned to D0 without a false recovery transition.


    [2 lines not shown]
DeltaFile
+33-5sys/dev/ixgbe/if_ix.c
+2-0sys/dev/ixgbe/ixgbe.h
+35-52 files

FreeBSD/src 62dd064share/man/man9 iflibdd.9, sys/net iflib.c

iflib: Reject media changes during suspend

iflib gates its built-in administrative and media-status callbacks once
a power transition starts, but iflib_media_change() could still invoke a
driver while the device was suspending or suspended.  Several drivers
perform PHY or firmware I/O directly from this callback.

Return EBUSY before invoking IFDI_MEDIA_CHANGE() unless the device is
active.  ifmedia then restores the prior selection, avoiding both
suspended hardware access and an unvalidated configuration that would
need to be replayed during resume.

Validated with device suspend on 82579LM, I210, and I225-IT
controllers.  Media-selection requests returned EBUSY on every
suspended device.  Resume restored the linked management interfaces at
1 Gbps with working traffic and no watchdogs; unconfigured interfaces
retained their prior admin and link state.

Reviewed by:    iflib (gallatin)

    [3 lines not shown]
DeltaFile
+4-0sys/net/iflib.c
+3-0share/man/man9/iflibdd.9
+7-02 files

FreeBSD/src 2b2cc52share/man/man9 iflibdd.9, sys/dev/ice if_ice_iflib.c

iflib: Own queue quiescence during power transitions

Perform a terminal datapath stop before suspend and shutdown
callbacks, then drain the private configuration taskqueue before
entering low power.  Track power state independently of queue
ownership and prevent built-in admin, IOV, LED, and media-status
callbacks from accessing a suspended device.

Restore driver-specific state while the datapath remains stopped.
Initialize it exactly once on resume when the interface is
administratively up, and keep an administratively-down interface
stopped.  Roll back the driver when suspend or child suspension fails.

Add ifdi_power_prepare() for policy which must be established before
the terminal stop.  Use it to snapshot ixgbe(4) wake policy and preserve
X550EM PHY ordering, and remove the duplicate stop from aq(4).

Reviewed by:    iflib (gallatin)
MFC after:      2 weeks

    [2 lines not shown]
DeltaFile
+148-12sys/net/iflib.c
+39-3share/man/man9/iflibdd.9
+23-18sys/dev/ixgbe/if_ix.c
+17-0sys/net/ifdi_if.m
+7-0sys/net/iflib.h
+2-2sys/dev/ice/if_ice_iflib.c
+236-352 files not shown
+238-388 files

FreeBSD/src fb8fcd4share/man/man9 iflibdd.9, sys/net iflib.c

iflib: Track queue datapath lifecycle

Track whether iflib queue mappings may still be accessed by the
device.  Keep the state private to iflib and conservative: an unknown
or failed device must pass through IFDI_STOP() before mappings are
reused or released, while a device known to be stopped need not
receive another hardware stop.

Enter the starting state before IFDI_INIT(), publish running only
after receive buffers and framework state are ready, and stop hardware
if receive-buffer setup fails after driver initialization.

Do not initialize an administratively-down interface merely because
its MTU, capabilities, VLAN configuration, or media changed.  Preserve
successful retries for an administratively-up interface whose previous
initialization failed.

This state describes ownership of iflib datapath mappings only.  It
deliberately makes no claim about firmware queues, administrative DMA,

    [6 lines not shown]
DeltaFile
+95-32sys/net/iflib.c
+11-3share/man/man9/iflibdd.9
+106-352 files

FreeBSD/src cb82cc9lib/msun/tests fma_test.c

lib/msun: add tests for fmaf(3) subnormals

PR:     298260
Reviewed by:    kib
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59579
DeltaFile
+27-1lib/msun/tests/fma_test.c
+27-11 files

FreeBSD/src b08e6a3lib/msun/src s_fmaf.c

lib/msun: use the same algorithm for sw fmaf(3) as for fma(3)

This fixes rounding at the last bit for subnormals.

PR:     298260
Reviewed by:    kib
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59579
DeltaFile
+230-24lib/msun/src/s_fmaf.c
+230-241 files

FreeBSD/src 26248c3sys/kern uipc_mbuf.c, sys/net if_bridge.c

if_bridge: pull up only the headers bridge_pfil() inspects

bridge_pfil() pulled up min(m_pkthdr.len, max_protohdr) bytes.  When the
mapped head is shorter than that and followed by an unmapped (M_EXTPG)
mbuf -- a sendfile(2) or KTLS segment from a member advertising
IFCAP_MEXTPG -- m_pullup() ran into it and dereferenced a NULL mtod(),
panicking the kernel.

Pull up the Ethernet header first, and the SNAP/LLC header only for an
802.3 frame.  This is similar to pf and ip_output().

m_pullup() and m_copyup() asserted only the first mbuf; assert inside both
copy loops so the shape trips the check.

Fixes:          c38abd64dbc1 ("if_epair: support IFCAP_MEXTPG")
Suggested by:   markj
Reviewed by:    markj, gallatin
Assisted-by:    Claude Code (Fable 5, Opus 5)
DeltaFile
+23-10sys/net/if_bridge.c
+4-0sys/kern/uipc_mbuf.c
+27-102 files

FreeBSD/src 8209ceesys/net if_bridge.c

if_bridge: count the drops on the fragmentation path

bridge_pfil() returned a fragmentation failure without counting it,
and bridge_fragment() dropped a chain on three allocation failures
without counting those either.

Count the first on the filtered interface and the others with
ips_odropped, which is what ip_fragment() uses for the same failure
and what bridge_fragment() already uses for its success case.

Reviewed by:    gallatin
Differential Revision:  https://reviews.freebsd.org/D59391
Assisted-by:    Claude Code (Fable 5, Opus 5)
DeltaFile
+9-1sys/net/if_bridge.c
+9-11 files

FreeBSD/src 1624620include/arpa telnet.h

arpa/telnet: Fix a typo in a source code comment

- s/ascic/ASCII/

MFC after:      3 days
DeltaFile
+1-1include/arpa/telnet.h
+1-11 files

FreeBSD/src 8255ae9sys/kern kern_sysctl.c

sys/kern: Fix a typo in a source code comment

- s/untill/until/

MFC after:      3 days
DeltaFile
+1-1sys/kern/kern_sysctl.c
+1-11 files

FreeBSD/src 0d022basys/compat/linuxkpi/common/include/linux irq_work.h, sys/compat/linuxkpi/common/src linux_work.c

LinuxKPI: Run irq_work callbacks under RCU protection

Linux executes irq_work callbacks from an interrupt context that
provides implicit RCU read-side protection. LinuxKPI dispatches these
callbacks through a taskqueue, so provide equivalent protection
explicitly.

This prevents an RCU grace period from completing while an irq_work
callback is still using an RCU-protected object.

Suggested by:   wulf
Tested by:      JustAnotherHumanBeing
Signed-off-by:  JustAnotherHumanBeing <oleglelchuk at gmail.com>
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2385
DeltaFile
+3-0sys/compat/linuxkpi/common/src/linux_work.c
+2-0sys/compat/linuxkpi/common/include/linux/irq_work.h
+5-02 files

FreeBSD/src d8e315bshare/man/man4 Makefile ps5dsense.4, sys/conf files NOTES

hid: Add Sony DualSense gamepad driver

Add a driver for the Sony PS5 DualSense controller (054c:0ce6)
providing gamepad input via evdev, lightbar RGB LED control, and
player indicator LEDs through sysctl.

Signed-off-by:  Christos Longros <chris.longros at gmail.com>
Reviewed by:    ziaee, wulf
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D56345
DeltaFile
+472-0sys/dev/hid/ps5dsense.c
+145-0share/man/man4/ps5dsense.4
+8-0sys/modules/hid/ps5dsense/Makefile
+1-0sys/conf/files
+1-0sys/conf/NOTES
+1-0share/man/man4/Makefile
+628-01 files not shown
+629-07 files

FreeBSD/src b7e91f2sys/netinet sctp_usrreq.c

sctp: remove unused variable

This fixes the build with gcc 16 after the changes
to -Wunused*[0].

[0] https://gcc.gnu.org/gcc-16/porting_to.html#changes-to-wunused

Reviewed by:    tuexen
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D59590
DeltaFile
+2-5sys/netinet/sctp_usrreq.c
+2-51 files

FreeBSD/src 477c594sys/kern subr_bus.c subr_kobj.c, sys/sys bus.h kobj.h

kobj: allow multiple inheritance with per-class softc

Add support for hierarchical softc layout so that a leaf class and each
of its base classes owns a private softc region inside a single
allocation.

device_get_softc_class(dev, cls) returns a pointer to the softc that
belongs to the requested class.  The classic device_get_softc() still
returns the leaf softc and remains fully compatible with existing
drivers.

Existing drivers are unaffected; they simply obtain a slightly larger
softc block when they inherit from base classes.

MFC after:      2 months
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D59115
DeltaFile
+100-0sys/kern/subr_kobj.c
+25-5sys/sys/kobj.h
+16-3sys/kern/subr_bus.c
+1-0sys/sys/bus.h
+142-84 files

FreeBSD/src b7541acshare/man/man4 hgame.4 xb360gp.4

game controller manuals: Canonicalize SYNOPSIS

While here, tag SPDX.

Event:                  EuroBSDcon Devsummit 2026
MFC after:              3 days
Reviewed by:            wulf
Differential Revision:  https://reviews.freebsd.org/D59256
DeltaFile
+23-16share/man/man4/ps4dshock.4
+19-17share/man/man4/xb360gp.4
+7-5share/man/man4/hgame.4
+49-383 files

FreeBSD/src 45f4abeshare/man/man5 rc.conf.5

rc.conf.5: Fix typo

Fixes:          fa7094c5b06f ("Improve NOAUTO configuration")
MFC after:      3 days
Reported by:    Herbert J. Skuhra <herbert at gojira.at>
Event:          EuroBSDcon Devsummit 2026
DeltaFile
+2-2share/man/man5/rc.conf.5
+2-21 files