net/liferea: Add a patch to downgrade the required glib-2.0 version
to make sure the port can be built from the FreeBSD ports branch 2026Q2.
The port already contains a patch to add compatibility code
for glib-2.0 versions before 2.86.0 since e8b5b5dee.
PR: 296020
[mlir][LLVM] Add the `byte` type to the LLVM dialect
This PR ports the newly added `byte` type from LLVM IR to mlir's LLVM dialect.
The simplest motivation for the byte type is being able to implement `memcpy` in LLVM IR. This was previously not possible: Due to rules around conversions between integers and pointers (which e.g. implicitly happen during loads), partial-poisons and pointer provenance were not preserved.
No alterantive types to integers existed that one could use to have poison and provenance preserving SSA-values. The byte type solves exactly this issue.
Frontends are encouraged to use it when needed for better optimization capabilities.
Currently, the only operation that has changed semantics around `byte` is `bitcast`. Is now allows casting between `byte` and `ptr` (unlike integers and pointers).
Corresponding LLVM commit: https://github.com/llvm/llvm-project/commit/80f2ef70f592
Assisted by Claude & Gemini
[X86] Remove shouldCastAtomicLoadInIR; use DAG combine instead (#199520)
Remove X86's shouldCastAtomicLoadInIR override that cast FP atomic loads
to integer at the IR level. Instead, handle this in a pre-legalize DAG
combine (combineAtomicLoad) that rewrites FP/FP-vector atomic loads to
integer atomic loads plus a bitcast.
This and #199310, which adds the necessary cmpxchg support for
non-integer atomic loads in AtomicExpand, are a response to
https://github.com/llvm/llvm-project/pull/148899 for `atomic_vec4_float`
of `atomic-load-store.ll`.
Stacked above #201303.
bge: read MAC from loader hint for boards without NVRAM/EEPROM
BCM57766 on Apple T2 Macs (Macmini8,1) has no dedicated EEPROM and the
chip firmware handshake fails (the T2 intercepts PCI config space),
leaving the SRAM mailbox unpopulated. All four existing MAC retrieval
paths (SRAM mailbox, NVRAM, EEPROM, firmware stub) fail, causing bge to
abort attach with "failed to read station address".
Work around this with two changes:
1. Tolerate EEPROM read failure on BCM57766. The chip is copper-only
so hwcfg=0 is correct; skip the fatal error that aborts attach
before bge_get_eaddr() is ever called.
2. Implement bge_get_eaddr_fw() to read a "hint.bge.N.mac" string
(e.g. "f0:18:98:f4:1e:2f") from loader(8) tunable / kenv.
This is a workaround until the T2 BCE API is understood well enough to
either poke the chip firmware into completing its handshake or read the
[4 lines not shown]
asmc: fix asmc_key_dump() page fault on T2 MMIO backend
asmc_key_dump() used I/O port macros (ASMC_DATAPORT_WRITE/READ,
asmc_command()) unconditionally. On T2 Macs, sc_ioport is NULL
(MMIO backend is used instead), causing a page fault when
ASMC_DEBUG triggers asmc_dumpall() during attach.
Add an MMIO guard at the top of asmc_key_dump(): delegate to
asmc_key_dump_by_index() + asmc_key_read() for MMIO devices,
consistent with the rest of the T2 code paths.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D56748
apple_bce/vhci: add T2 virtual USB host controller
Implements a VHCI driver on top of the BCE transport:
- Virtual USB bus registration via usb_controller
- Port discovery and device enumeration
- Control, interrupt, and bulk endpoint support
- Firmware event handling with taskqueue
- Suspend/resume via BCE mailbox
Provides keyboard, trackpad, and Touch Bar access on T2 Macs.
Tested-on: MacBookPro16,2 (A2251), Mac mini 8,1 (A1993)
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D57089
apple_bce: add Apple T2 Buffer Copy Engine driver
DMA ring transport between the host and the T2 coprocessor.
Provides mailbox handshake, queue setup, and firmware keepalive
for higher-level T2 services (VHCI, audio, etc.).
Tested-on: MacBookPro16,2 (A2251), Mac mini 8,1 (A1993)
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D57088
cad/freecad: attempt to fix build on CURRENT
hard cast to make call to abs unambiguous
Error was:
/wrkdirs/usr/ports/cad/freecad/work/FreeCAD-1.1.1/src/Mod/TechDraw/Gui/CommandCreateDims.cpp:1106:52: error: call to 'abs' is ambiguous
1106 | int alpha = std::round(Base::toDegrees(std::abs<float>(std::atan(type == "DistanceY" ? (dx / dy) : (dy / dx)))));
[LV] Use ResumeForEpilogue for header phi resume in epilogue plan (NFC) (#203786)
Pass the ResumeForEpilogue VPInstructions created by
preparePlanForMainVectorLoop into preparePlanForEpilogueVectorLoop and
get the resume IR from ResumeForEpilogue::getUnderlyingValue()
www/freenginx-devel: third-party modules management (+)
Update third-party modules to their recent snapshots:
- keyval
- lua
- mod_zip (moves back to its original author's repo)
Bump PORTREVISION.
Sponsored by: tipi.work
Convert FTP plugin to typesafe pattern
## Context
The `ftp` plugin was still dict-based: a `SystemServiceService` with a string `datastore_extend`, a `do_update` returning a plain dict, and consumers/mako templates reading config via `cfg['key']`. This moves it to the typesafe pattern (lean service class delegating to a `SystemServicePart`, `generic = True`, typed `config()`/`do_update`, `check_annotations=True`, `call2`), matching the converted `ups` plugin.
## Solution
- **New `plugins/ftp/` package** replacing `plugins/ftp.py` and `plugins/ftp_/`: `__init__.py` holds the lean `FTPService` (registered in `main.py`'s `ServiceContainer`), `config.py` holds `FTPModel` + `FTPServicePart` (extend/validate/do_update), and the port/cert attachment delegates plus the `connection_count` helper move in alongside. The old compound `ftp_/status.py` service is folded into `connection_count` as a `@private` method.
- **API models** (`api/v27_0_0/` only): split the legacy `@single_argument_args('ftp_update')` form into the standard `FTPUpdate` / `FTPUpdateArgs(data=...)` / `FTPUpdateResult` shape; the wire API is unchanged.
- **Consumers fixed for the dict→model change:** `usage.py` switches to `call2` + attribute access, and the three proftpd mako templates (plus a dead line in `ftpusers.mako`) move from `ftp['x']` to `ftp.x` now that `ftp.config` returns an `FTPEntry`.
- **`ServicePortDelegate.config()`** now normalizes a Pydantic config to a dict (`isinstance` / `model_dump`), the same dispatch the certificate delegate already does. Without this, the FTP port delegate hit `'FTPEntry' object has no attribute 'get'` whenever `port.validate_port` ran (e.g. on `ftp.update`).
- Added type annotations to `resolve_hostname`/`validate_port` in `async_validators.py` so the typed FTP part can call them, and added `plugins/ftp/` to the mypy workflow.
Convert hardware plugin to the typesafe pattern
## Context
The hardware plugin is a directory of four mostly-private legacy services (mseries.bios, mseries.nvdimm, hardware.memory, plus hardware.virtualization). Only hardware.virtualization.variant is public over the wire; the rest return plain dicts/bools consumed internally by alert sources and usage reporting, so Pydantic models would be pure overhead.
## Solution
Applied the port-plugin pattern: lean Service shims in __init__.py that delegate to plain, fully type-annotated module functions, keeping the existing dict/primitive return shapes so no consumer changes are needed. The one public method gets check_annotations=True against the existing HardwareVirtualizationVariant models. Registered the services in main.py's ServiceContainer via nested hardware/mseries containers and added the plugin to mypy.yml.
[LV] Drop the mask of a predicated store masked by the header mask. (#201676)
Drop the mask of a predicated store masked by the header mask (which is
guaranteed to be true at least for the first lane) and both the stored
value and the address are uniform across VF and UF.
An similar version for loads was included in
https://github.com/llvm/llvm-project/pull/196630, but restricted the
uniform-across-vfs-and-ufs did not have impact in practice.
For stores, this results in some improvements after
https://github.com/llvm/llvm-project/pull/196632.
PR: https://github.com/llvm/llvm-project/pull/201676
Update to john-jumbo to bleeding-jumbo as of 20260613
Move from the 1.8.0-jumbo-1 release to the bleeding-jumbo development
branch, which tracks ongoing jumbo development past 1.9.0-jumbo-1
(May 2019) -- ~4.5 years and 6000+ jumbo commits beyond 1.8.0-jumbo-1.
Notable changes since 1.8.0-jumbo-1:
- New 1.9.0 core base; bcrypt interleaving on x86-64 raised 2x -> 3x
for a major speedup on CPUs without SMT
- Extended bitslice DES with more SIMD sets: AVX2, AVX-512 (incl.
2nd-gen Xeon Phi) and MIC (1st-gen Xeon Phi) on x86(-64); ASIMD
on Aarch64
- AVX-512 ternary-logic (3-input LUT) DES S-box expressions, also
used via OpenCL on NVIDIA Maxwell and above
- FPGA support for 7 hash types on ZTEX 1.15y boards
- Many new format/hash types, OpenCL improvements, bugfixes and
portability updates
Full release notes at https://www.openwall.com/lists/announce/2019/05/14/1