OPNSense/core fd9a04esrc/opnsense/mvc/app/controllers/OPNsense/Core/Api TunablesController.php, src/opnsense/mvc/app/library/OPNsense/Core Config.php

mvc: fix faulty $forceList behaviour and add a test; closes #9617
DeltaFile
+19-3src/opnsense/mvc/tests/app/library/OPNsense/Core/ConfigTest.php
+6-1src/opnsense/mvc/tests/app/library/OPNsense/Core/ConfigConfig/backup/array.xml
+2-2src/opnsense/mvc/app/library/OPNsense/Core/Config.php
+1-1src/opnsense/mvc/app/controllers/OPNsense/Core/Api/TunablesController.php
+28-74 files

FreeBSD/src d141ee1sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: fix rx_nss with VHT

When fixing single-stream chipsets, like iwlwifi(4) AX101, we started
masking the announced with the hardware supported values.  This would
probably limit, e.g., rx_nss.  During these works we fixed a loop
checking from the highest nss=7 to lowest nss=0 (8..1) and would set
rx_nss if the stream was supported.  This left us with always setting
rx_nss on nss=0 to nss + 1 = 1.  Instead only update once when we hit
the first supported MCS value (highest number of supported streams).
Looking at the diff of the mentioned commit hash which gets fixed it
looks like even the old code was not correct either.

This only fixes the logic to calculate rx_nss.  This does not yet help
with modern drivers to actually update the value.  Code for this will
come in a later commit.

Sponsored by:   The FreeBSD Foundation
Fixes:          adb4901ac9ae

(cherry picked from commit 8494be1b5af7fe4f765532f802ac0a145e061d73)
DeltaFile
+2-1sys/compat/linuxkpi/common/src/linux_80211.c
+2-11 files

FreeBSD/src 6e2b552sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: assign sequence numbers to frames

While all native drivers were converted to call
ieee80211_output_seqno_assign() after changes to net80211 if needed,
LinuxKPI 802.11 was not fixed.  Add the missing call.
Given we are currently only supporting STA mode, we can provide
sequence numbers for all frames (mgmt/beacon would be a problem in
AP mode).

This greatly helps LinuxKPI based drivers other than iwlwifi(4).
If drivers do their own sequence numbers, they will overwrite what we
pre-set unless we would pass a txflag not to do so (beware the
consequences).

Sponsored by:   The FreeBSD Foundation
Fixes:          eabcd1773fa3, 785edcc2af5a

(cherry picked from commit 9cf85457b13bc7aa125388d63c82acf2b21e9e9e)
DeltaFile
+2-0sys/compat/linuxkpi/common/src/linux_80211.c
+2-01 files

FreeBSD/src 4d255absys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: reset hdr after crypto in lkpi_80211_txq_tx_one()

When lkpi_80211_txq_tx_one() calls into the crypto offloading parts to
possibly make space in the headroom, the beginning of our frame moves.
We have to reset hdr after that call as otherwise later classifications
based on the hdr->frame_control will fail or cause wrong classificaiton
of packets.
This makes sure frames will either be directly sent using (*mo_tx)()
or use the correct tid for the correct queue.  This helps to get
rtwx8 packets flowing after BA was negotiated.

Sponsored by:   The FreeBSD Foundation
Fixes:          11db70b6057e4

(cherry picked from commit f0395993e1ea83705e0da6623843e7d5d03f7269)
DeltaFile
+2-0sys/compat/linuxkpi/common/src/linux_80211.c
+2-01 files

FreeBSD/src 6b9c0acshare/man/man4 linuxkpi_wlan.4, sys/compat/linuxkpi/common/src linux_80211.c linux_80211.h

LinuxKPI: 802.11: add compat.linuxkpi.80211.IF.dump_stas_queues

Extend the normal compat.linuxkpi.80211.IF.dump_stas sysctl by
queue information.  This was helpful for debugging various issues,
like selecting the outbound queue, stopping queues for BAR and helped
finding multiple bugs.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 32ea8209825af594cbfa1fc654d45eb9a6aab528)
DeltaFile
+73-5sys/compat/linuxkpi/common/src/linux_80211.c
+8-1share/man/man4/linuxkpi_wlan.4
+4-0sys/compat/linuxkpi/common/src/linux_80211.h
+85-63 files

FreeBSD/src 605389esys/sys bitcount.h

sys/bitcount.h: add __const_bitcount<n>

Add a version of __const_bitcount<n> which can be used to get the
numbers at compile-time when __builtin_popcountg() is not available
(see sys/compat/linuxkpi/common/include/linux/bitops.h for LLVM before
19 and gcc before 14).

