x11/bhotkeys: New port
Grab-proof X11 hotkey listener. Plugins are separate ports.
The package ships the listener, the recovery panel, session
start, and the greeter helper.
Approved by: jrm (mentor)
Reviewed by: jrm (mentor)
Differential Revision: https://reviews.freebsd.org/D60456
netgraph/ng_ksocket: Enter epoch on NG_SEND_DATA_ONLY
The work queued by ng_send_fn() is intentionally processed
outside of the epoch in ngthread().
It is ng_ksocket's responsibility to enter epoch if it decides
to send data from such work.
Reviewed by: glebius
Fixes: 104827151e2a ("ng_iface: don't recursively enter epoch ...")
Differential Revision: https://reviews.freebsd.org/D60589
www/{nginx,nginx-devel,freenginx}: 3rd-party modules management
Announce the removal of the HTTP_UPSTREAM_FAIR option after 2026-12-31.
nginx can balance by least connections itself.
Sponsored by: Netzkommune GmbH
virtual_oss(8): Fix cuse.ko check
There is no need at all to load the cuse module to just access the tool help.
kldload always checks for permissions first returning -EPERM if the user can't
load modules and -EEXIST if the user can, but the module is already loaded.
Approved by: christos@
Differential Revision: https://reviews.freebsd.org/D59844
MFC after: 2 weeks
(cherry picked from commit 5aac18d0faec96c768baf1a9de63a50de3796023)
LinuxKPI: introduce LINUXKPI_DEBUG to enable LinuxKPI debugging
This allows us to build kernels which will (if the sysctl is enabled
too) show pr_debug() and pr_devel() output.
Enable it by default for debug kernels.
This option can later also be used for other LinuxKPI parts, like
skbuffs, netdevice, rcu, ... to conditionally compile in debugging
support to further justify its existence beyond an in-code #define.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: dumbbell, emaste
Differential Revision: https://reviews.freebsd.org/D54060
LinuxKPI: use LINUXKPI_DEBUG to determine on witness lock tracing
LinuxKPI by default tells witness to ignore the locks, which is
unhelpful in case of panics like 'panic: sleeping thread holds lnxspin'.
While I have edited the lock initialitzation manually in the past,
make this dependent on both LINUXKPI_DEBUG and WITNESS.
Define an internal _LKPI_MTX_NOWITNESS (and equivalent for other lock
types used) and set them accordingly in kconfig.h, a file automatically
included to all LinuxKPI compiled code (like global.h). (*)
In addition, in the debug case, also define WITNESS_ALL to get file,
line, and lock name as a lock name rather than just, e.g., lnxspin.
(*) We will need another follow-up as -include ordering is currently
wrong for LinuxKPI modules. See D60207.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: dumbbell
Differential Revision: https://reviews.freebsd.org/D59231
LinuxKPI: re-implement pm_runtime.h
The original implementation was based on OpenBSD under public domain
but just defined the functions to void.
FreeBSD later extended the file with more inline functions or dealing
with differences in Linux versions.
This rework tries to group some functions, adds properly typed arguments
and return values in some cases.
It further adjusts return values based on the !CONFIG_PM expectations.
Lastly pr_debug() calls are added so we could see if/how much these
functions are used in new/other works rather than code just compiling
but the functions entirely being ignored without the knowledge of the
person porting code.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: dumbbell
Differential Revision: https://reviews.freebsd.org/D58169
LinuxKPI; factor out parts of device.h into device/devres.h
In [1] it was pointed out that devm_kmemdup_* have moved apparently
in Linux 7.0 into their own device/devres.h header file from device.h.
Move them and other parts (some being dependencies) along.
device/devres.h gets included from device.h so all that changes is
prototype, macro, and inline function ordering.
This should prepare us in case drivers start directly including
the sub-header. It also helps to keep device.h more reasable.
Suggested by: dumbbell (in D56396) [1]
MFC after: 3 days
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D60213
lindebugfs: implement debugfs_create_devm_seqfile()
Implement debugfs_create_devm_seqfile() keyed by device and a
read function.
This was implemented months ago in order to support debugfs with mt76
but hasn't been exercised since.
The code does not really seem to belong in lindebugfs, but also does
not really fit into debugfs.h (rather fs.h?); leave it here with a
comment for now as neither dumbbell nor I could come up with a better
place.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: dumbbell
Differential Revision: https://reviews.freebsd.org/D57524
ng_ubt: ignore further MediaTek USB BT devices
Following 8b21c469dbd6 add more entries for various MT BT USB VPI
combinations given we currently do not support any of them.
Suggested by: thierry (while testing MT7920 wireless)
MFC after: 3 days
Reviewed by: emaste, imp
Differential Revision: https://reviews.freebsd.org/D60279
math/polymake: fix build on powerpc64
configure.pl links with gold whenever it is available (binutils comes
in via gcc14), but gold produces binaries that crash on powerpc64, so
its own compiler probe died and configure gave up. Pin lld there.
cad/kicad-devel: fix build on powerpc64
The bundled Eigen 3.4.0 (thirdparty/eigen, used by planegcs) needs the
same AltiVec-without-VSX fixes that math/eigen3 carries.
games/warzone2100: fix build on powerpc64
Backport the two GameNetworkingSockets commits that fixed the build on
big-endian targets (issue #412): 1459f1029d87 adds the missing cast at
the LittleWord() call and b81c19c31eb7 reworks minbase_endian.h.
emulators/libretro-kronos: fix build on powerpc64
Pull upstream commit 6bae2843e083 ("Fix big endian - close #1414"): the
big-endian layout of the SCSP DSP instruction union was missing the
shift0/shift1 bitfields that scspdsp.c uses.
science/dirac: fix build on powerpc64
Drop -march=native -mtune=native from the pelib subtree's release
flags: gfortran rejects -march on PowerPC, and a package must not be
tied to the build host's CPU on any architecture anyway.
deskutils/treesheets: fix build on powerpc64*
Lobster can only run scripts through its libtcc JIT, which has no
PowerPC backend, so build TreeSheets without Lobster scripting there.
games/libretro-boom3: fix build on powerpc64*
Pull dhewm3's "Fix ppc64le build" (12fa28b260c8): the AltiVec SIMD
unit is macOS-only but was compiled wherever __ALTIVEC__ is set. Also
keep the bundled libretro-common from calling __mftb() on FreeBSD, as
its current upstream does.
cad/hs-verismith: fix build on powerpc64
The simdutf copy vendored by text-2.1.4 enables its POWER SIMD path
whenever AltiVec is available, but that code needs POWER8 (vec_vbpermq).
Apply upstream simdutf 573d42d7 to its guard so that it falls back to
the portable code on pre-POWER8 big-endian targets.
biology/gmap: enable on aarch64 and powerpc64
The aarch64 failure noted in the FIXME was the same broken __builtin_clz
probe that compiled x86 asm("bsr") on powerpc64le, so the configure
cache seeds from the previous commit fix it. powerpc64 builds as well;
the source has explicit big-endian support.