Build date: 1768431603 - Wed Jan 14 23:00:03 UTC 2026 Build cvs date: 1768430554 - Wed Jan 14 22:42:34 UTC 2026 Build id: 2026-01-15.1 Build tags: amd64-regress ports sysupgrade Applied the following diff(s): /home/anton/tmp/robsd/src-sys-em.diff /home/anton/tmp/robsd/src-sys-uhidev-sispm.diff /home/anton/tmp/robsd/src-sysupgrade.diff P lib/libcrypto/stack/stack.c P sys/arch/amd64/amd64/pmap.c P sys/arch/amd64/amd64/vector.S P sys/arch/amd64/amd64/vmm_machdep.c P sys/arch/amd64/include/cpu.h P sys/arch/amd64/include/specialreg.h P sys/arch/i386/i386/apicvec.s P sys/arch/i386/i386/pmap.c P sys/dev/ic/nvme.c P sys/dev/pv/if_vio.c M sys/dev/usb/uhidev.c P usr.bin/tmux/cmd-command-prompt.c P usr.bin/tmux/status.c P usr.bin/tmux/tmux.1 P usr.bin/tmux/tmux.h M usr.sbin/bgpd/session.c P usr.sbin/vmctl/vmctl.c P usr.sbin/vmd/arm64_vm.c P usr.sbin/vmd/config.c P usr.sbin/vmd/dhcp.c P usr.sbin/vmd/fw_cfg.c P usr.sbin/vmd/loadfile_elf.c P usr.sbin/vmd/parse.y P usr.sbin/vmd/priv.c P usr.sbin/vmd/sev.c P usr.sbin/vmd/vioblk.c P usr.sbin/vmd/vionet.c P usr.sbin/vmd/virtio.c P usr.sbin/vmd/virtio.h P usr.sbin/vmd/vm.c P usr.sbin/vmd/vm_agentx.c P usr.sbin/vmd/vmd.c P usr.sbin/vmd/vmd.h P usr.sbin/vmd/vmm.c P usr.sbin/vmd/x86_vm.c commit KHYBpezLKUsuRMLu Author: dv Date: 2026/01/14 22:42:34 Emulate AMD SysCfg MSR in vmm(4). Linux kernels like to poke this to check for memory encryption settings. Return 0's on reads instead of injecting #GP. Writes continue to be ignored. This reduces some noise for Linux guests on boot. ok hshoexer@, mlarkin@ sys/arch/amd64/amd64/vmm_machdep.c sys/arch/amd64/include/specialreg.h commit BfrefcOBdBanvZBO Author: mlarkin Date: 2026/01/14 21:31:03 Increase MAXCPUs on amd64 to 255 Now that we have larger bitmask support for more than 64 CPUs, we can increase the max to 255. 255 is the max that xapic can support; this number can be bumped later if we want to discriminate x2apic vs xapic. with input from and ok deraadt. also ok kettenis sys/arch/amd64/include/cpu.h commit K6eO6AfbQbkbJS3t Author: mlarkin Date: 2026/01/14 21:25:26 Support more than 64 bits for amd64 TLB shootdown IPI masks The TLB shootdown code used a uint64_t to track which CPUs needed to have their TLB remotely flushed during pmap operations. This allowed for up to 64 CPUs maximum on amd64. This diff changes the single uint64_t mask to an array of uint8_t masks, sized based on MAXCPUS, and utilizes the bitmask macros in param.h to manipulate these masks. with input from and ok deraadt. also ok kettenis sys/arch/amd64/amd64/pmap.c commit YhPQGvqlPs30eObb Author: deraadt Date: 2026/01/14 20:43:56 pmap functions send various TLB shootdown operations by IPI to other cpus. A lock is grabbed to serialize this. Then recipient cpus get sent an IPI demanding this work. The lock is reused as a counter of cpus doing the work, and each cpu's IPI handler decrements the counter. The local cpu can do some operations in the parallel, before verifying the TLB operations have completed in pmap_tlb_shootwait() which spins for the counter to reach 0. But the counter is also a lock, and 0 means other cpu can grab it. So if the latency for the local work exceeds the latency on the recepient cpus, the "counter-lock" can be grabbed by a different cpu for its own TLB shootdown operations. The original cpu will now spin waiting for this second cpu's work to finish, creating pmap function latency. To fix this, I create per-cpu counters which are seperate from the lock. The IPI functions written in asm now decrement this per-cpu counter, and when it reaches 0, the shared lock is cleared allowing another cpu to being shootdowns tracked by its own per-cpu counter. The waiting function only spins on the correct per-cpu counter. As a bonus, the lock (and new variable indicating the shooting cpu) are now in cache-aligned. In snaps for 2 weeks Many comments from chris; ok mlarkin chris sys/arch/amd64/amd64/pmap.c sys/arch/amd64/amd64/vector.S sys/arch/i386/i386/apicvec.s sys/arch/i386/i386/pmap.c commit FZptrqBCcDsOnRzZ Author: nicm Date: 2026/01/14 19:43:43 Add -e flag to command-prompt to close if empty, from Dane Jensen in GitHub issue 4812. usr.bin/tmux/cmd-command-prompt.c usr.bin/tmux/status.c usr.bin/tmux/tmux.1 usr.bin/tmux/tmux.h commit QpJaxkB5hgNCjaub Author: tb Date: 2026/01/14 17:43:49 stack.c: avoid arithmetic on pointers to void In stack.c r1.34 I converted one 'char *' too many to 'void *', thereby relying on a gcc/clang extension which interprets the fictional void type as a type of size 1 (that's what the stack code wants, fortunately). As pointed out in the link below, -Wpointer-arith would have caught this: https://gcc.gnu.org/onlinedocs/gcc/Pointer-Arith.html MSVC flags this as follows: D:\^G\\portable\\portablerypto\\stack\\stack.c(211,23): error C2036: 'const void *': unknown size [D:\^G\\portable\\portable\^Huildryptorypto_obj.vcxproj]. Pull in workaround from the portable repo which undoes the char * -> void * conversion. ok jsing millert lib/libcrypto/stack/stack.c commit KLyKRCcH70bMoJBT Author: sf Date: 2026/01/14 12:19:36 vio: Fix dmamap size sc_rx_mbuf_size already includes the virtio header size, no need to add it again. noticed by helg@ ok dv@ sys/dev/pv/if_vio.c commit ewedm2Qjs7lbyUSg Author: dv Date: 2026/01/14 03:09:05 Simplify vmd(8) structs, removing embedded vmm(4) structs. This removes some hard dependencies from vmctl(8) on the structures from vmm(4) and makes naming of identifiers more explicit. Oh the surface, this is cosmetic, but the intention is to decouple as much as possible from the dev/vmm/vmm.h to allow for upcoming work to change vmm(4) without causing a large blast radius. Testing help from mlarkin@ & bluhm@. ok mlarkin@ usr.sbin/vmctl/vmctl.c usr.sbin/vmd/arm64_vm.c usr.sbin/vmd/config.c usr.sbin/vmd/dhcp.c usr.sbin/vmd/fw_cfg.c usr.sbin/vmd/loadfile_elf.c usr.sbin/vmd/parse.y usr.sbin/vmd/priv.c usr.sbin/vmd/sev.c usr.sbin/vmd/vioblk.c usr.sbin/vmd/vionet.c usr.sbin/vmd/virtio.c usr.sbin/vmd/virtio.h usr.sbin/vmd/vm.c usr.sbin/vmd/vm_agentx.c usr.sbin/vmd/vmd.c usr.sbin/vmd/vmd.h usr.sbin/vmd/vmm.c usr.sbin/vmd/x86_vm.c commit aAhfBu8yeJ7LUNZ2 Author: jmatthew Date: 2026/01/14 01:07:57 Use scsi_io_get rather than nvme_ccb_get for passthrough commands, so we'll sleep if there are no ccbs available, avoiding a panic that mlarkin@ ran into. While here, take the rwlock around passthrough commands that come in through the scsi ioctl path for consistency with the bioctl path. ok dlg@ krw@ sys/dev/ic/nvme.c P 3RDPARTY P lib/libpng/ANNOUNCE P lib/libpng/AUTHORS P lib/libpng/CHANGES P lib/libpng/CMakeLists.txt P lib/libpng/LICENSE P lib/libpng/README P lib/libpng/configure P lib/libpng/configure.ac P lib/libpng/libpng-manual.txt P lib/libpng/libpng.3 P lib/libpng/libpngpf.3 P lib/libpng/png.5 P lib/libpng/png.c P lib/libpng/png.h P lib/libpng/pngconf.h P lib/libpng/pngerror.c P lib/libpng/pngget.c P lib/libpng/pngmem.c P lib/libpng/pngpriv.h P lib/libpng/pngread.c P lib/libpng/pngrtran.c P lib/libpng/pngrutil.c P lib/libpng/pngtest.c P lib/libpng/pngtrans.c P lib/libpng/pngwrite.c P lib/libpng/pngwutil.c P lib/libpng/arm/filter_neon_intrinsics.c P lib/libpng/contrib/libtests/pngimage.c P lib/libpng/contrib/libtests/pngstest.c P lib/libpng/contrib/libtests/pngvalid.c P lib/libpng/contrib/libtests/tarith.c P lib/libpng/contrib/mips-mmi/linux.c P lib/libpng/contrib/oss-fuzz/build.sh U lib/libpng/contrib/oss-fuzz/libpng_colormap_fuzzer.cc P lib/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc U lib/libpng/contrib/oss-fuzz/libpng_readapi_fuzzer.cc U lib/libpng/contrib/oss-fuzz/libpng_transformations_fuzzer.cc P lib/libpng/contrib/oss-fuzz/nalloc.h P lib/libpng/contrib/tools/pngfix.c P lib/libpng/intel/filter_sse2_intrinsics.c P lib/libpng/loongarch/filter_lsx_intrinsics.c P lib/libpng/loongarch/loongarch_lsx_init.c P lib/libpng/mips/filter_mmi_inline_assembly.c P lib/libpng/mips/filter_msa_intrinsics.c P lib/libpng/riscv/filter_rvv_intrinsics.c P lib/libpng/scripts/libpng-config-head.in P lib/libpng/scripts/libpng.pc.in P lib/libpng/scripts/pnglibconf.dfa P lib/libpng/scripts/pnglibconf.h.prebuilt P lib/libpng/scripts/cmake/AUTHORS.md U lib/libpng/tests/pngstest-large-stride commit zyAtRbN6aReae7Ir Author: matthieu Date: 2026/01/14 07:01:51 update 3RDPARTY commit 780GeSgMmjjCG1EI Author: matthieu Date: 2026/01/14 06:38:30 Update to png 1.6.54. lib/libpng/ANNOUNCE lib/libpng/AUTHORS lib/libpng/CHANGES lib/libpng/CMakeLists.txt lib/libpng/LICENSE lib/libpng/README lib/libpng/configure lib/libpng/configure.ac lib/libpng/libpng-manual.txt lib/libpng/libpng.3 lib/libpng/libpngpf.3 lib/libpng/png.5 lib/libpng/png.c lib/libpng/png.h lib/libpng/pngconf.h lib/libpng/pngerror.c lib/libpng/pngget.c lib/libpng/pngmem.c lib/libpng/pngpriv.h lib/libpng/pngread.c lib/libpng/pngrtran.c lib/libpng/pngrutil.c lib/libpng/pngtest.c lib/libpng/pngtrans.c lib/libpng/pngwrite.c lib/libpng/pngwutil.c lib/libpng/arm/filter_neon_intrinsics.c lib/libpng/contrib/libtests/pngimage.c lib/libpng/contrib/libtests/pngstest.c lib/libpng/contrib/libtests/pngvalid.c lib/libpng/contrib/libtests/tarith.c lib/libpng/contrib/mips-mmi/linux.c lib/libpng/contrib/oss-fuzz/build.sh lib/libpng/contrib/oss-fuzz/libpng_colormap_fuzzer.cc lib/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc lib/libpng/contrib/oss-fuzz/libpng_readapi_fuzzer.cc lib/libpng/contrib/oss-fuzz/libpng_transformations_fuzzer.cc lib/libpng/contrib/oss-fuzz/nalloc.h lib/libpng/contrib/tools/pngfix.c lib/libpng/intel/filter_sse2_intrinsics.c lib/libpng/loongarch/filter_lsx_intrinsics.c lib/libpng/loongarch/loongarch_lsx_init.c lib/libpng/mips/filter_mmi_inline_assembly.c lib/libpng/mips/filter_msa_intrinsics.c lib/libpng/riscv/filter_rvv_intrinsics.c lib/libpng/scripts/libpng-config-head.in lib/libpng/scripts/libpng.pc.in lib/libpng/scripts/pnglibconf.dfa lib/libpng/scripts/pnglibconf.h.prebuilt lib/libpng/scripts/cmake/AUTHORS.md lib/libpng/tests/pngstest-large-stride