openbsd changes of note 622
Don’t let windows fall off the end of the world in calmwm.
Remove last remnants of rtsol in the intaller, netstart, everywhere.
Allow setting of guest MSRs from vmd, a prerequisite for migration. Also add support for reading and writing device state.
Use freezero in many places in libcrypto.
Resynchronize the guest RTC via vmmci when the host resumes from suspend. Only for OpenBSD guests.
Provide pluggable queueing interface for pf, hiding H-FSC behind an abstraction layer. What could be next?
Revise octeon MDIO driver. Lets all the ethernet ports on the EdgeRouter Pro work.
Introduce an inline function sstosa to convert struct sockaddr_storage to struct sockaddr in a typesafe manner instead of sprinkling casts everywhere.
Add an implementation of the Flow Queue - Controlled Delay (FQ-CoDel).
Changes and fixes to support the eMMC controller on the Rockchip RK3399. Plus rkgpio, a driver to Rockchip GPIO pins.
Reference count the tls_config object. This makes it easier for applications to use and reason about its lifetime.
Improve mandoc with a basic implementation of the roff .ta (define tab stops) request. This is the first feature made possible by the parser reorganization. Improves the formatting of many Xenocara GL and ports manuals. Also add .ti (temporary indent) request.
Something about tmux and xterm and arrow keys and vi and it’s all terribly weird. But pressing up works now.
Remove support for the Blowfish, RC4 and CAST ciphers from ssh. Refuse RSA keys <1024 bits in length.
Print arguments in kernel stack traces on amd64, using the recently added -msave-flags compiler option.
The early stages of a flag for drivers to indicate they are capable of 64 bit DMA.
The driver that gets all the fixes, iwm, gets more fixes. Some other wifi drivers get fixes, too.
Fix exponential handling of wildcards in glob to be less recursive.
The octeon doesn’t have a bootloader to provide entropy to the kernel, but we can mix bits from the built-in RNG with the randomdata section very early in the kernel startup. Some commentary.
Enable (emulated) TLS (thread local storage) support in clang by default.
Fixes for out of bounds writes in freetype.
Make AES-NI feature detection work in the RAMDISK.
Split uvm_km_page_init into early and late stages to avoid recursive dependencies where allocating memory required allocating memory required allocating memory. Bootstrapping is hard.
At long last, fix the problem where keystrokes would be lost with some server’s emulated USB keyboard. DDB doesn’t need to steal keystrokes until we’re in the debugger.
Start providing atomic variants of copyin and copyout for use by the futex code.
The nvme driver reported disk sizes one sector too large. Your partition table may be incorrect.
The NET_LOCK is back in. Fasten your seatbelts.
Try to do better things with UTF-8 characters at the ksh command line.
A new warning level, style, for mandoc. This is the new default.
More algorithmic improvements to standard libc functions, this time qsort. First, a simple optimization to recurse down the smaller partition. Saves a bit of stack. Next, introsort is 20 years old now, so maybe it’s time to switch. This finally eliminates worst case performance even with inputs designed to be unpleasant. More details in the thread.
Admit to the existence of the #openbsd irc channel on freenode.
Add radeon drivers to the loongson port.
Bonus thread: “I have four UTF-8 capable X terminals here and between them they do three different things.” Plus some messages in that thread.