Obtained from:  https://reviews.freebsd.org/D50995#1174884 by obiwac
Sponsored by:   The FreeBSD Foundation
Reviewed by:    brooks, emaste
Differential Revision: https://reviews.freebsd.org/D54301

(cherry picked from commit 27aa23cee81088b0ffa974eec9f03c654c36438e)
DeltaFile
+22-0sys/sys/bitcount.h
+22-01 files

FreeBSD/src 9755a80sys/compat/linuxkpi/common/include/linux bitops.h

LinuxKPI: bitcount fix builds with gcc and older llvm

LLVM before 19 and gcc before 14 do not support __builtin_popcountg().
Use __const_bitcount<n> from sys/bitcount.h as a replacement in these
cases.  This should still allow drm-kmod to build where the size needs
to be known at compile-time.

Remove the conditional for gcc around the iwlwifi modules build,
which was collateral damage in all this.

Sponsored by:   The FreeBSD Foundation
Fixes:          7cbc4d875971, 5e0a4859f28a
Reviewed by:    brooks, emaste (without the sys/modules/Makefile change)
Differential Revision: https://reviews.freebsd.org/D54297

(cherry picked from commit 34892a8e30055000352d9612ad985be550c82bea)
DeltaFile
+8-0sys/compat/linuxkpi/common/include/linux/bitops.h
+8-01 files

LLVM/project c91fbbdllvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 combine-pclmul.ll

