FreeBSD/src fec497b — sys/fs/nfsclient nfs_clrpcops.c

nfs_clrpcops.c: Get rid of bogus rpc_free_rdma_reduction() calls

The calls to rpc_free_rdma_reduction() were cruft left over from
a previous variant of the NFS over RDMA client code.  They resulted
in double free's of the reduction mbuf.

This patch gets rid of them and makes sure that reduction is only
done when an array of pages is provided, so that no anonymous pages
will be allocated.

The reduction mbuf is free'd with the rest of the argument mbuf list
in the client side krpc.

Suggested by:   ferrao at versatushpc.com.br
MFC after:      1 month
Fixes:  884ee8d6c9b4 ("nfscl: Add some glue for client side NFS over RDMA")
DeltaFile
+5-26sys/fs/nfsclient/nfs_clrpcops.c
+5-261 files

FreeBSD/ports 1be19c8 — deskutils/calibre Makefile

deskutils/calibre: Add dependency on python unrar wrapper

Allows proper handling of CBR comic book format files.

PR:             300310
DeltaFile
+3-3deskutils/calibre/Makefile
+3-31 files

FreeBSD/ports 1fcef32 — archivers Makefile, archivers/py-unrardll pkg-descr distinfo

archivers/py-unrardll: New port

unrardll is a Python wrapper around the UnRAR DLL (libunrar) that allows
listing, reading and extracting files from RAR archives, including
multi-volume and password protected archives.

WWW: https://github.com/kovidgoyal/unrardll

PR:             300310
DeltaFile
+32-0archivers/py-unrardll/Makefile
+11-0archivers/py-unrardll/files/patch-src_unrardll_wrapper.cpp
+3-0archivers/py-unrardll/pkg-descr
+3-0archivers/py-unrardll/distinfo
+1-0archivers/Makefile
+50-05 files

LLVM/project d640cb5 — llvm/lib/Target/AMDGPU AMDGPUAttributor.cpp

[NFC][AMDGPU] Don't create call site AACallEdges for direct calls

AAAMDGPUMinAGPRAlloc and AAAMDGPUNoLDSDMA asked for a call site AACallEdges for
every call that is not an intrinsic, only to get its callees. For a direct call
whose callee has no callback metadata, that callee is the only one, so use it
directly, like AACallEdgesFunction does since #232616. Calls to callback brokers
still use AACallEdges, because thebroker also calls the callback target.

On a generated module with 2,001 functions and 15,986 calls,
-passes=amdgpu-attributor creates 2,001 instead of 11,987 abstract attributes,
and the median wall time goes from 95 ms to 84 ms.

This PR was assisted by AI but I reviewed all the changes.
DeltaFile
+36-27llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+36-271 files

LLVM/project 6630551 — clang/lib/AST Decl.cpp

