[BACK]Return to 73.html CVS log [TXT][DIR] Up to [local] / www

Diff for /www/73.html between version 1.21 and 1.22

version 1.21, 2023/04/03 19:08:11 version 1.22, 2023/04/03 21:51:34
Line 84 
Line 84 
 <li>Various kernel improvements:  <li>Various kernel improvements:
   <ul>    <ul>
   
     <li>Added support for the Rockchip RK3568 processor.
     <li>Implemented the <a
           href="https://man.openbsd.org/waitid.2">waitid(2)</a> system call
           which is now part of POSIX and used by Mozilla.
     <li>Introduced <a
           href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>, a
           machine-independent clock interrupt controller. Switched all
           architectures to use this new kernel subsystem.
     <li>Introduced a new kern.autoconf_serial <a
           href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> that can be used
           by userland to monitor state changes of the kernel device tree.
     <li>Fixed <a href="https://man.openbsd.org/pmap.9">pmap(9)</a> bugs
           involving entering an executable mapping for a page before
           synchronizing the data and instruction cache on arm64 and riscv64.
     <li>Add detection for Spectre-BHB Branch History Injection
           vulnerability related CLRBHB, ECBHB and CSV2_3/HCXT feature bits.
     <li>Add <a
           href="https://man.openbsd.org/getnsecruntime.9">getnsecruntime(9)</a>
           to the kernel timecounting API. Together with getbinruntime(), it
           provides a fast, monotonic clock that only advances while the system
           is not suspended.
     <li>Prevent detatching ("bioctl -d detach") of a boot volume on a RAID managed by <a
           href="https://man.openbsd.org/bioctl.8">bioctl(8)</a>.
     <li>Added WTRAPPED option for <a
           href="https://man.openbsd.org/waitid.2">waitid(2)</a> to control
           whether CLD_TRAPPED state changes, i.e., ptrace(2) on a process, are reported.
   <li>On arm64, avoid usin 1GB mappings for the identity map in the    <li>On arm64, avoid usin 1GB mappings for the identity map in the
         early kernel bootstrap phase and when booting the secondary CPUs. This          early kernel bootstrap phase and when booting the secondary CPUs. This
         avoids accidentally mapping memory regions that should not be mapped          avoids accidentally mapping memory regions that should not be mapped
         (i.e. secure memory) as all mapped memory can be accessed          (i.e. secure memory) as all mapped memory can be accessed
         speculatively.          speculatively.
   
   <li>Added arm64 detection of EPAN feature bit. Enhanced Privileged Access Never    <li>Added arm64 detection of EPAN feature bit. Enhanced Privileged Access Never
         (EPAN) allows Privileged Access Never to be used with Execute-only mappings.          (EPAN) allows Privileged Access Never to be used with Execute-only mappings.
   
   <li>Removed copystr(9) from public API.    <li>Removed copystr(9) from public API.
   
   <li>Made the USB ports work after a suspend/resume cycle on the x13s.    <li>Made the USB ports work after a suspend/resume cycle on the x13s.
   <li>Set the arm64 default for the machdep.lidaction <a    <li>On arm64, add a machdep.lidaction <a
         href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> to 1, making the          href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> for <a
           href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> Apple Silicon
           laptops.<br>
           The arm64 default for the machdep.lidaction is 1, making the
         system suspend when the lid is closed. <a          system suspend when the lid is closed. <a
         href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> provides support          href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> provides support
         for the lid position sensor.          for the lid position sensor.
     <li>Disable the screen backlight with <a
           href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a> on Apple Silicon
           laptops when the lid is closed.
   <li>Changed arm64 suspend idle loop from WFE to WFI, avoiding spurious    <li>Changed arm64 suspend idle loop from WFE to WFI, avoiding spurious
         wakeups while other CPUs are still active.          wakeups while other CPUs are still active.
   <li>Added cursor back tab support to <a    <li>Added cursor back tab support to <a
Line 119 
Line 146 
         DTIOCARGS to get the type of probe arguments.          DTIOCARGS to get the type of probe arguments.
   <li>Added a priority queue to <a    <li>Added a priority queue to <a
         href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>.          href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>.
   
   </ul>    </ul>
   
 <li>SMP Improvements  <li>SMP Improvements
   <ul>    <ul>
     <li>Unlocked <a href="https://man.openbsd.org/mmap.2">mmap(2)</a>, <a
           href="https://man.openbsd.org/munmap.2">munmap(2)</a>, and <a
           href="https://man.openbsd.org/mprotect.2">mprotect(2)</a>.
     <li>Unlocked <a href="https://man.openbsd.org/sched_yield.2">sched_yield(2)</a>.
     <li>Added support for per-cpu event counters, to be used for clock and
           IPI counters where the event counted occurs across all CPUs in the
           system.
     <li>Moved <a href="https://man.openbsd.org/pf.4">pf(4)</a> purge
           tasks out from under the kernel lock.
     <li>Unlocked <a href="https://man.openbsd.org/ioctl.2">ioctl(2)</a>
           SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR, and SIOCGIFGLIST.
     <li>Protected interface tables in <a
           href="https://man.openbsd.org/pf.4">pf(4)</a> with PF_LOCK(), allowing
           removal of NET_LOCK() protection from the <a
           href="https://man.openbsd.org/ioctl.2">ioctl(2)</a> code path in pf.
     <li>Unlocked <a
           href="https://man.openbsd.org/getsockopt.2">getsockopt(2)</a> and <a
           href="https://man.openbsd.org/setsockopt.2">setsockopt(2)</a>.
     <li>Completed removing kernel lock from IPv6 read ioctls.
     <li>Unlocked <a href="https://man.openbsd.org/minherit.2">minherit(2)</a>.
   <li>Made <a href="https://man.openbsd.org/tun.4">tun(4)</a> and <a    <li>Made <a href="https://man.openbsd.org/tun.4">tun(4)</a> and <a
         href="https://man.openbsd.org/tap.4">tap(4)</a> event filters MP-safe.          href="https://man.openbsd.org/tap.4">tap(4)</a> event filters MP-safe.
   <li>Unlocked <a href="https://man.openbsd.org/utrace.2">utrace(2)</a>.    <li>Unlocked <a href="https://man.openbsd.org/utrace.2">utrace(2)</a>.
