dpaa2: Apply if_flags and MAC filters in dpaa2_ni_init()
dpaa2_ni_init() only enabled the DPNI object; it never pushed the
promiscuous/allmulti state or the multicast filter table to the MC
firmware. The SIOCSIFFLAGS handler ignores flag changes that arrive
while the interface is down, yet still latches them into sc->if_flags,
so a promiscuous mode request made before the first up was silently
lost and could never be applied afterwards: the up path runs
dpaa2_ni_init(), which did not read the flags, and every later
SIOCSIFFLAGS compares against the already-latched value and sees no
change.
This is exactly what happens when if_bridge adds a dpni member while
the dpni is still down, e.g. rc.conf's
create_args_bridge0="... addm dpni0"
running at bridge clone time, before ifconfig_dpni0="up" is processed.
bridge_ioctl_add() puts the member into promiscuous mode at addm time;
[18 lines not shown]
[libc] Omit -fpie from the full build (#208343)
We shouldn't unconditionally set -fpie, users should be able to control
this with CMAKE_POSITION_INDEPENDENT_CODE.
japanese/fcitx5-hazkey: Unbreak build with clang 21
The same workaroundas for lang/swift6, defining
_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_ in c++ compiler flags, works.
PR: 296798
Reported by: Tomoaki AOKI <junchoon at dec.sakura.ne.jp>
Tested by: Tomoaki AOKI <junchoon at dec.sakura.ne.jp>
Add a new m68k port oriented towards home-brew m68k machines. Flattened
Device Tree is used to make it simple to integrate support for new systems
with minimal added glue code.
The first supported system is the thorpej-designed Phaethon 1, a 68010-based
system with a custom MMU, 8MB of on-board RAM, 2 16650-type serial ports,
a PCF8584 I2C controller, DS3231/3232 real-time clock, ATA disk interface,
I/O controller with system timer and interrupt controller, and a "not quite
VME" expansion bus for memory and peripheral expansion.
I'm working with other 68k-home-brewers to get support for their systems
integrated. So, more to come.
[libc][math] Implement half precision lgamma function (#192834)
The implementation uses three distinct paths based on $|x|$:
- Small ($|x| < 0.66$): Fits a degree-12 Chebyshev for $h(t) =
\frac{\text{lgamma}(t) + \log(t)}{t}$, recovering $\text{lgamma}(t) = t
\cdot h - \log(t)$.
- Medium ($|x| \in [0.66, 3.37]$): Fits a degree-20 Chebyshev for $g(t)
= \frac{\text{lgamma}(t)}{(t-1)(t-2)}$
- Stirling ($|x| > 3.37$): Uses $(x-0.5) \cdot \log(x) - x +
\frac{\log(2\pi)}{2}$ plus 1/2/4/8-term Bernoulli corrections by
sub-range.
Special cases: NaN, +/-Inf -> +Inf, +/-0 pole, negative integer pole,
lgamma(1) = lgamma(2) = 0 exactly, overflow for large positive x.
Exhaustive tests pass in all 4 rounding modes.
[6 lines not shown]
Reduce some diffs between Sun2 and Sun3:
- Add a <machine/promlib.h> wrapper for Sun3 that provides the same interface
to the Sun monitor functions as Sun2 (which uses naming aligned with the
SPARC port).
- Chage Sun3 pmap to use new naming.
- Adapt sun68k_trap.c, reming some #ifdefs.
kitty: update to 0.48.0
- Implement vertical tabs by setting tab_bar_edge to left or right
- Graphics protocol: Add a new transient usage hint that clients can
send to terminals to indicate an image is meant for only short
duration use
- On first press in an unfocused OS Window/kitty window give it focus
and pass the mouse event through to the clicked element.
- kitten @ get-text: Add support for alternate and
alternate_scrollback extents to fetch text from the alternate
screen buffer
- Wayland: Fix first OS window being a few cells too small when
initial_window_width/initial_window_height are set in cells and a
fractional display scale is in use
- macOS: New option macos_ns_window_layer to more precisely control
what layer panel OS windows are placed on
- macOS: New option macos_use_physical_screen_frame to allow panel OS
Windows to cover the macOS global dock bar
- kitty binary builds are now built on Ubuntu 22 upgraded from Ubuntu
[40 lines not shown]
vm_phys: Add a sysctl to dump registered fictitious memory ranges
I've wanted this a couple of times in the past. Save the memattr in
the fictitious memory segment structure so that we can report it from
the sysctl handler, and add conversion routines for each platform.
Reviewed by: kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D58283
www/code-server: Update to 4.129.0
Update to code-server 4.129.0, which bundles VS Code 1.129.0.
VS Code 1.129 changed how the built-in GitHub Copilot extension is
handled: it is now built from source during the reh-web build instead
of being fetched as a prebuilt VSIX. This requires a few build-time
workarounds:
- The copilot extension postinstall expects a platform package for the
host. A Copilot CLI SDK distfile is provided and placed as
@github/copilot-freebsd-x64 so the postinstall passes. GitHub Copilot
is closed-source and not usable on FreeBSD; this only lets the build
complete.
- The reh-web build calls ensureCopilotPlatformPackage(), which runs
"npm pack" and thus needs network access (unavailable in poudriere).
Providing @github/copilot-linux-x64 in remote/node_modules makes the
function find it locally and skip the network fetch.
- Copilot bundles prebuilt Linux rg/tgrep binaries. These are replaced
[15 lines not shown]
[Github] Install `llvm-tools` in libc container (#210414)
Currently, the libc container doesn't contain `llvm-tools`. we need to
use them in #200196 because we are not able to use `llvm-lit` without
building clang from source