FreeBSD/src fabdac3 — usr.sbin/bhyve/riscv fdt.c

bhyve/riscv: fix PCIe FDT interrupt-map entry stride

In bhyve arm64, each PCIe interrupt-map entry spans 10 cells because the
ARM GIC specifies #interrupt-cells = 3. On RISC-V, the APLIC uses
#interrupt-cells = 2, so each entry spans only 9 cells.

When the PCIe FDT code was originally adapted from arm64, the property
allocation size and cell assignments were reduced to 9 cells per entry,
but the loop multiplier retained the 10-cell stride. This caused the
interrupt-map array to be packed incorrectly with gaps, breaking PCI
interrupt routing in guest operating systems and overflowing the
allocation by 16 cells.

Correct the loop stride to 9 cells so the interrupt map is properly
formed.

Reviewed by:    jrtc27
Fixes:          7ab1a32cd43c ("bhyve/riscv: Initial import")
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D61473
DeltaFile
+9-9usr.sbin/bhyve/riscv/fdt.c
+9-91 files

LLVM/project 110d991 — llvm/docs ReleaseNotes.md, llvm/lib/IR Verifier.cpp

[IR] Verify that wchar_size module flag is positive (#241150)

A zero `wchar_t` size is meaningless and would cause problems when
adding certain wide character functions to RuntimeLibcalls. For example,
it would be impossible to declare `wmemset` because its signature
depends on the size of `wchar_t`.

Also remove the now-redundant zero check from optimizeWcslen().

Assisted-by: Claude
DeltaFile
+24-0llvm/test/Verifier/module-flags-wchar-size.ll
+0-3llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+2-1llvm/lib/IR/Verifier.cpp
+3-0llvm/docs/ReleaseNotes.md
+29-44 files

GhostBSD/ghostbsd ce68bac — sys/amd64/conf TEST, sys/conf package-version

bump version
DeltaFile
+10-0sys/amd64/conf/TEST
+1-1sys/conf/package-version
+11-12 files

LLVM/project a568661 — llvm/lib/Target/Sparc SparcISelLowering.cpp LeonFeatures.td, llvm/test/CodeGen/SPARC LeonFixAllFDIVSQRTPassUT.ll

[SPARC] Remove the UT699 errata workarounds (#237953)

They do not cover all necessary workarounds and are not documented
and unlikely to be used. UT699 has been succeeded by UT699E/UT700,
so even if adding the missing workarounds they are unlikely to be used.
The workaround for AT697F could be made more efficient, but it looks
correct. Fold the pass into the errata workaround pass.

Assisted-by: Claude
DeltaFile
+24-178llvm/lib/Target/Sparc/LeonPasses.cpp
+0-59llvm/test/CodeGen/SPARC/LeonFixAllFDIVSQRTPassUT.ll
+0-57llvm/lib/Target/Sparc/LeonPasses.h
+0-21llvm/lib/Target/Sparc/Sparc.h
+1-16llvm/lib/Target/Sparc/LeonFeatures.td
+0-12llvm/lib/Target/Sparc/SparcISelLowering.cpp
+25-3439 files not shown
+28-37915 files

LLVM/project d040bf6 — llvm/test/LTO empty-triple.ll, llvm/test/Other trigger-crash-flags.ll print-on-crash.ll

[llvm][test] Require default_triple in tests without a target triple (NFC) (#241914)

These tests run llc or llvm-lto on IR without a target triple. If the
native target is not built, the default triple is empty and they fail
with "unable to get target for ''".

Co-Authored-By: Claude Opus 5.5

---------

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-1llvm/test/tools/llc/save-stats.ll
+1-1llvm/test/Other/trigger-crash-flags.ll
+2-0llvm/test/Other/print-on-crash.ll
+2-0llvm/test/LTO/empty-triple.ll
+6-24 files

GhostBSD/ghostbsd 4e5169e — crypto/openssh libcrux_mlkem768_sha3.h ChangeLog, crypto/openssl/test/recipes/10-test_bn_data bngcd.txt

Merge remote-tracking branch 'freebsd/releng/15.2' into releng/15.2

# Conflicts:
#       .cirrus.yml
#       .gitignore
#       contrib/bc/.gitignore
#       release/pkg_repos/release-dvd.conf
DeltaFile
+27,332-0crypto/openssh/libcrux_internal.h
+0-23,927crypto/openssl/test/recipes/30-test_evp_data/evpciph_aes_ccm_cavs.txt
+0-17,330crypto/openssl/test/recipes/10-test_bn_data/bngcd.txt
+10,087-5,594crypto/openssh/ChangeLog
+0-12,338crypto/openssh/libcrux_mlkem768_sha3.h
+0-11,686crypto/openssl/test/recipes/30-test_evp_data/evppkey_kas.txt
+37,419-70,8754,817 files not shown
+300,070-287,7924,823 files

LLVM/project 57655c3 — llvm/lib/Target/VE VEInstrInfo.td

[VE] Define the whole register when extending i32 to i64. NFC.

sext, zext and sext_inreg from i32 to i64 were selected to adds.w.sx or
adds.w.zx with an i32 result, followed by INSERT_SUBREG into an
IMPLICIT_DEF, which claims that the high 32 bits are undefined. These
instructions sign or zero extend the result into the whole 64-bit
register, so add codegen-only variants with i64 results and the same
encodings, and use them instead.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+12-3llvm/lib/Target/VE/VEInstrInfo.td
+12-31 files

LLVM/project 71feac7 — mlir/include/mlir/Dialect/Tosa/IR TosaTypesBase.td, mlir/test/Dialect/Tosa tosa-arith-const-to-tosa-const.mlir invalid_extension.mlir

[mlir][tosa] Use `mxi8` builtin type for EXT-MX-INT8 operations (#241850)

Replace the custom `!tosa.mxint8` type with the new builtin `mxi8` type.
Deprecate `!tosa.mxint8` and keep periodically for compatibility with
existing IR.
DeltaFile
+99-45mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
+67-22mlir/test/Dialect/Tosa/ops.mlir
+33-11mlir/test/Dialect/Tosa/verifier.mlir
+9-5mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
+11-3mlir/test/Dialect/Tosa/invalid_extension.mlir
+10-1mlir/test/Dialect/Tosa/tosa-arith-const-to-tosa-const.mlir
+229-877 files not shown
+254-10213 files

LLVM/project f4d0ad8 — llvm/lib/Target/VE VEInstrIntrinsicVL.td

[VE] Use the 64-bit ldl.zx for the pack_f32p and pack_f32a intrinsics. NFC.

The patterns for these intrinsics rely on ldl.zx clearing the high 32
bits of the register, but used INSERT_SUBREG into an IMPLICIT_DEF of its
i32 result, which claims that the high 32 bits are undefined. Use the
variant of ldl.zx that defines the whole 64-bit register instead.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2-2llvm/lib/Target/VE/VEInstrIntrinsicVL.td
+2-21 files

LLVM/project 65b40f3 — llvm/lib/Target/VE VEInstrInfo.td

[VE] Use the 64-bit extending loads for extended atomic loads. NFC.

The patterns for sign and zero extended atomic loads to i64 used
INSERT_SUBREG into an IMPLICIT_DEF of the i32 result of the load, which
claims that the high 32 bits are undefined. Use the variants of the
loads that define the whole 64-bit register instead.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+28-25llvm/lib/Target/VE/VEInstrInfo.td
+28-251 files

HardenedBSD/src f32ed23 — sys/arm/allwinner aw_sid.c, sys/arm/allwinner/h616 h616_padconf.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+36-1sys/dev/clk/allwinner/ccu_h616.c
+17-17sys/arm/allwinner/h616/h616_padconf.c
+33-1sys/dev/clk/allwinner/ccu_d1.c
+16-8tests/sys/kern/module_test.c
+14-5sys/kern/vfs_aio.c
+18-0sys/arm/allwinner/aw_sid.c
+134-3210 files not shown
+162-4616 files

OpenBSD/ports IFkOJew — x11/gnome/gdm Makefile, x11/gnome/gdm/pkg gdm.rc

   It seems that rc_post() is not needed anymore.
VersionDeltaFile
1.57+0-4x11/gnome/gdm/pkg/gdm.rc
1.364+1-1x11/gnome/gdm/Makefile
+1-52 files

HardenedBSD/src c7d614b — sys/amd64/vmm x86.h x86.c, sys/netlink netlink_sysevent.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+11-0sys/amd64/vmm/x86.c
+3-1sys/netlink/netlink_sysevent.c
+1-0sys/amd64/vmm/x86.h
+15-13 files

LLVM/project d3fae3d — llvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/test/CodeGen/AArch64 bitextract-vector.ll bitinsert-vector.ll

[GlobalISel] Lower vector `bitinsert` and `bitextract` (#240587)

Lower vector `bitinsert` and `bitextract` in GlobalISel.
DeltaFile
+111-50llvm/test/CodeGen/AArch64/bitinsert-vector.ll
+19-9llvm/test/CodeGen/AArch64/bitextract-vector.ll
+13-12llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+143-713 files

LLVM/project 2d2322c — llvm/test/CodeGen/AArch64 bitinsert-vector.ll, llvm/test/CodeGen/AMDGPU bitextract-vector.ll bitinsert-vector.ll

[SelectionDAG] Lower vector `bitinsert` and `bitextract` (#240586)

Lower vector `bitinsert` and `bitextract` in SelectionDAG.

The scalar lowering already works for vectors. Only the width asserts
change, to compare element sizes.

Adds tests for X86, AArch64 (NEON and SVE), RISC-V (fixed and scalable)
and AMDGPU.
DeltaFile
+744-0llvm/test/CodeGen/AMDGPU/bitinsert-vector.ll
+549-0llvm/test/CodeGen/X86/bitinsert-vector.ll
+235-0llvm/test/CodeGen/X86/bitextract-vector.ll
+188-0llvm/test/CodeGen/AMDGPU/bitextract-vector.ll
+173-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitinsert.ll
+85-0llvm/test/CodeGen/AArch64/bitinsert-vector.ll
+1,974-07 files not shown
+2,167-213 files

LLVM/project cfcb2a7 — llvm/test/tools/llubi bitinsert_bitextract_le.ll bitinsert_bitextract_be.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Add support for vector `bitinsert` and `bitextract` (#240201)

Add support for vector `bitinsert` and `bitextract`.
DeltaFile
+26-22llvm/tools/llubi/lib/Interpreter.cpp
+32-0llvm/test/tools/llubi/bitinsert_bitextract_le.ll
+32-0llvm/test/tools/llubi/bitinsert_bitextract_be.ll
+90-223 files

LLVM/project 80b4ac2 — llvm/test/Transforms/InstCombine bitinsert-bitextract.ll, llvm/test/Transforms/InstSimplify bitinsert-bitextract.ll

[InstSimplify][InstCombine] Add vector tests for `bitinsert` and `bitextract` (NFC) (#240197)

Add vector tests for the `bitinsert` and `bitextract` folds that already
work on scalar types.

Vectors were not implemented when the following landed, so none of them
had vector tests:

- ConstantFolding's `poison` early exits (#229115).
- InstSimplify's out-of-range splat offsets, full-width forms, and
`bitextract`/`bitinsert` round trips (#229125).
- InstCombine's full-width `bitcast` folds (#229147).

It also adds negative tests where only some elements of the offset are
out of range or `poison`. Those elements become `poison`.
DeltaFile
+140-0llvm/test/Transforms/InstSimplify/bitinsert-bitextract.ll
+93-0llvm/test/Transforms/InstCombine/bitinsert-bitextract.ll
+16-0llvm/test/Transforms/InstSimplify/ConstProp/bitinsert-bitextract.ll
+249-03 files

LLVM/project ff4270b — llvm/docs LangRef.md, llvm/lib/IR Instructions.cpp

[IR] Allow vectors in `bitinsert` and `bitextract` (#240182)

Allow vector operands in `bitinsert` and `bitextract`.

These follow an element-wise semantics, like `shl` or `trunc`:

- Each result element reads or writes the corresponding source element,
at the corresponding offset.
- The offset is a vector of `i32`, with the same number of elements as
the other operands.
- Scalars and vectors can't be mixed, and the width checks apply to the
elements.
- An out-of-range offset only makes its own element `poison`.
- Scalable vectors are allowed.

```llvm
%a = bitextract <2 x i8>, <2 x b32> %src, <2 x i32> <i32 0, i32 24>
%b = bitinsert <2 x b32> %x, <2 x i8> %y, <2 x i32> splat (i32 8)
```

    [8 lines not shown]
DeltaFile
+120-13llvm/test/Assembler/bitinsert-bitextract-invalid.ll
+89-0llvm/test/Assembler/bitinsert-bitextract.ll
+29-20llvm/docs/LangRef.md
+27-14llvm/lib/IR/Instructions.cpp
+31-0llvm/test/Transforms/InstSimplify/ConstProp/bitinsert-bitextract.ll
+15-0llvm/test/Verifier/bitextract-bitinsert-invalid-verifier.ll
+311-476 files not shown
+348-5412 files

FreeBSD/ports 5f37287 — x11-themes/qt5-style-plugins pkg-plist Makefile

x11-themes/qt5-style-plugins: Clean up

 - Drop dependency on unsupported GTK2
 - Drop unused dependencies
 - Amend COMMENT
DeltaFile
+9-10x11-themes/qt5-style-plugins/Makefile
+0-6x11-themes/qt5-style-plugins/pkg-plist
+9-162 files

HardenedBSD/ports 5f37287 — x11-themes/qt5-style-plugins pkg-plist Makefile

x11-themes/qt5-style-plugins: Clean up

 - Drop dependency on unsupported GTK2
 - Drop unused dependencies
 - Amend COMMENT
DeltaFile
+9-10x11-themes/qt5-style-plugins/Makefile
+0-6x11-themes/qt5-style-plugins/pkg-plist
+9-162 files

LLVM/project cfb97d7 — llvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp AMDGPUAsmPrinter.cpp, llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp

[AMDGPU][NFC] Explicitly narrow conversions in asm printing and MIR formatting (#215195)

This fixes 32 instances of MSVC warning C4244 and 1 of C4267 ("possible loss of data") across 6 files in llvm/lib/Target/AMDGPU.

Assisted-by: Claude <noreply at anthropic.com>
DeltaFile
+16-14llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
+5-5llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
+5-5llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
+6-4llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+4-4llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+5-3llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+41-359 files not shown
+55-4815 files

LLVM/project aea4176 — mlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/lib/Conversion/GPUToNVVM LowerGpuOpsToNVVMOps.cpp

[mlir][GPUToNVVM] Lower cluster-scoped gpu.barrier to cluster barrier ops (#238732)

Lower gpu.barrier with scope <cluster> to nvvm.cluster.arrive (or
nvvm.cluster.arrive.relaxed when memfence [] is specified) followed by
nvvm.cluster.wait, both with the aligned attribute set. Also add the
missing NVVMRequiresSM<90> trait to NVVM_ClusterArriveOp to match
NVVM_ClusterArriveRelaxedOp and NVVM_ClusterWaitOp.

Assisted-by: Gemini
DeltaFile
+41-0mlir/test/Dialect/LLVMIR/nvvm_check_target_sm.mlir
+14-0mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
+10-3mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
+1-1mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+66-44 files

FreeNAS/freenas dec91fc — src/middlewared/middlewared/api/v28_0_0 webui_dataset.py, src/middlewared/middlewared/plugins/pool_ dataset_details.py

NAS-145038 / 28.0.0-BETA.1 / Add webui.dataset.details and move pool.dataset.details onto zfs.resource (#20102)

## Context
This adds the machinery the WebUI needs to move off
`pool.dataset.details` without breaking today's contract.
`pool.dataset.details` keeps returning exactly what it returns now, so
the current UI keeps working unchanged, and the new
`webui.dataset.details` is there for the Datasets page to switch to when
it's ready.

- **pool.dataset.details** now gets its data from zfs.resource instead
of the legacy query engine, as part of retiring the pool.dataset
namespace. Its output is unchanged.
- **webui.dataset.details** lives in the webui namespace rather than
zfs.resource. It exists to give the Datasets page everything it shows in
one cheap call: every dataset, plus the shares, VMs, containers, apps
and data protection tasks that use it. That is a join across most of the
plugins that consume storage, and zfs.resource shouldn't depend on its
own consumers.

    [7 lines not shown]
DeltaFile
+261-0src/middlewared/middlewared/plugins/webui/dataset_details.py
+245-0src/middlewared/middlewared/plugins/webui/dataset_consumers.py
+181-0src/middlewared/middlewared/api/v28_0_0/webui_dataset.py
+73-52src/middlewared/middlewared/plugins/pool_/dataset_details.py
+40-0src/middlewared/middlewared/plugins/webui/dataset.py
+26-0tests/api2/test_account_privilege_role.py
+826-522 files not shown
+830-528 files

LLVM/project c60cbc2 — llvm/lib/Target/VE VEInstrInfo.td

[VE] Define the whole register in 8 and 16-bit extending loads to i64. NFC.

As for ldl.sx and ldl.zx, the ld1b and ld2b loads sign or zero extend
into the whole 64-bit register. Add codegen-only variants with i64
results and use them for extending loads to i64, instead of
INSERT_SUBREG into an IMPLICIT_DEF of the i32 result, which claims that
the high 32 bits are undefined.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+14-20llvm/lib/Target/VE/VEInstrInfo.td
+14-201 files

LLVM/project d872532 — llvm/lib/Target/VE VEISelLowering.cpp VEInstrInfo.td

[VE] Define the whole register in 32-bit extending loads to i64. NFC.

ldl.sx and ldl.zx sign or zero extend the loaded value into the whole
64-bit register, but they were only defined with i32 results. Extending
loads to i64 then used INSERT_SUBREG into an IMPLICIT_DEF, which claims
that the high 32 bits are undefined, and the SjLj dispatch block used
SUBREG_TO_REG.

Add codegen-only variants of ldl.sx and ldl.zx with i64 results and the
same encodings, and use them for both.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+15-3llvm/lib/Target/VE/VEInstrInfo.td
+4-12llvm/lib/Target/VE/VEISelLowering.cpp
+19-152 files

LLVM/project 80bdc0d — llvm/lib/Target/WebAssembly WebAssemblyISelLowering.cpp, llvm/test/CodeGen/WebAssembly simd-vector-trunc.ll wide-simd-mul.ll

[WebAssembly] Lower wide vector extend (#238384)

For v16i8 -> v16i32 we already use a tree of extend_low / _high to
extend vectors that are larger than legal, so increase the support for
v8i8, v8i16 and v16i16.
DeltaFile
+220-91llvm/test/CodeGen/WebAssembly/wide-simd-arith.ll
+76-79llvm/test/CodeGen/WebAssembly/wide-simd-mul.ll
+62-30llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
+19-0llvm/test/CodeGen/WebAssembly/simd-vector-trunc.ll
+377-2004 files

HardenedBSD/src 39b97c1 — sys/net if_geneve.c

if_geneve: Ignore reserved bits on receive

RFC 8926 section 3.4 requires the reserved fields of geneve header
to be ignored on receipt.

While here, remove the needless htons() from the version check, as
geneve_ver is a 2-bit bitfield with no byte order.

Fixes:  e44d2e941e8e ("if_geneve: Add Support for Geneve (RFC8926)")
DeltaFile
+1-3sys/net/if_geneve.c
+1-31 files

FreeBSD/src 39b97c1 — sys/net if_geneve.c

if_geneve: Ignore reserved bits on receive

RFC 8926 section 3.4 requires the reserved fields of geneve header
to be ignored on receipt.

While here, remove the needless htons() from the version check, as
geneve_ver is a 2-bit bitfield with no byte order.

Fixes:  e44d2e941e8e ("if_geneve: Add Support for Geneve (RFC8926)")
DeltaFile
+1-3sys/net/if_geneve.c
+1-31 files

HardenedBSD/src 7ba9c38 — sys/net if_geneve.c

if_geneve: Do not byte-swap the option length

geneve_optlen is a 6-bit bitfield within a single byte, so it has no
byte order.  Applying ntohs() to it on little-endian machines turned
an option length of 1 into 256, causing every received packet carrying
options to dropped.

PR:             300453
Reviewed by:    pouria
Fixes:  e44d2e941e8e ("if_geneve: Add Support for Geneve (RFC8926)")
DeltaFile
+1-1sys/net/if_geneve.c
+1-11 files

FreeBSD/src 7ba9c38 — sys/net if_geneve.c

if_geneve: Do not byte-swap the option length

geneve_optlen is a 6-bit bitfield within a single byte, so it has no
byte order.  Applying ntohs() to it on little-endian machines turned
an option length of 1 into 256, causing every received packet carrying
options to dropped.

PR:             300453
Reviewed by:    pouria
Fixes:  e44d2e941e8e ("if_geneve: Add Support for Geneve (RFC8926)")
DeltaFile
+1-1sys/net/if_geneve.c
+1-11 files