Commit Briefs
Fix unintended comparison between signed and unsigned integer.
C type conversion rules are hard, let's go shopping. ok patrick@
Support the Qualcomm Snapdragon X Elite (X1E80100) PCIe controller. We do
not do anything fancy for the SC8280XP either, so treat it equally. ok kettenis@
From what we currently use, the Qualcomm Snapdragon X Elite (X1E80100)
GPIO controller is to be treated equally as the SC8280XP, apart from the new one having a few more pins. ok kettenis@
Give the Qualcomm Snapdragon X Elite (X1E80100) the same treatment as its
predecessors and don't touch the SMMUv2. ok kettenis@
Read IPsec forwarding information once.
Fix MP race between reading ip_forwarding in ip_input() and checking ip_forwarding == 2 in ip_output(). In theory ip_forwarding could be 2 during ip_input() and later 0 in ip_output(). Then a packet would be forwarded that was never allowed. Currently exclusive netlock in sysctl(2) prevents all races. Introduce IP_FORWARDING_IPSEC and pass it with the flags parameter that was introduced for IP_FORWARDING. Instead of calling m_tag_find(), traversing the list, and comparing with NULL, just check the PACKET_TAG_IPSEC_IN_DONE bit. Reading ipsec_in_use in ip_output() is a performance hack that is not necessary. New code only checks tree bits. OK mvs@
Use correct idiom to get mac addresses from ethernet-like interfaces.
This unbreaks rad(8) on top of carp(4). OK deraadt, bluhm
The traditional LL/SC atomics perform poorly on modern arm64 systems with
many CPU cores. With the recent conversion of the sched lock to a mutex some systems appear to hang if the sched lock is contended. ARMv8.1 introduced an LSE feature that provides atomic instructions such as CAS that perform much better. Unfortunately these can't be used on older ARMv8.0 systems. Use -moutline-atomics to make the compiler generate function calls for atomic operations and provide an implementation for the functions we use in the kernel that use LSE when available and fall back on LL/SC. Fixes regressions seen on Ampere Altra and Apple M2 Pro/Max/Ultra since the conversion of the sched lock to a mutex. tested by claudio@, phessler@, mpi@ ok patrick@
Do not attach acpitz(4) if the _STA method indicates that a thermal zone
isn't present. While it isn't clear whether _STA applies to thermal zones according to the ACPI standard, this prevents issues on the Asus Vivobook S15. ok miod@, patrick@, deraadt@
Support numpad on newer macppc Apple PowerBooks
This is for newer PowerBooks with ukbd(4), and doesn't affect older models with akbd(4). The Fn key now makes a numpad, 7 8 9 0 - 7 8 9 / = U I O P => 4 5 6 * J K L ; 1 2 3 - M . / 0 . + Also, Fn+F6 is Num Lock. This acts like Num Lock on other USB keyboards, and unlike Num Lock on akbd(4). From jon (at) elytron (dot) openbsd (dot) amsterdam
remove unused agp_map functions
last use (in inteldrm) was removed in March
Change the syntax for "module" and "authenticate". "module" can have
a {} block now. On the other hand, "authentication" can be without a {} block. The previous syntax is still accepted. Also make specifying the path of "module" be optional.
Stop scheduling an I/O event by the timer when the imsg_buf has the data
larger than the imsg header. It prevented the receiver from receiving the following parts of the message.
signal handler must use the save_errno dance, and massage a variable
of type 'volatile sig_atomic_t' ok tb