wg(4): Add a test case for too many allowed IP address ranges.
PR kern/60232: kernel panic when adding a wireguard peer with too
many allowed IP addresses
wg(4): Add test case for bad ephemeral handshake public keys.
wg(4) should not crash on an assertion if they appear on the network;
it should just gracefully drop them as forgeries, if a MITM attempted
to send them without knowledge of a peer's public key, or accept
them, if a peer legitimately sent them, since that peer could just as
well simply forward the plaintext of the session on to the NSA.
PR kern/60106: wg(4) should properly handle invalid or insecure
ephemeral Curve25119 public keys
wg(4): Add test case for bad peer public keys.
wg(4) should not crash on an assertion if they are used -- it should
just gracefully accept them, with degraded security, since a peer
that maliciously provides an invalid public key is no worse than a
peer that voluntarily exposes all its plaintext anyway.
PR kern/60106: wg(4) should properly handle invalid or insecure
ephemeral Curve25119 public keys
Break out and expand FDT property parsing for awge(4) FDT attachment
frontends
This uses the device tree's possible burst length bus interface settings,
and improves performance on, for instance, Rockchip RK3399
PR 60334: fix two bugs:
- confusion between part_usage_info::flags and ::cur_flags leading
to not matching partitions properly when renumbering them after
deletion
- off by one corrupting memory when deleting a partition
Conditionalize some messages so they are not compiled in when
architectures do not need it.
- a few clearly GPT related strings conditional on NO_GPT
- the base32/compat32 related message for PR 60224 and PR 60133
conditional on a new flag HAVE_DVD_IMAGE
Fix day of week calculcation in strptime().
The bug was that the calculation used the raw year value without
adding the 1900 offset.
While here, switch to the current Wikipedia version of Gauss' algorithm,
like FreeBSD did, and simplify a loop, like FreeBSD did.
Fix PCI Express issues on Sam460ex.
- Mapping memory region for DMA through bus_dma framework with coherency
requested now causes the region to be uncached for 440 cores.
- DMA inbound window mapping
- Avoid configuration cycles that stall the bus
- Board-specific interrupt mapping
Now mpt in PCI Express x4 slot does around 100MB/s to a spinning rust
hard drive and is stable.
Hyper-V passes bootstrap entropy to guests via the ACPI OEM0 table. Use it.
We verify that the OEM0 table has the correct Microsoft IDs, skip the header,
feed the remaining contents to the kernel entropy pool, and wipe them in-place
to prevent later extraction via /dev/acpi (e.g. with acpidump). This interface
doesn't seem to be documented but we handle it the same way Microsoft's own
Linux driver does.
PR 60333: make the GPT reading code recognize when the GPT does not
cover the whole disk (like after copying an install image to a device)
and offer to fix it.
agp(4): port agp_nvidia driver from FreeBSD.
It supports the AGP controller in the NVIDIA nForce and nForce2 chipsets.
Tested on Biostar M7NCD Ultra with Radeon 9550, GeForce FX 5700 LE and
ATI Rage 128 Pro.
All cards attach and work over AGP, however DRM drivers manage the GART
internally and do not use the kernel AGP GART path directly.
Radeon 9550 was working more stable with AGP disabled due to known DRM
instabilities.
The GART bind/unbind/flush paths were briefly tested via a custom userspace
test program using /dev/agpgart ioctls.
Reviewed by riastradh@ and uwe@.
Also thanks to abs@ for donating some graphics cards used in testing.
For more information see the discussion on tech-kern:
https://mail-index.netbsd.org/tech-kern/2026/06/07/msg031073.html
Hack for PR 60224 or PR 60133:
add a specific message when a compat (base32 or base64) set
or a debug (or compat debug) set is not found.
Point at the CD vs. DVD images.
Still not an ideal UI, but reworking this properly is not going
to happen before 11.0, and this is intended as a stopgap fix that
should be pulled up.
Support power saving via wait state enable.
Exposed through machdep.powersave sysctl. Should work on every 4XX core,
but I have no way to test on 40X, so it's disabled by default.