PR/59452: Marcin Gondek: Add a new mount flag "nowccmsg" to suppress printing
wcc-related messages. Apparently some synology server is causing them. This
just suppresses the messages, but does not change the behavior of the client.
PR bin/58609 - enable locale var internal manipulation
sh now recognises the (standard) set of locale variables, and in addition
to setting up the locale environment to match those in the environment at
startup (which it has done for ages), now also causes alterations to those
variables while the shell is running to take immediate effect inside sh,
which can affect how the shell operates in some limited aspects - previously
such updates would be passed to exec'd child processes (not subshells)
if the variables are exported, and not affect the running shell at all.
See the PR, and the updated sh(1) man page, for details.
This is a feature enhancement, no pullups (not even to -11) are planned.
eqos: Various performance improvements.
- Use BUS_DMA_COHERENT for ring descriptors, allowing us to remove
the descriptor padding (which increased memory usage and bandwidth).
Be very careful to avoid unnecessary reads and writes of uncached
memory!
- Defer TX/RX to a workqueue. This is mostly to help the scheduler, which
doesn't seem to understand that a CPU busy processing interrupts is
maybe not the best place to run a process on an otherwise idle system.
Be consistent with "built in" vs "built-in"
Use the hyphenated version only when describing, or referring to, one (or
more, incl the general set of) actual built-in commands (like just there)
in sh.
Use the 2 word version in all other contexts, including when describing
functionality (like line editing) that is built in to sh (like just there)
except normally there one would write "built into" if not making the point!
x86: use 0x40000010 cpuid leaf only on vmware and kvm
specifically, do not use it on nvmm.
these hypervisor cpuid leafs are basically hypervisor-specific.
(there was a proposal on commonizing these hypervisor leafs. [1]
but it doesn't seem agreed on.)
this cpuid leaf 0x40000010 was originally from vmware. although it
seems more common to use the GETHZ (45) hypercall instead these days.
kvm seems to implement it as well. (via qemu vmware-cpuid-freq)
i personally haven't tested this on either vmware or kvm.
for nvmm (netbsd), the leaf has been implemented in 2025. [2]
and then the lapic bit has been disabled in 2026. [3] that is,
we had no releases with it enabled. even if you are running the
-current version of nvmm, it's better to avoid using this leaf
[5 lines not shown]
nvmm: remove cpuid leaf 0x40000010
* given the lapic bit disabled, (PR/59424) [1]
this leaf doesn't seem to have much benefit anymore.
as nvmm is used in other platforms, (dragonfly bsd)
it's better to avoid guest ABI changes without clear benefits.
* I couldn't find any documenation about what RBX=0 means.
(vmware or kvm)
we can revisit this when/if someone comes up with a better
implementation. (probably userland-assisted one)
discussed on source-changes-d. [2]
reviewed by Taylor R Campbell.
[1] https://mail-index.netbsd.org/source-changes/2026/05/01/msg161786.html
[2] https://mail-index.netbsd.org/source-changes-d/2026/05/01/msg014654.html
libepoxy: Make EGL libs depend on EGL support rather than GLAMOR.
Build tested on sparc64, which has EGL but no GLAMOR x server.
If this is pulled up, it should happen before 11.0 is cut, since
it adds stuff to the ABI.
PR pkg/60295 x11/gtk3 does not build on NetBSD/macppc
pmap_bootstrap(): Fix an error intrduced in rev 1.127 - ensure pmap_membank
points to the first element in the array after building up the linked list.
Add "rootspec" hooks. These hooks add a generic mechanism for
devices to advertise extra root device choices. Use these to
replace wedge-specific code in sys/kern/kern_subr.c .
XXX todo: rootspec configuraton can be unloaded after the root
filesystem is mounted, and rootspechook_establish() calls after
the root filesystem is mounted could then be a no-op.
Thanks riastradh@, mlelstv@ and chs@ for reviews and comments.
Add a cfattach device flag specifying that the device has no partitions.
Use this flag in the "dk" and "flash" drivers. The new device flag
can be checked with the device_has_partitions() function. Removes
device-specific knowledge about which devices have partitions from
sys/kern/kern_subr.c .
moused.8: emphasize that this is the _serial_ mouse daemon
NetBSD now has multiple "mouse daemons" (see wsmoused(8)) and the
some of the assumptions from the past no longer hold - make it very
super obvious in the initial description that this isn't anything like
FreeBSD's moused.
aarch64: mi pmap: save a PTE software bit when doing modify emulation.
Use only OS_MODEMUL and release OS_MODIFIED. A mapping is deemed modified
if it is marked RW and OS_MODEMUL which only ever happens via emulation.
mi pmap: pmap_clear_attribute should check cached value of the attribute
The pmap_clear_attribute implementation used by the MI pmap should
check the cached valued of the attribute as well as any value held
in the PTE(s).
Some emulation implementations require this as some operations, e.g
changing page mappings to RO, can lose PTE attribute information.
gicv3_its: Fix ITT sizing.
The ITT being allocated did not match the size specified on the MAPD
command. This could cause hardware to read past the end of the ITT.
The old code used a fixed offset mapping scheme to assign eventIDs (the
eventID was derived from the LPI INTID). This scheme is wasteful and
doesn't scale well as the ITT is essentially an array of ITEs starting
with eventID 0. This change introduces per-deviceID namespaces for
eventIDs and allocates them starting with 0. A fixed number of eventIDs is
made available for each deviceID (MAXCPUS * 2). On a platform with an ITE
size of 8 bytes, this allows the ITT to fit in a single page.
The ITT is sized larger than the initial request as multiple requestors
could potentially share the same deviceID (this is the case for legacy PCI
devices behind a PCIe-to-PCI bridge).
The size parameter of the MAPD command now matches the allocated ITT.
Tested on QEMU KVM Virtual Machine and Ampere eMAG (Lenovo HR330A).
Explicitely check a pointer against NULL before computing a member address,
to avoid undefined behavior. Avoids the same NULL pointer check being
"optimised" later, leading to NULL pointer dereference.
It is expected that -fno-delete-null-pointer-checks would avoid this but
it does not.
For details see
https://mail-index.netbsd.org/tech-toolchain/2026/05/23/msg004818.html
and PR toolchain/60289
Needs pullup to netbsd-11.