[AST] Avoid duplicate isOutOfLine() calls (NFC) (#237621)

This is fairly expensive, so make sure we only call it once.

Improves compile-time for C++ code, by -0.4% on the clang build.

Suggested by LLM. Original motivation was to reduce ASLR noise on
beman-execution.
DeltaFile
+3-2clang/lib/AST/Decl.cpp
+3-21 files

Illumos/gate f128a5f — usr/src/test/bhyve-tests/tests/vmm vcpu_alloc.c, usr/src/uts/intel/io/vmm vmm.c vmm_sol_dev.c

18525 bhyve: allocate vCPUs and their state on first use
Reviewed by: ixi meow <illumos at iximeow.net>
Reviewed by: Luqman Aden <luqman at oxide.computer>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
DeltaFile
+210-205usr/src/uts/intel/io/vmm/intel/vmx.c
+135-113usr/src/uts/intel/io/vmm/vmm_sol_dev.c
+164-69usr/src/uts/intel/io/vmm/vmm.c
+116-0usr/src/test/bhyve-tests/tests/vmm/vcpu_alloc.c
+38-22usr/src/uts/intel/io/vmm/amd/svm.c
+10-28usr/src/uts/intel/io/vmm/amd/svm_softc.h
+673-43713 files not shown
+737-49619 files

LLVM/project 608de88 — llvm/lib/Transforms/IPO AttributorAttributes.cpp

[NFC][Attributor] Reach fixpoint in call site AACallEdges for direct calls

A direct call whose callee has no callback metadata only calls its callee, so
its call site AACallEdges cannot change after initialization. Add the edge in
initialize and reach a fixpoint there, instead of updating the attribute twice
to find out. AACallEdgesFunction already skips the call site attribute for such
calls since #232616; both now share getOnlyCallee().

Other attributes still create call site AACallEdges for direct calls, e.g.,
AAInterFnReachability and the AMDGPU attributor. On a generated module with
2,001 functions and 15,986 calls, this removes all updates of call site
AACallEdges. The total number of updates goes from 304,263 to 272,291 with
-passes=attributor, from 207,815 to 175,843 with -passes=attributor-light, and
from 35,977 to 16,005 with -passes=amdgpu-attributor. The wall time does not
change measurably on that module, because these updates are cheap.

This PR was assisted by AI but I reviewed all the changes.
DeltaFile
+21-2llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+21-21 files

FreeBSD/doc 99cdcc9 — website/data/en/news news.toml

en/news: document new and returning src committers in 2026

The dates picked for the news entries is based on the date that the
entry was added in the access file under the `internal/admin` branch.

This only includes new/returning src commit bits; some docs and ports
commit bits may have been missed in this change.

Reviewed by:    carlavilla
Approved by:    carlavilla
Differential Revision:  https://reviews.freebsd.org/D61075
DeltaFile
+39-7website/data/en/news/news.toml
+39-71 files

LLVM/project 8105147 — llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU shufflevector.v3f16.v2f16.ll shufflevector.v3bf16.v2bf16.ll

[AMDGPU] Allow legal shuffles of four 16-bit lanes

Preserve packed 16-bit pairs so lowering can use op_sel and
v_pk_mov_b32 instead of extracting each half into a separate register.
Keep scalarization for other vector shapes to avoid inhibiting load
narrowing or introducing extra register copies.
DeltaFile
+51-76llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
+51-76llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
+7-9llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
+7-9llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
+8-4llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+124-1745 files

LLVM/project 2e69f3f — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

[SelectionDAG] Reject promoted extracts in build-vector shuffle folds

A promoted EXTRACT_VECTOR_ELT result can be wider than the source vector element. Require matching types before constructing the shuffle mask to avoid an incorrect lane count and assertions.
DeltaFile
+5-1llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+5-11 files

LLVM/project 69319a8 — compiler-rt/lib/scudo/standalone size_class_allocator.h

[scudo] Use memmove to move leftover elements in drain. (#237444)

Rather than loop over the array and move one by one, use the memmove
function. On a 64 bit Android device, in the system_server process, the
average time went from 68ns to 55ns. The worst case also went from
~250,000ns to ~45,000ns.
DeltaFile
+3-2compiler-rt/lib/scudo/standalone/size_class_allocator.h
+3-21 files

FreeBSD/src 424339c — sys/dev/rge if_rge.c

rge: fix multicast add/removal by using if_getdrvflags()

Using if_getflags() to check IFF_DRV_RUNNING is wrong;
if_getdrvflags() is required.  This issue resulted in the
multicast filter not being updated.

This was an oversight by me in my initial port.

Thanks to danilo@ for reporting it and Oleg <oleglelchuk at gmail.com>
for the fix.

PR: kern/295176
(cherry picked from commit 7aa34e12c9e198bf8b7e74370ff702def5ec2649)
DeltaFile
+1-1sys/dev/rge/if_rge.c
+1-11 files

FreeBSD/src 5211e43 — sys/dev/rge if_rge.c

rge: Fix 32-bit powerpc build

Book-E powerpc has 64-bit bus_addr_t but only a 32-bit bus_size_t.  Use
the right macros for maxsize and maxsegsize to fix the build.

Fixes:  4bf8ce037 ("if_rge: initial import of if_rge driver from OpenBSD.")
Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D57794

(cherry picked from commit 2b5d1d8e298b2f5aff68fd5106d9b09d59fda907)
DeltaFile
+2-2sys/dev/rge/if_rge.c
+2-21 files

FreeBSD/src 9971ac5 — sys/dev/rge if_rge.c

rge: fix VLAN hardware tagging

Set the correct value in the TX descriptor for the vlan header.

PR: kern/295175
(cherry picked from commit 76f9bb488e77ae4cc220b0bbbc53f1a7315ef977)
DeltaFile
+1-1sys/dev/rge/if_rge.c
+1-11 files

FreeBSD/src 75a29ec — share/man/man4 rge.4, sys/dev/rge if_rgevar.h if_rge_sysctl.c

rge: add disable_aspm tunable for PCIe power management

Add a per-interface loader tunable dev.rge.%d.disable_aspm to
disable PCIe ASPM (L0s/L1) and ECPM on the RTL8125/8126/8127.

Disabling ASPM reduces latency at the cost of higher power
consumption. Default is off (ASPM left as configured by BIOS).

Signed-off-by: Christos Longros <chris.longros at gmail.com>

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D56103

(cherry picked from commit 4390c37b5c94b6de4cb4bdbcc3967efe74fa7517)
DeltaFile
+12-16sys/dev/rge/if_rge.c
+9-0share/man/man4/rge.4
+5-0sys/dev/rge/if_rge_sysctl.c
+1-0sys/dev/rge/if_rgevar.h
+27-164 files

FreeBSD/src 4f624f8 — share/man/man4 rge.4, sys/dev/rge if_rge_vendor.h if_rge.c

rge: add the Intel Killer E5000 PCI ID

This and the E3000 are both handled by the r8169 driver in Linux, and
reportedly this is infact just a straight re-brand of the RTL8126.

Tested by:      "Sinetek" on Discord
Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D56917

(cherry picked from commit 92f623e4a98876c897669be0f1220887c996918e)
DeltaFile
+3-1share/man/man4/rge.4
+1-0sys/dev/rge/if_rge_vendor.h
+1-0sys/dev/rge/if_rge.c
+5-13 files

FreeBSD/src e50d25e — sys/dev/rge if_rgevar.h if_rge.c

rge: handle interface flags changes

Handle interface flags like other drivers do.

Reviewed by:    zlei, adrian
Differential Revision:  https://reviews.freebsd.org/D55728

(cherry picked from commit f7fd4e79fa0943446aa5900147f737a70c73d9e3)
DeltaFile
+9-14sys/dev/rge/if_rge.c
+2-0sys/dev/rge/if_rgevar.h
+11-142 files

FreeBSD/src 071c56d — share/man/man4 rge.4, sys/dev/rge if_rgevar.h if_rge.c

rge: make rx_process_limit a sysctl tunable

The number of packets processed per interrupt was hardcoded to 16.
Add a per-interface sysctl dev.rge.%d.rx_process_limit tunable so
users can adjust this value at runtime.

Signed-off-by: Christos Longros <chris.longros at gmail.com>

Reviewed by:    ziaee, adrian
Differential Revision:  https://reviews.freebsd.org/D56014

(cherry picked from commit 930a790c2abb3680a3449a1f9ce2eff2be7acc36)
DeltaFile
+5-0sys/dev/rge/if_rge_sysctl.c
+5-0share/man/man4/rge.4
+2-1sys/dev/rge/if_rge.c
+2-0sys/dev/rge/if_rgevar.h
+14-14 files

FreeBSD/src 652c0e8 — share/man/man4 rge.4

rge.4: fix incorrect speed range in HARDWARE section

The HARDWARE section stated "PCIe 1GB to 1GB Ethernet devices"
which is incorrect. The RTL8125/8126/8127 chips support speeds
from 1Gbps to 10Gbps. Correct the range.

Signed-off-by: Christos Longros <chris.longros at gmail.com>

rge.4: note that the driver manages PHY directly

The rge(4) driver does not use the miibus(4) interface for PHY
management. Instead, it accesses PHY registers directly via the
chip's OCP (On-Chip Peripheral) bus. Document this in the
DESCRIPTION section.

Signed-off-by: Christos Longros <chris.longros at gmail.com>

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D55995

    [2 lines not shown]
DeltaFile
+17-2share/man/man4/rge.4
+17-21 files

FreeBSD/src f2ba059 — sys/dev/rge if_rgevar.h if_rge.c

rge: use C style comments instead of C++

FreeBSD style(9) mandates C style comments. The initial import from
OpenBSD left several C++ style // comments in if_rge.c and if_rgevar.h.
Replace them with proper /* */ comments.

Also fix a malformed comment that mixed // with a closing */.

Signed-off-by: Christos Longros <chris.longros at gmail.com>

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D55743

(cherry picked from commit 9976cff55e8897f74d970567e61512103216cf58)
DeltaFile
+0-4sys/dev/rge/if_rgevar.h
+2-2sys/dev/rge/if_rge.c
+2-62 files

FreeBSD/src 99d566e — share/man/man4 rge.4, sys/dev/rge if_rge_hw.h if_rge_hw.c

rge: add Wake-on-LAN support for magic packet

Advertise IFCAP_WOL_MAGIC when PCI power management is available
and enable it by default.  On suspend or shutdown, rge_setwol()
enables the WOL_MAGIC and WOL_LANWAKE bits in CFG3/CFG5, disables
the RXDV gate, and enables PM so the NIC stays powered to watch
for magic packets.

Move hardware-specific WOL register configuration into
rge_wol_config() in if_rge_hw.c to keep hardware-specific
functions in sync with OpenBSD.

Update rge.4 to document WoL support.

Tested on FreeBSD 16.0-CURRENT bare metal with Realtek RTL8125
on a Gigabyte B650 Gaming X AX motherboard.

Signed-off-by: Christos Longros <chris.longros at gmail.com>


    [4 lines not shown]
DeltaFile
+27-30sys/dev/rge/if_rge.c
+21-34sys/dev/rge/if_rge_hw.c
+3-3share/man/man4/rge.4
+1-0sys/dev/rge/if_rge_hw.h
+52-674 files

FreeBSD/src 01e4d2b — sys/dev/rge if_rge.c

rge: log silicon revision during attach

The initial import from OpenBSD contained chip revision printf() calls
commented out, as OpenBSD's bare printf() style does not translate to
FreeBSD's device_printf() idiom. The result is that users cannot
distinguish RTL8125 from RTL8125B, RTL8125D_1, RTL8125D_2 etc. via
dmesg alone, even though all variants show as '<RTL8125>' from the PCI
probe string.

Add proper device_printf() calls including the raw hwrev value,
consistent with how re(4) reports chip revisions.

Signed-off-by: Christos Longros <chris.longros at gmail.com>

Reviewed by:    zlei, imp, adrian
Differential Revision:  https://reviews.freebsd.org/D55402

(cherry picked from commit acbf7498f5e11b00ffcd6c12bdb8bd1eddeb6d7f)
DeltaFile
+7-7sys/dev/rge/if_rge.c
+7-71 files

FreeBSD/src 818d219 — sys/dev/rge if_rge.c

rge: fix callout setup/teardown; handle invalid ethernet address

* Do the callout init early; since some of the teardown path expects
  the callout to be valid

* Handle an invalid ethernet address by generating a local one.

PR:     kern/293307

Reviewed by:    zlei
Differential Revision:  https://reviews.freebsd.org/D55419

(cherry picked from commit d5ca52182e522a192d0c8fbdaa438f50e200082f)
DeltaFile
+14-5sys/dev/rge/if_rge.c
+14-51 files

FreeBSD/src 3e5ac54 — share/man/man4 rge.4

rge.4: correct media types in the manual page

Correct media types for 1000Mbit/s, 2500Mbit/s, 5000Mbit/s and 10Gbit/s.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D55496

(cherry picked from commit 25e89051df7ace23ae4953c21402e568cfce78b4)
DeltaFile
+8-8share/man/man4/rge.4
+8-81 files

FreeBSD/src 9c67ab2 — sys/dev/rge if_rge.c

rge: correctly free busdma memory / zero things out only if allocated

* Only free busdma memory that was allocated
* Don't free tx/rx rings until their buffers have also been freed

PR:     kern/293307

Reviewed by:    zlei
Differential Revision:  https://reviews.freebsd.org/D55420

(cherry picked from commit d1947d0a1a55f905e5ed076d46d4f75a00c6f823)
DeltaFile
+18-15sys/dev/rge/if_rge.c
+18-151 files

FreeBSD/src e1dfc6d — share/man/man4 rge.4 re.4

re(4), rge(4): improve Realtek driver man pages

Add D-Link DGE-530(T) and Killer E2600 to the re(4) HARDWARE list.
Both are supported by the driver but were missing from the man page.

Also add cross-references between re(4) and rge(4) in SEE ALSO,
as both are Realtek NIC drivers.

Signed-off-by: Christos Longros <chris.longros at gmail.com>

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D55745

(cherry picked from commit e6f4e4ab8a51f5bec178f5d937e541e227efb561)
DeltaFile
+5-0share/man/man4/re.4
+1-0share/man/man4/rge.4
+6-02 files

FreeBSD/src 4dce344 — sys/dev/rge if_rgevar.h if_rgereg.h

if_rge: sync with up to date OpenBSD code

a0b4d9e5bd63984bc3ad25b7f2881741e0d73980
Add support for RTL8126 chip revision 0x64a00000 from Carl Henriksson.
While here, update and add microcode for the RTL8126 chipset variant.

46810ff569a9416642fc5f8e86501028008a2e95
For RTL8125, there's no need to check whether RGE_CMD_STOPREQ has been
completed.  As with other chip variants, RGE_CMD_STOPREQ never acknowledges
completion.

5729fb17b5eeba56781da0b5c0525c198c5c2cd8
remove duplicate RGE_PHYSTAT_5000MBPS test

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D54517
Obtained from:  OpenBSD

(cherry picked from commit 5d73fca1f4b2bac8833e2b9233fa496059dab745)
DeltaFile
+3,506-7,285sys/dev/rge/if_rge_microcode.h
+249-48sys/dev/rge/if_rge_hw.c
+17-14sys/dev/rge/if_rge.c
+5-1sys/dev/rge/if_rgereg.h
+2-1sys/dev/rge/if_rgevar.h
+3,779-7,3495 files

FreeBSD/src b03bedd — sys/dev/rge if_rge_sysctl.c if_rgevar.h

if_rge: initial import of if_rge driver from OpenBSD.

This is an initial import of the if_rge driver from OpenBSD
and adapted to FreeBSD.

Differential Revision:  https://reviews.freebsd.org/D54101

(cherry picked from commit 4bf8ce037dc8fa699be87350bb6467f1b74cb96d)
DeltaFile
+13,401-0sys/dev/rge/if_rge_microcode.h
+2,683-0sys/dev/rge/if_rge.c
+1,935-0sys/dev/rge/if_rge_hw.c
+387-0sys/dev/rge/if_rgereg.h
+269-0sys/dev/rge/if_rgevar.h
+238-0sys/dev/rge/if_rge_sysctl.c
+18,913-011 files not shown
+19,407-017 files

FreeBSD/src 9f5c6ac — share/man/man4 rge.4

if_rge: fix typo in man page

Fix the list of devices supported by the driver: RTL8125 occured
twice, should have been RTL8127 in one case.

Approved by:    adrian

(cherry picked from commit cf5eed71591563ecfc7a40c28d7c4f001f903219)
DeltaFile
+2-2share/man/man4/rge.4
+2-21 files

FreeBSD/src 56ff0b8 — sys/dev/rge if_rgevar.h if_rgereg.h

if_rge: sync with up to date OpenBSD code

e574c2d36cbcacf2556088879be336775e80154b
Add support for RTL8125D revision 0x6890000

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D54922
MFC after: 2 weeks

(cherry picked from commit 3f3cc6fd69e4e3abf6b48c242e93b650c00451c1)
DeltaFile
+635-1sys/dev/rge/if_rge_microcode.h
+122-13sys/dev/rge/if_rge_hw.c
+12-8sys/dev/rge/if_rge.c
+5-1sys/dev/rge/if_rgereg.h
+2-1sys/dev/rge/if_rgevar.h
+776-245 files