Line 134 
Line 179 
         3-thread deadlock between <a          3-thread deadlock between <a
         href="https://man.openbsd.org/msync.2">msync(2)</a>, page-fault and <a          href="https://man.openbsd.org/msync.2">msync(2)</a>, page-fault and <a
         href="https://man.openbsd.org/mmap.2">mmap(2)</a>.          href="https://man.openbsd.org/mmap.2">mmap(2)</a>.
   
   <li>Unlocked <a    <li>Unlocked <a
         href="https://man.openbsd.org/select.2">select(2)</a>, <a          href="https://man.openbsd.org/select.2">select(2)</a>, <a
         href="https://man.openbsd.org/pselect.2">pselect(2)</a>, <a          href="https://man.openbsd.org/pselect.2">pselect(2)</a>, <a
Line 155 
Line 199 
   <!-- XXX maybe remove again? -->    <!-- XXX maybe remove again? -->
   <li>Fixed frame buffer corruption and additional bugs after wakeup    <li>Fixed frame buffer corruption and additional bugs after wakeup
         on Apple Silicon laptops and the Lenovo x13s.          on Apple Silicon laptops and the Lenovo x13s.
   
     <li>Added support for the backlight connector property to <a
           href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> as in <a
           href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>, making <a
           href="https://man.openbsd.org/xbacklight.1">xbacklight(1)</a> work
           when using the Xorg modesetting driver.
   
   </ul>    </ul>
   
 <li>VMM/VMD improvements  <li>VMM/VMD improvements
   <ul>    <ul>
   
           <li>Updated <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> to
                   allow guests to read MSR_HWCR and MSR_PSTATEDEF, which is necessary to
                   determine the TSC frequency on AMD families 17h and 19h.
           <li>Allocated reference for vm and vcpu SLISTs in <a
                   href="https://man.openbsd.org/vmm.4">vmm(4)</a>, keeping vmm from
                   triggering excessive wakeup calls while iterating through the list of
                   vms while servicing an <a
                   href="https://man.openbsd.org/ioctl.2">ioctl(2)</a>.
           <li>Set <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> RAX guest
                   register state based on VMCB.
           <li>Removed locking in <a
                   href="https://man.openbsd.org/vmm.4">vmm(4)</a> vmm_intr_pending,
                   reducing slowdowns due to requests for a lock held while the VM is
                   running.
           <li>Increased speed of delivery of interrupts to a running vcpu in <a
                   href="https://man.openbsd.org/vmm.4">vmm(4)</a>.
           <li>Made <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> treat vcpu
                   lists as immutable, removing the need to reference count individual
                   vcpu objects and use a rwlock.
         <li>Implemented zero-copy operations on virtqueues in <a          <li>Implemented zero-copy operations on virtqueues in <a
                 href="https://man.openbsd.org/vmd.8">vmd(8)</a>.                  href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
   
         <li>Provided a detailed e820 memory map when booting <a          <li>Provided a detailed e820 memory map when booting <a
                 href="https://man.openbsd.org/vmd.8">vmd(8)</a> guests with SeaBIOS.                  href="https://man.openbsd.org/vmd.8">vmd(8)</a> guests with SeaBIOS.
                 When a vm initializes memory ranges, we now track what each range                  When a vm initializes memory ranges, we now track what each range