[X86] SimplifyDemandedVectorEltsForTargetNode - add basic X86ISD::PCLMULQDQ handling (#176142)

Now that we're creating X86ISD::PCLMULQDQ nodes in DAG, we need to
handle basic vector simplification - a minor first step towards adding
ISD::CLMUL vector handling

X86ISD::PCLMULQDQ uses the lower/upper i64 element from each 128-bit
lane depending on whether bit0/bit4 are set (for lhs/rhs operands)

These tests were copied from InstCombine which already did something
similar for the pclmulqdq intrinsics
DeltaFile
+16-61llvm/test/CodeGen/X86/combine-pclmul.ll
+50-0llvm/lib/Target/X86/X86ISelLowering.cpp
+66-612 files

LLVM/project fb2c62cllvm/lib/Analysis InstructionSimplify.cpp, llvm/test/Transforms/InstCombine select-cmp-cttz-ctlz.ll

[InstSimplify] Avoid poison value for ctz/abs in simplifyWithOpsReplaced() (#176168)

If we drop flags, we'll set the zero_is_poison/int_min_is_poison flag to
false as part of the transform. However, the constant folding was still
performed with the value true, which made constant folding return
poison. This resulted in the pattern failing to match, as the poison
value is not equal to the other select arm.

To avoid this, add some special handling to set the argument to false
during constant folding as well.

Fixes https://github.com/llvm/llvm-project/issues/175282.
DeltaFile
+117-0llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
+18-2llvm/lib/Analysis/InstructionSimplify.cpp
+135-22 files

LLVM/project 9bbea75llvm/cmake/modules AddLLVM.cmake, llvm/tools/llvm-config CMakeLists.txt

[cmake] Restore exception flags in llvm-config --cxxflags (#176195)

https://github.com/llvm/llvm-project/pull/173869 accidentally dropped
rtti and eh flags from `llvm-config --cxxflags`. Then
https://github.com/llvm/llvm-project/pull/174084 restored the rtti
flags. The eh flags were not included with the rationale that they are
not ABI relevant.

This PR restores the eh flags as well. While they are not strictly
necessary, I believe that code that directly interfaces with LLVM almost
certainly does not want to build with exceptions if LLVM is not built
with exceptions. Building in the peculiar `-fexceptions -fno-rtti`
configuration is rarely useful and likely not intended.

On MacOS, this is also relevant because it's not possible to use C++17
headers without `-fno-exceptions` when using older deployment targets.
In that configuration, `-fno-exceptions` is required to interact with
LLVM.
DeltaFile
+21-15llvm/cmake/modules/AddLLVM.cmake
+5-0llvm/tools/llvm-config/CMakeLists.txt
+26-152 files

LLVM/project e2eba60llvm/lib/CodeGen/SelectionDAG StatepointLowering.cpp

Revert StatepointLowering
DeltaFile
+8-6llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
+8-61 files

LLVM/project 7e9fd81clang/include/clang/Basic BuiltinsAMDGPU.def, clang/lib/CodeGen/TargetBuiltins AMDGPU.cpp

[AMDGPU] Add builtins for wave reduction intrinsics
DeltaFile
+84-0clang/test/CodeGenOpenCL/builtins-amdgcn.cl
+8-0clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+4-0clang/include/clang/Basic/BuiltinsAMDGPU.def
+96-03 files

LLVM/project d8aa09allvm/lib/Target/AMDGPU SIISelLowering.cpp

Use pseudo opcode for switch statements
DeltaFile
+10-10llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+10-101 files

LLVM/project d9138b0llvm/lib/Target/AMDGPU SIISelLowering.cpp

Use enum values for src modifiers.
DeltaFile
+8-8llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+8-81 files

LLVM/project c4b5dc2llvm/lib/Target/AMDGPU SIISelLowering.cpp SIInstructions.td, llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fadd.ll llvm.amdgcn.reduce.fsub.ll

[AMDGPU] Add wave reduce intrinsics for double types - 2

Supported Ops: `add`, `sub`
DeltaFile
+1,115-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
+1,102-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
+80-19llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+2-0llvm/lib/Target/AMDGPU/SIInstructions.td
+2,299-194 files

LLVM/project b138906llvm/docs AMDGPUUsage.rst

[AMDGPU] Update documentation for wave reduction intrinsics
DeltaFile
+72-4llvm/docs/AMDGPUUsage.rst
+72-41 files

LLVM/project 8a78f0dllvm/lib/Target/AMDGPU SIISelLowering.cpp SIInstructions.td, llvm/test/CodeGen/AMDGPU v_sub_f64_pseudo.mir

[AMDGPU] Introduce `v_sub_f64_pseudo` instruction
DeltaFile
+104-0llvm/test/CodeGen/AMDGPU/v_sub_f64_pseudo.mir
+26-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+4-0llvm/lib/Target/AMDGPU/SIInstructions.td
+134-03 files

LLVM/project ea19ee9llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fmax.ll llvm.amdgcn.reduce.fmin.ll

Remove NAN Canonicalization
DeltaFile
+142-199llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
+142-199llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
+2-26llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+286-4243 files

FreeBSD/ports 2d0d28bgraphics/mesa-devel Makefile

graphics/mesa-devel: unbreak WITH_FORTIFY{,_PORTS} on FreeBSD >= 15

../src/gallium/auxiliary/vl/vl_csc.c:196:35: error: too many arguments provided to function-like macro invocation
  196 |             { 0.595254, 0.349314, 0.055432, 0.0 },
      |                                   ^
/usr/include/ssp/string.h:124:9: note: macro 'memcpy' defined here
  124 | #define memcpy(dst, src, len) __ssp_bos_check3(memcpy, dst, src, len)
      |         ^
../src/gallium/auxiliary/vl/vl_csc.c:195:10: note: parentheses are required around macro argument containing braced initializer list
  195 |          memcpy(matrix, &(vl_csc_matrix){
      |          ^
      |                         (
  196 |             { 0.595254, 0.349314, 0.055432, 0.0 },
  197 |             { 0.081244, 0.891503, 0.027253, 0.0 },
  198 |             { 0.015512, 0.081912, 0.902576, 0.0 },
  199 |          }, sizeof(vl_csc_matrix));
      |
      |           )
../src/gallium/auxiliary/vl/vl_csc.c:205:37: error: too many arguments provided to function-like macro invocation

    [83 lines not shown]
DeltaFile
+1-0graphics/mesa-devel/Makefile
+1-01 files

FreeBSD/ports 93214fdgames/veloren-weekly distinfo Makefile

games/veloren-weekly: update to s20260115

Changes:        https://gitlab.com/veloren/veloren/-/compare/a95ccd4d76...5378d5cf29
(cherry picked from commit c723914f5a13087906cf2e4b799c8ba99e50cf81)
DeltaFile
+3-3games/veloren-weekly/distinfo
+2-2games/veloren-weekly/Makefile
+5-52 files

FreeBSD/ports bba7a6fx11/swayimg distinfo Makefile

x11/swayimg: update to 4.7

Changes:        https://github.com/artemsen/swayimg/releases/tag/v4.7
Reported by:    GitHub (watch releases)

(cherry picked from commit 441e1d248893c6e1101133db723aebdf3feccd83)
DeltaFile
+3-3x11/swayimg/distinfo
+1-1x11/swayimg/Makefile
+4-42 files

FreeBSD/ports bd885fdbenchmarks/vkpeak distinfo Makefile

benchmarks/vkpeak: update to 20260112

Changes:        https://github.com/nihui/vkpeak/releases/tag/20260112
Reported by:    GitHub (watch releases)

(cherry picked from commit 505132e9a6fa717393d706a4d2777acfceb31931)
DeltaFile
+7-7benchmarks/vkpeak/distinfo
+3-3benchmarks/vkpeak/Makefile
+10-102 files

FreeBSD/ports bd3bc6cdevel/busd distinfo Makefile.crates

devel/busd: update to 0.5.0

Changes:        https://github.com/dbus2/busd/releases/tag/0.5.0
Reported by:    GitHub (watch releases)

(cherry picked from commit 580a89fcbabc116909f3efe83be8226e9d70455f)
DeltaFile
+271-327devel/busd/distinfo
+134-162devel/busd/Makefile.crates
+6-2devel/busd/Makefile
+411-4913 files

FreeBSD/ports 505132ebenchmarks/vkpeak distinfo Makefile

benchmarks/vkpeak: update to 20260112

Changes:        https://github.com/nihui/vkpeak/releases/tag/20260112
Reported by:    GitHub (watch releases)
DeltaFile
+7-7benchmarks/vkpeak/distinfo
+3-3benchmarks/vkpeak/Makefile
+10-102 files

FreeBSD/ports 580a89fdevel/busd distinfo Makefile.crates

devel/busd: update to 0.5.0

Changes:        https://github.com/dbus2/busd/releases/tag/0.5.0
Reported by:    GitHub (watch releases)
DeltaFile
+271-327devel/busd/distinfo
+134-162devel/busd/Makefile.crates
+6-2devel/busd/Makefile
+411-4913 files

FreeBSD/ports 441e1d2x11/swayimg distinfo Makefile

x11/swayimg: update to 4.7

Changes:        https://github.com/artemsen/swayimg/releases/tag/v4.7
Reported by:    GitHub (watch releases)
DeltaFile
+3-3x11/swayimg/distinfo
+1-1x11/swayimg/Makefile
+4-42 files

FreeBSD/ports c723914games/veloren-weekly distinfo Makefile

games/veloren-weekly: update to s20260115

Changes:        https://gitlab.com/veloren/veloren/-/compare/a95ccd4d76...5378d5cf29
DeltaFile
+3-3games/veloren-weekly/distinfo
+2-2games/veloren-weekly/Makefile
+5-52 files

FreeBSD/ports e0b3815graphics/mesa-devel Makefile

graphics/mesa-devel: unbreak WITH_FORTIFY{,_PORTS} on FreeBSD >= 15

../src/gallium/auxiliary/vl/vl_csc.c:196:35: error: too many arguments provided to function-like macro invocation
  196 |             { 0.595254, 0.349314, 0.055432, 0.0 },
      |                                   ^
/usr/include/ssp/string.h:124:9: note: macro 'memcpy' defined here
  124 | #define memcpy(dst, src, len) __ssp_bos_check3(memcpy, dst, src, len)
      |         ^
../src/gallium/auxiliary/vl/vl_csc.c:195:10: note: parentheses are required around macro argument containing braced initializer list
  195 |          memcpy(matrix, &(vl_csc_matrix){
      |          ^
      |                         (
  196 |             { 0.595254, 0.349314, 0.055432, 0.0 },
  197 |             { 0.081244, 0.891503, 0.027253, 0.0 },
  198 |             { 0.015512, 0.081912, 0.902576, 0.0 },
  199 |          }, sizeof(vl_csc_matrix));
      |
      |           )
../src/gallium/auxiliary/vl/vl_csc.c:205:37: error: too many arguments provided to function-like macro invocation

    [82 lines not shown]
DeltaFile
+1-0graphics/mesa-devel/Makefile
+1-01 files

OPNSense/core a9df70dsrc/opnsense/mvc/tests/app/library/OPNsense/Core ConfigTest.php, src/opnsense/mvc/tests/app/library/OPNsense/Core/ConfigConfig/backup array.xml

tests: add a test for #9617
DeltaFile
+10-2src/opnsense/mvc/tests/app/library/OPNsense/Core/ConfigTest.php
+6-1src/opnsense/mvc/tests/app/library/OPNsense/Core/ConfigConfig/backup/array.xml
+16-32 files

FreeBSD/ports 6a3598emisc/codex distinfo Makefile

misc/codex: Update to 0.86.0

Changelog:
- https://github.com/openai/codex/releases/tag/rust-v0.85.0
- https://github.com/openai/codex/releases/tag/rust-v0.86.0

Reported by:    GitHub (watch releases)
DeltaFile
+3-3misc/codex/distinfo
+1-1misc/codex/Makefile
+4-42 files