Line 194 
Line 263 
 <li>Various new userland features:  <li>Various new userland features:
   <ul>    <ul>
   
   
     <li>Added <a href="https://man.openbsd.org/kdump.1">kdump(1)</a>
           argument support for msyscall, pledge, unveil, __realpath, ypconnect
           and __tmpfd.
   <li>Added <a    <li>Added <a
           href="https://man.openbsd.org/mimmutable.2">mimmutable(2)</a> and <a
           href="https://man.openbsd.org/munmap.2">munmap(2)</a> reporting to <a
           href="https://man.openbsd.org/kdump.1">kdump(1)</a>.
     <li>Added <a
         href="https://man.openbsd.org/lastcomm.1">lastcomm(1)</a> reporting          href="https://man.openbsd.org/lastcomm.1">lastcomm(1)</a> reporting
         for process kills due to <a          for process kills due to <a
         href="https://man.openbsd.org/execve.2">execve(2)</a> from non-pinned          href="https://man.openbsd.org/execve.2">execve(2)</a> from non-pinned
         syscall address          syscall address
   
   </ul>    </ul>
   
 <li>Various bugfixes and tweaks in userland:  <li>Various bugfixes and tweaks in userland:
   <ul>    <ul>
   
     <li>The libc functions that use the zoneinfo database to convert
           time between different timezones allowed the TY environment variable
           to point to any file on the system to be reas as zoneinfo file.  This
           was restricted to paths starting with /usr/share/zoneinfo in the TZ
           environement variable.  Reject other absolute paths in TZ. The
           assumption is that zoneinfo files under /usr/share/zoneinfo are
           trustworthy, but
   
   
     <li>Made <a href="https://man.openbsd.org/ldomctl.8">ldomctl(8)</a>
           accept more descriptive name-based paths in addition to number-based
           paths in <a
           href="https://man.openbsd.org/ldom.conf.5">ldom.conf(5)</a>.
     <li>Dropped support for $rc_exec in <a
           href="https://man.openbsd.org/rc.subr.8">rc.subr(8)</a>. The rc_exec
           function should be used instead.
     <li>Excluded /tmp/*.shm files from /tmp cleaning in <a
           href="https://man.openbsd.org/daily.8">daily(8)</a>. Removing them
           interferes with programs that use shared memory via <a
           href="https://man.openbsd.org/shm_open.3">shm_open(3)</a>.
     <li>Added zap-to-char and zap-up-to-char to <a
           href="https://man.openbsd.org/mg.1">mg(1)</a>. Bound zap-to-char to
           M-z.
     <li>Added support to <a
           href="https://man.openbsd.org/gunzip.1">gunzip(1)</a> for zip files
           that contain a single member.
     <li>Fixed <a href="https://man.openbsd.org/ed.1">ed(1)</a> to print
           bytes read/written and the ? prompt to stdout, not stderr.
     <li>Modified the vmstat view in <a
           href="https://man.openbsd.org/systat.1">systat(1)</a> to measure
           elapsed time using <a
           href="https://man.openbsd.org/clock_gettime.2">clock_gettime(2)</a>.
     <li>Fixed handling of escaped backslashes in <a
           href="https://man.openbsd.org/vi.1">vi(1)</a> ex_range.
     <li>Corrected <a href="https://man.openbsd.org/top.1">top(1)</a>
           display of online CPUs which can change based on the <a
           href="https://man.openbsd.org/sysctl.2">sysctl(2)</a> sysctl setting.
   <li>Added support for a personal <a    <li>Added support for a personal <a
         href="https://man.openbsd.org/units.1">units(1)</a> library by passing          href="https://man.openbsd.org/units.1">units(1)</a> library by passing
         -f multiple times.          -f multiple times.
Line 214 
Line 327 
         href="https://man.openbsd.org/netstart.8">netstart(8)</a>, as this          href="https://man.openbsd.org/netstart.8">netstart(8)</a>, as this
         does not depend on network access.          does not depend on network access.
   
     <li>Made <a href="https://man.openbsd.org/rc.8">rc(8)</a> print the
           name of each library before relinking as a signal to the operator that
           boot has not stalled.
   
   <li>Implemented periodic display in <a    <li>Implemented periodic display in <a
         href="https://man.openbsd.org/iostat.8">iostat(8)</a>.          href="https://man.openbsd.org/iostat.8">iostat(8)</a>.
   
Line 230 
Line 347 
         href="https://man.openbsd.org/timeout.1">timeout(1)</a> -s.          href="https://man.openbsd.org/timeout.1">timeout(1)</a> -s.
   
   <li>Fixed .wav files generated by <a    <li>Fixed .wav files generated by <a
         href="https://man.openbsd.org/aucat.1">aucat(1)</a> by using extended  ;       href="https://man.openbsd.org/aucat.1">aucat(1)</a> by using extended
         header format.          header format.
   <li>In <a    <li>In <a
         href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>, use the          href="https://man.openbsd.org/disklabel.8">disklabel(8)</a>, use the
Line 255 
Line 372 
 <li>Improved hardware support and driver bugfixes, including:  <li>Improved hardware support and driver bugfixes, including:
   <ul>    <ul>
   
     <li>Added support for the Wacom One M CTL-672 tablet to <a
           href="https://man.openbsd.org/uwacom.4">uwacom(4)</a>.
     <li>Added support for the Rockchip RK3566/RK3568 SoCs.
     <li>Added support for the RK3568 PCIe controller to <a
           href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a>.
     <li>Converted more RTC drivers to use todr_attach(). Quality of the
           RTC is set such that "discrete" RTC chips are preferred over RTCs
           integrated on a SoC.
     <li>Added support for the DS1339 RTC as found on the PiJuice.
     <li>Introduced <a
           href="https://man.openbsd.org/pijuice.4">pijuice(4)</a>, an apm/sensor
           driver for the PiJuice HAT UPS.
     <li>Added <a
           href="https://man.openbsd.org/qcdwusb.4">qcdwusb(4)</a>, a driver
           controlling the interface logic for the Synopsis DesignWare USB 3.0
           controller found on various Qualcomm Snapdragon SoCs.
     <li>Disabled <a href="https://man.openbsd.org/smmu.4">smmu(4)</a>
           for the Qualcomm SC8280XP on FDT attachment as on ACPI.
     <li>Added support for the PCIe controller on the Qualcomm SC8280XP
           to <a href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a>.
     <li>Extended arm64 suspend/resume to include support for parking
           CPUs in a WFE/WFI loop.
     <li>Added <a href="https://man.openbsd.org/qcrtc.4">qcrtc(4)</a>, a
           driver for the RTC found on Qualcomm PMICs.
     <li>Added <a href="https://man.openbsd.org/qcpon.4">qcpon(4)</a>, a
           driver for the Qualcomm PMIC block that hosts the powerkey and reset
           input.
     <li>Added <a
           href="https://man.openbsd.org/qcpmicgpio.4">qcpmicgpio(4)</a>, a
           driver for the GPIO block inside the Qualcomm PMICs.
     <li>Added <a href="https://man.openbsd.org/qcpmic.4">qcpmic(4)</a>,
           a driver for the SPMI-connected PMICs found on Qualcomm SoCs.
     <li>Added <a href="https://man.openbsd.org/qcspmi.4">qcspmi(4)</a>,
           a driver for the SPMI PMIC Arbiter found on Qualcomm SoCs.
     <li>Made <a
           href="https://man.openbsd.org/aplhidev.4">aplhidev(4)</a> recognize M1
           laptops with touchbars and Translated Fn+(1-10,-,=) keys to F1-F12 on
           these systems.
     <li>Added suspend/resume support to <a
           href="https://man.openbsd.org/aplns.4">aplns(4)</a>.
     <li>Implemented wakeup interrupt support in <a
           href="https://man.openbsd.org/aplintc.4">aplintc(4)</a>.
     <li>Added suspend/resume support to control the power domain to <a
           href="https://man.openbsd.org/aplsart.4">aplsart(4)</a>.
     <li>Added <a href="https://man.openbsd.org/qcpdc.4">qcpdc(4)</a>, a
           driver for the Qualcomm Power Domain controller found on Qualcomm
           SoCs.
     <li>Made the power button function as a wakeup button during suspend
           in <a href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a>.
     <li>Put CPUs in the lowest P-state before the final suspend step,
           needed for systems where we park CPUs in a low-power idle state
           ourselves.
     <li>Added <a href="https://man.openbsd.org/qcpwm.4">qcpwm(4)</a>, a
           driver for the PWM found on Qualcomm SoCs.
     <li>Added <a href="https://man.openbsd.org/aplpwm.4">aplpwm(4)</a>,
           a driver for the PWM controller found on Apple Silicon.
     <li>Added <a
           href="https://man.openbsd.org/pwmleds.4">pwmleds(4)</a>, a driver for
           PWM controlled LEDs.
     <li>Implemented <a
           href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a> support for the
           (optional) MSI controller of the Synopsis Designware PCIe host bridge.
     <li>Added <a href="https://man.openbsd.org/uhidpp.4">uhidpp(4)</a>
           support for the Unified Battery feature often found in newer Logitech
           HID++ hardware.
     <li>Worked around incomplete ACPI tables on the Lenovo x13s by
           loading the alternate device tree binaries from disk.
     <li>Set console output to the framebuffer on Lenovo x13s machines.
     <li>Improve Apple support by increasing the <a
           href="https://man.openbsd.org/apliic.4">apliic(4)</a> transfer
           completion timeout to 100ms to accommodate USB Type-C PD chips.
     <li>Added <a href="https://man.openbsd.org/tipd.4">tipd(4)</a>, a
           driver fixing USB hotplug of type-C connectors on Apple Silicon
           hardware.
     <li>Improved <a
           href="https://man.openbsd.org/aplpmu.4">aplpmu(4)</a> range check to
           protect against overflow.
     <li>Added <a
           href="https://man.openbsd.org/aplefuse.4">aplefuse(4)</a>, a driver
           for the eFuses on Apple Silicon SoCs.
     <li>Prevented a possible crash when a <a
           href="https://man.openbsd.org/ugen.4">ugen(4)</a> device is detached.
     <li>Implemented wakeup interrupt handling in <a
           href="https://man.openbsd.org/agintc.4">agintc(4)</a>.
   <li>Enabled <a    <li>Enabled <a
         href="https://man.openbsd.org/pcagpio.4">pcagpio(4)</a> and <a          href="https://man.openbsd.org/pcagpio.4">pcagpio(4)</a> and <a
         href="https://man.openbsd.org/pcamux.4">pcamux(4)</a>, making the SFP          href="https://man.openbsd.org/pcamux.4">pcamux(4)</a>, making the SFP
         port on the ClearFog Base (CN9130) work.          port on the ClearFog Base (CN9130) work.
     <li>Added <a href="https://man.openbsd.org/uftdi.4">uftdi(4)</a>
   <li>Added <a href="https://man.openbsd.org/uftdi.4">uftdi(4)</a> support for FTDI FT232R.          support for FTDI FT232R.
   
   <li>Hooked up the same USB device drivers on riscv64 as done in the    <li>Hooked up the same USB device drivers on riscv64 as done in the
         arm64 architecture kernel.<br>Enabled access to <a          arm64 architecture kernel.<br>Enabled access to <a
         href="https://man.openbsd.org/usb.4">usb(4)</a>, <a          href="https://man.openbsd.org/usb.4">usb(4)</a>, <a
Line 270 
Line 470 
         href="https://man.openbsd.org/ucom.4">ucom(4)</a> and <a          href="https://man.openbsd.org/ucom.4">ucom(4)</a> and <a
         href="https://man.openbsd.org/ujoy.4">ujoy(4)</a>.          href="https://man.openbsd.org/ujoy.4">ujoy(4)</a>.
   
     <!-- audio -->
     <li>Made <a href="https://man.openbsd.org/azalia.4">azalia(4)</a>
           match on Intel 500 Series HD Audio.
     <li>Made <a
           href="https://man.openbsd.org/aplaudio.4">aplaudio(4)</a> calculate
           the bit clock based on numbers of channels, bytes/sample and sample
           rate.
     <li>Attached Apollo Lake HD Audio device to <a
           href="https://man.openbsd.org/azalia.4">azalia(4)</a>, enabling audio.
   
   <li>Enabled <a    <li>Enabled <a
         href="https://man.openbsd.org/aplpcie.4">aplpcie(4)</a> power          href="https://man.openbsd.org/aplpcie.4">aplpcie(4)</a> power
         management for PCI devices.          management for PCI devices.
Line 311 
Line 521 
   <li>Added <a href="https://man.openbsd.org/psci.4">psci(4)</a> (ARM    <li>Added <a href="https://man.openbsd.org/psci.4">psci(4)</a> (ARM
         Power State Coordination Interface) support for available deep idle          Power State Coordination Interface) support for available deep idle
         states as advertised in device trees.          states as advertised in device trees.
   <li>Attached Apollo Lake HD Audio device to <a  
         href="https://man.openbsd.org/azalia.4">azalia(4)</a>, enabling audio.  
   <li>In <a href="https://man.openbsd.org/rkgpio.4">rkgpio(4)</a>,    <li>In <a href="https://man.openbsd.org/rkgpio.4">rkgpio(4)</a>,
         handled different register layouts in modern Rockchip SoCs as seen in          handled different register layouts in modern Rockchip SoCs as seen in
         the RK356x and RK3588.          the RK356x and RK3588.
Line 323 
Line 531 
   <li>Added RK3588 support to <a    <li>Added RK3588 support to <a
         href="https://man.openbsd.org/rkclock.4">rkclock(4)</a> and <a          href="https://man.openbsd.org/rkclock.4">rkclock(4)</a> and <a
         href="https://man.openbsd.org/rkpinctrl.4">rkpinctrl(4)</a>.          href="https://man.openbsd.org/rkpinctrl.4">rkpinctrl(4)</a>.
   <li>Switched sparc64 to <a  
         href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>.  
   <li>Switched arm <a  
         href="https://man.openbsd.org/amptimer.4">amptimer(4)</a> and <a  
         href="https://man.openbsd.org/armv7/agtimer.4">agtimer(4/armv7)</a> to  
         <a href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>.  
   <li>Switched armv7 <a  
         href="https://man.openbsd.org/dmtimer.4">dmtimer(4)</a> and <a  
         href="https://man.openbsd.org/sxitimer.4">sxitimer(4)</a> to <a  
         href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>.  
   <li>Switched armv7 <a  
         href="https://man.openbsd.org/gptimer.4">gptimer(4)</a> to <a  
         href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>.  
   <li>Added a kernel-facing API for <a  
         href="https://man.openbsd.org/clockintr.9">clockintr(9)</a>.  
   <li>Added <a href="https://man.openbsd.org/mvortc.4">mvortc(4)</a>,    <li>Added <a href="https://man.openbsd.org/mvortc.4">mvortc(4)</a>,
         a driver for the RTC on the ARMADA 38x series.          a driver for the RTC on the ARMADA 38x series.
   <li>Added <a href="https://man.openbsd.org/mvodog.4">mvodog(4)</a>,    <li>Added <a href="https://man.openbsd.org/mvodog.4">mvodog(4)</a>,
Line 376 
Line 570 
   
 <li>New or improved network hardware support:  <li>New or improved network hardware support:
   <ul>    <ul>
     <li>Enabled <a href="https://man.openbsd.org/em.4">em(4)</a> IPv4,
           TCP and UDP checksum offloading and VLAN HW tagging on devices with 82575, 82576,
           i350 and i210 chipsets.
     <li>Improved <a href="https://man.openbsd.org/mcx.4">mcx(4)</a>
           performance by using interrupt-based command completion.
     <li>Fixed a panic seen with <a
           href="https://man.openbsd.org/rge.4">rge(4)</a> RTL8125 with MCLGETL.
   <li>Add <a href="https://man.openbsd.org/dwqe.4">dwqe(4)</a>, a    <li>Add <a href="https://man.openbsd.org/dwqe.4">dwqe(4)</a>, a
         driver for the Synopsis DesignWare Ethernet QoS controller used on the          driver for the Synopsis DesignWare Ethernet QoS controller used on the
         NXP i.MX8MP, the Rockchip RK35xx series and Intel Elkhart Lake.          NXP i.MX8MP, the Rockchip RK35xx series and Intel Elkhart Lake.
Line 389 
Line 590 
   
 <li>Added or improved wireless network drivers:  <li>Added or improved wireless network drivers:
   <ul>    <ul>
   <li>Fixed <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> issues with suspend/resume and possible firmware crashes on the M2 Macbook Air.    <li>Bumped tsleep timeout for <a
           href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> PCI devices to help
           prevent failures loading firmware, particularly on Apple M2 laptops.OA
     <li>Implemented alternative mailbox handling mechanism required by
           newer <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> firmware.
     <li>Fixed <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>
           issues with suspend/resume and possible firmware crashes on the M2
           Macbook Air.
   
   <li>Prevented an <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware error when authentication to the AP times out.    <li>Prevented an <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware error when authentication to the AP times out.
   
   <li>Fixed a crash in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> when connecting to WEP networks via <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> join.    <li>Fixed a crash in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> when connecting to WEP networks via <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> join.
   
   <li>Fixed an alignment issue in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> Rx descriptors.    <li>Fixed an alignment issue in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> Rx descriptors.
   
   <li>Avoided trying to remove keys while doing crypto in hardware if the station is not active in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware, fixing a firmware panic.    <li>Avoided trying to remove keys while doing crypto in hardware if the station is not active in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware, fixing a firmware panic.
   <li>Prevented potential panics by disallowing the <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> init task from running in parallel to wakeup code during resume.  
   <li>Switched all <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> devices to -77 firmware images.    <li>Prevented potential panics by disallowing the <a
   <li>Made <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> get the primary channel number from AP beacon info, preventing problems on 40/80Mhz channels if there is a mismatch.  href="https://man.openbsd.org/iwx.4">iwx(4)</a> init task from running
   <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> session protection event duration.  in parallel to wakeup code during resume.
   <li>Added support for the new <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> SCD_QUEUE_CONFIG command, required for adding/removing Tx queues on new firmware versions.  
   <li>Added support for the <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> BAID allocation config command, required to set up Rx aggregation on new firmware.    <li>Switched all <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>
   <li>Added support for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> RLC config command, IWX_STA_MAC_DATA_API_S_VER_2 API, and PHY context cmd version 4.  devices to -77 firmware images.
   <li>Added support for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> rate_n_flags API version 2 and removed fixed Tx rate support.  
   <li>Added support for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> TLC config command v4.    <li>Made <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> get the
   <li>Added support for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware alive response version 6.  primary channel number from AP beacon info, preventing problems on
   40/80Mhz channels if there is a mismatch.
   
     <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> session
   protection event duration.
   
     <li>Added support for the new <a
   href="https://man.openbsd.org/iwx.4">iwx(4)</a> SCD_QUEUE_CONFIG
   command, required for adding/removing Tx queues on new firmware
   versions.
     <li>Added support for the <a
   href="https://man.openbsd.org/iwx.4">iwx(4)</a> BAID allocation config
   command, required to set up Rx aggregation on new firmware.
     <li>Added support for <a
   href="https://man.openbsd.org/iwx.4">iwx(4)</a> RLC config command,
   IWX_STA_MAC_DATA_API_S_VER_2 API, and PHY context cmd version 4.
     <li>Added support for <a
   href="https://man.openbsd.org/iwx.4">iwx(4)</a> rate_n_flags API
   version 2 and removed fixed Tx rate support.
     <li>Added support for <a
   href="https://man.openbsd.org/iwx.4">iwx(4)</a> TLC config command v4.
     <li>Added support for <a
   href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware alive
   response version 6.
   
   </ul>    </ul>
   
 <li>IEEE 802.11 wireless stack improvements and bugfixes:  <li>IEEE 802.11 wireless stack improvements and bugfixes:
Line 441 
Line 676 
   <li>Fixed passing explicit stages files to    <li>Fixed passing explicit stages files to
         <a href="https://man.openbsd.org/installboot.8">installboot(8)</a>.          <a href="https://man.openbsd.org/installboot.8">installboot(8)</a>.
   
   
   <!-- architecture specific -->    <!-- architecture specific -->
     <li>Added <a
           href="https://man.openbsd.org/mount_nfs.8">mount_nfs(8)</a> to the
           sparc64 installer, to fetch sets over NFS.
     <li>Copy the apple-boot firmware to EFI system partition, enabling
           automatic bootloader updates on Apple Silicon computers.
   <li>Made the installer stop printing MD post installation instructions on upgrades.    <li>Made the installer stop printing MD post installation instructions on upgrades.
   <li>Made it possible to set keyboard layout(s) in arm64's installer.    <li>Made it possible to set keyboard layout(s) in arm64's installer.
   <li>Added initial support in the installer for guided disk    <li>Added initial support in the installer for guided disk
         encryption for amd64, i386, riscv64 and sparc64.          encryption for amd64, i386, riscv64 and sparc64.
     <li>Added passing of boot device information from the bootloader to
           the kernel on luna88k.
   <li>Switched luna88k boot loader to MI boot code.    <li>Switched luna88k boot loader to MI boot code.
   <li>Made the luna88k bootloader display a puffy boot logo.    <li>Made the luna88k bootloader display a puffy boot logo.
   <li>Made <a href="https://man.openbsd.org/ls.1">ls(1)</a> work    <li>Made <a href="https://man.openbsd.org/ls.1">ls(1)</a> work
Line 491 
Line 734 
   
   <li>Implemented a --executable-only option in <a href="https://man.openbsd.org/ld.bfd.1">ld.bfd(1)</a>.    <li>Implemented a --executable-only option in <a href="https://man.openbsd.org/ld.bfd.1">ld.bfd(1)</a>.
   
     <li>Changed <a href="https://man.openbsd.org/ld.so.1">ld.so(1)</a>
           to map certain regions of memory as immutable when loading shared
           libraries.
   
   <li>Added <a href="https://man.openbsd.org/execve.2">execve(2)</a>    <li>Added <a href="https://man.openbsd.org/execve.2">execve(2)</a>
         violations of <a          violations of <a
         href="https://man.openbsd.org/pinsyscall.2">pinsyscall(2)</a> policy          href="https://man.openbsd.org/pinsyscall.2">pinsyscall(2)</a> policy
Line 509 
Line 756 
         making this address ranges unreadable to the kernel. No programs have          making this address ranges unreadable to the kernel. No programs have
         been discovered which require reading their own text segments with a          been discovered which require reading their own text segments with a
         system call.          system call.
   
     <li>On arm64, introduce mitigation of the Spectre-BHB (Branch
           History Injection) CPU vulnerability by using core-specific trampoline
           vectors.
   
     <li>Tightened the <a
           href="https://man.openbsd.org/pledge.2">pledge(2)</a> after <a
           href="https://man.openbsd.org/ssh.1">ssh(1)</a> session establishment.
   
     <li>Enabled the Data Independent Timing (DIT) feature in both the kernel and
           userland on arm64 CPUs that support it to mitigate timing side-channel
           attacks.
   
   </ul>    </ul>
   
 <li>Changes in the network stack:  <li>Changes in the network stack:
   <ul>    <ul>
   
           <li>Made /dev/pf a clonable device to better track kernel ressources
                   used by processes.
           <li>Modified TCP receive buffer size auto-scaling to use the smoothed
                   RTT (SRTT) instead of the timestamp option, which improves performance
                   on high latency networks if the timestamp option isn't available.
           <li>Relaxed the requirement for multicast suppport of interfaces for
                   configuring IPv6.  This allows non-multicast interfaces such as
                   point-to-point interfaces and the NBMA / point-to-multipoint
                   interfaces like mpe(4), mgre(4) and wg(4) to work with IPv6.
   
           <li>Use the new <a
                   href="https://man.openbsd.org/getnsecruntime.9">getnsecruntime(9)</a>
                   timer to check the TCP_KEEPALIVE timer only against the system
                   runtime, not the uptime.  Prevents TCP connections to fail after
                   wakeing up from suspend.
   
   
         <li>Used stoeplitz (symmetric Toeplitz hash algorithm) to generate a          <li>Used stoeplitz (symmetric Toeplitz hash algorithm) to generate a
                 hash/flowid for <a href="https://man.openbsd.org/pf.4">pf(4)</a> state                  hash/flowid for <a href="https://man.openbsd.org/pf.4">pf(4)</a> state
                 keys.  With this change, pf will hash traffic the same way that                  keys.  With this change, pf will hash traffic the same way that
Line 533 
Line 810 
                 href="https://man.openbsd.org/em.4">em(4)</a> sparc64 systems.                  href="https://man.openbsd.org/em.4">em(4)</a> sparc64 systems.
         <li>Denied "pipex no" tunnel setting for <a          <li>Denied "pipex no" tunnel setting for <a
                 href="https://man.openbsd.org/pppx.4">pppx(4)</a> interfaces.                  href="https://man.openbsd.org/pppx.4">pppx(4)</a> interfaces.
           <li>Fixed <a href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>
                   crashing on pf_state_key removal.
         <li>Fixed a panic in <a          <li>Fixed a panic in <a
                 href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> when there are                  href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> when there are
                 no data ready for bulk transfer.                  no data ready for bulk transfer.
Line 681 
Line 960 
   
   <li>In <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>,    <li>In <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>,
   <ul>    <ul>
         <li>...  <!-- XXX -->
   </ul>    </ul>
   
     <li>Switched <a href="https://man.openbsd.org/tftpd.8">tftpd(8)</a> to
           default to read-only unless -w is specified for write access (the
           previous default).
     <li>Stopped printing the prompt for non-interactive usage of <a
           href="https://man.openbsd.org/tftp.1">tftp(1)</a>.
     <li>Changed <a href="https://man.openbsd.org/rarpd.8">rarpd(8)</a> to
           only unveil /tftpboot if -t is specified.
     <li>Added client certificate authentication and an optional SASL
           EXTERNAL bind to <a
           href="https://man.openbsd.org/ypldap.8">ypldap(8)</a>.
     <li>Adjusted ipv6 address width to align the display columns better
           in the output of <a href="https://man.openbsd.org/ndp.8">ndp(8)</a>,
           <a href="https://man.openbsd.org/route.8">route(8)</a> and <a
           href="https://man.openbsd.org/netstat.1">netstat(1)</a> as already
           available in <a
           href="https://man.openbsd.org/systat.1">systat(1)</a>'s netstat.
     <li>Used <a href="https://man.openbsd.org/stravis.3">stravis(3)</a> to
           sanitize redirect URIs from <a
           href="https://man.openbsd.org/ftp.1">ftp(1)</a> fetch before printing.
     <li>Prevent an <a
           href="https://man.openbsd.org/unwind.8">unwind(8)</a> crash when a tcp
           query is larger than the length field indicated.
   
     <li>Preserve the original order of nameservers as configured via <a
           href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> in <a
           href="https://man.openbsd.org/resolvd.8">resolvd(8)</a>.
   
     <li>Restrict the characters allowed in the hostname argument of <a
           href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> to the
           set [A-z0-9-_.]. Additionally two consecutive dots ('.') are not
           allowed nor can the string start with - or '.'. This removes
           characters like '$', '`', '\n' or '*' that can traverse the DNS
           without problems, but have special meaning, for example a shell.
   
     <li>Added <a
           href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> -M (mac) to
           find the mac address on an interface and print it.
   <li>Added support for configuring interfaces by lladdr to support    <li>Added support for configuring interfaces by lladdr to support
         interface configurations bound to a specfic hardware device. The "if"          interface configurations bound to a specfic hardware device. The "if"
         part of the <a          part of the <a
         href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a>          href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a>
         configuration file can now be a MAC address.          configuration file can now be a MAC address.
     <li>Limited display of wireguard peers by <a
           href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> to when
           either a wireguard interface is specified or the flag "-A" is used.
   
     <li>Implemented the RFC 8781 PREF64 router advertisement option in
           <a href="https://man.openbsd.org/rad.8">rad(8)</a> which is used to o
           communicate NAT64 prefixes to hosts.
   
     <li>Moved the documentation of flag mappings displayed by "route show" from the <a
           href="https://man.openbsd.org/netstat.1">netstat(1)</a> manpage to <a
           href="https://man.openbsd.org/route.8">route(8)</a>.
   
     <li>Improvements in <a href="https://man.openbsd.org/nc.1">nc(1)</a>:
     <ul>
       <li>Stop claiming connection success in udp mode unless true.
       <li>Do not test the connection in non-interactive mode. The test
           writes characters to the socket which can corrupt data that is
           possible piped into nc.
     </ul>
   
     <li>Added support for newlines inside the alternative names block in
           <a
           href="https://man.openbsd.org/acme-client.conf.5">acme-client.conf</a>.
     <li>Made <a
           href="https://man.openbsd.org/acme-client.1">acme-client(1)</a> use
           time checks which eliminate time-zone variation.
     <li>Encode Subject Alternative Name (SAN) entries before printing in <a
           href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>.
     <li>Prevent <a
           href="https://man.openbsd.org/acme-client.1">acme-client(1)</a> from
           leaking an http get request when receiving a redirect without a
           location header.
   
   <!-- smtpd -->    <!-- smtpd -->
   <li>Prevented <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>    <li>Prevented <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>
         abort due to a connection from a local, scoped ipv6 address.          abort due to a connection from a local, scoped ipv6 address.
Line 716 
Line 1064 
         to read-only unless <code>-w</code> is specified for write access          to read-only unless <code>-w</code> is specified for write access
         (the previous default).          (the previous default).
   <li>Changed <a href="https://man.openbsd.org/rarpd.8">rarpd(8)</a> to only unveil /tftpboot if -t is specified.    <li>Changed <a href="https://man.openbsd.org/rarpd.8">rarpd(8)</a> to only unveil /tftpboot if -t is specified.
     <li>Fixed the DIOCIGETIFACES ioctl so all network interfaces and
           interface groups are reported in <a
           href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>.
   
   
   </ul>    </ul>
   
 <li><a href="https://man.openbsd.org/tmux.1">tmux(1)</a> improvements and bug fixes:  <li><a href="https://man.openbsd.org/tmux.1">tmux(1)</a> improvements and bug fixes:
   <ul>    <ul>
           <li>Added scroll-top and scroll-bottom <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> commands to scroll so cursor is at the top or bottom respectively.
           <li>Added a -T flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> capture-pane to capture up to the last used cell and not the full width of the pane.
           <li>Preserved the marked pane when renumbering windows in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
           <li>Added modified tab key sequences to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
           <li>Changed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> to only set the extended flag when searching, which allows send-keys to work.
           <li>Added a -l flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> display-message to disable format expansion.
           <li>Fixed a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> crash when there are no window buffers.
           <li>Fixed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> C-S-Tab without extended keys.
           <li>Added <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> send-keys -K to handle keys directly as if typed.
         <li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> tty-keys accept \007 as terminator to OSC 10 or 11.          <li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> tty-keys accept \007 as terminator to OSC 10 or 11.
         <li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> recognize pasted texts wrapped in bracket paste sequences, rather than only forwarding to the program inside.          <li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> recognize pasted texts wrapped in bracket paste sequences, rather than only forwarding to the program inside.
         <li>Supported -1 without -N for list-keys in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.          <li>Supported -1 without -N for list-keys in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22