OpenBSD cvs log

created 2023-08-09T11:40:52Z
begin 2022-11-29T00:00:00Z
end 2022-12-06T00:00:00Z
path src/sys
commits 34

date 2022-11-29T00:58:05Z
author cheloha
files src/sys/arch/macppc/macppc/clock.c log diff annotate
src/sys/arch/powerpc/include/_types.h log diff annotate
src/sys/arch/powerpc/include/cpu.h log diff annotate
message powerpc, macppc: switch to clockintr

- Remove powerpc-specific clock interrupt scheduling bits from cpu_info.
- Remove macppc-specific randomized statclock() bits from macppc/clock.c.
- Remove the 'stat_count' evcount. All clock interrupts are now counted
via the 'clock_count' evcount.
- Wire up dec_intrclock.

Bringup help from gkoehler@. The patch has survived five or six
kernel-release-upgrade cycles on my dual-core PowerMac3,6.

Link: https://marc.info/?l=openbsd-tech&m=166776385003520&w=2

ok gkoehler@ mlarkin@

date 2022-11-29T01:04:44Z
author cheloha
files src/sys/arch/powerpc64/include/_types.h log diff annotate
src/sys/arch/powerpc64/include/cpu.h log diff annotate
src/sys/arch/powerpc64/powerpc64/clock.c log diff annotate
message powerpc64: switch to clockintr

- Remove powerpc64-specific clock interrupt scheduling bits from
cpu_info.
- Remove powerpc64-specific randomized statclock() bits from
powerpc64/clock.c.
- Remove the 'stat_count' evcount. All clock interrupts are now counted
via the 'clock_count' evcount.
- Wire up dec_intrclock.

Bringup help from gkoehler@. Tested by gkoehler@: this patch has
survived four kernel-release-upgrade cycles on a Raptor Talos II
T2P9S01 sporting a quad-core POWER9 CPU.

Link: https://marc.info/?l=openbsd-tech&m=166776404803622&w=2

ok gkoehler@ mlarkin@

date 2022-11-29T02:19:29Z
author guenther
files src/sys/arch/amd64/amd64/acpi_wakecode.S log diff annotate
src/sys/arch/amd64/amd64/mptramp.S log diff annotate
message Put the original image of the MP-startup and ACPI-suspend/hibernate
trampolines into .rodata instead of .text. While here, give types
and sizes to all the global symbols and delete some superfluous
directives and unrelocated symbols in the ACPI trampoline image.

ok mlarkin@

date 2022-11-29T06:29:45Z
author anton
files src/sys/dev/usb/uhidpp.c log diff annotate
message Add support for Bolt receivers. They use different registers for the
device name and type.

date 2022-11-29T06:30:34Z
author anton
files src/sys/dev/usb/uhidpp.c log diff annotate
message Add support for the Unified Battery feature found in many more recent Logitech
HID++ hardware which should cause battery sensors to be exposed for more
devices. Positive test reports from the following:

* Lift mouse (anton@)
* MX Anywhere 3 mouse (Paul de Weerd)
* MX Ergo trackball (kn@)

date 2022-11-29T21:41:39Z
author guenther
files src/sys/arch/amd64/amd64/bus_space.c log diff annotate
src/sys/arch/amd64/amd64/cpu.c log diff annotate
src/sys/arch/amd64/amd64/locore.S log diff annotate
src/sys/arch/amd64/amd64/machdep.c log diff annotate
src/sys/arch/amd64/amd64/pmap.c log diff annotate
src/sys/arch/amd64/include/biosvar.h log diff annotate
src/sys/arch/amd64/include/cpu.h log diff annotate
message Move the generic variable definitions from the ASM at the top of
locore.S to be in C in cpu.c, machdep.c, pmap.c, or bus_space.c for
better typing/debug info. Delete REALBASEMEM, REALEXTMEM, and
biosextmem as unused/ignored.

ok mpi@ krw@ mlarkin@

date 2022-11-30T09:52:13Z
author patrick
files src/sys/dev/fdt/qcpwm.c log diff annotate
message Provide default address for qcpwm(4), as Linux upstream removed it from
the device tree.

date 2022-11-30T10:20:37Z
author mvs
files src/sys/kern/syscalls.master log diff annotate
message Unlock getsockopt(2) and setsockopt(2). Unlock them both because at
protocol layer they follow the same (*pr_ctloutput)() handlers.

At sockets layer we touch only per-socket data, which is solock()
protected.

At protocol layer, udp(4), unix(4) and key management sockets have no
(*pr_ctloutput)() handlers. route_ctloutput() touches only per socket
data, which is solock() protected. inet{,6} globals are protected by
netlock, which is solock() backend for corresponding sockets.

ok bluhm@

date 2022-11-30T10:21:29Z
author mvs
files src/sys/kern/init_sysent.c log diff annotate
src/sys/kern/syscalls.c log diff annotate
src/sys/sys/syscall.h log diff annotate
src/sys/sys/syscallargs.h log diff annotate
message regen

date 2022-11-30T13:58:39Z
author kn
files src/sys/kern/uipc_syscalls.c log diff annotate
message Use shared socket/net lock for IP sockets

so{,un}lock_shared() take the shared net lock for PF_INET and PF_INET6
while sticking to the exclusive rwlock elsewhere.

getsockopt(2), getsockname(2) and getpeername(2) (all UNLOCK) do not
write, so the exclusive net lock is overkill here.

OK mvs

date 2022-11-30T14:01:02Z
author kn
files src/sys/netinet6/in6.c log diff annotate
message Unlock nd6_ioctl(), push kernel lock into in6_ioctl_{get,change_ifaddr}()

Neighbour Discovery information is protected by the net lock, as
documented in nd6.h struct nd_ifinfo.

ndp(8) is the only SIOCGIFINFO_IN6 and SIOCGNBRINFO_IN6 user in base.

nd6_lookup(), also used in ICMP6 input and IPv6 forwarding, only needs
the net lock.

OK mvs

date 2022-12-01T00:26:15Z
author guenther
files src/sys/arch/amd64/amd64/acpi_wakecode.S log diff annotate
src/sys/arch/amd64/amd64/copy.S log diff annotate
src/sys/arch/amd64/amd64/locore.S log diff annotate
src/sys/arch/amd64/amd64/locore0.S log diff annotate
src/sys/arch/amd64/amd64/mptramp.S log diff annotate
src/sys/arch/amd64/amd64/spl.S log diff annotate
src/sys/arch/amd64/amd64/vector.S log diff annotate
src/sys/arch/amd64/amd64/vmm_support.S log diff annotate
src/sys/arch/amd64/include/asm.h log diff annotate
src/sys/arch/amd64/include/i82093reg.h log diff annotate
src/sys/lib/libkern/arch/amd64/htonl.S log diff annotate
src/sys/lib/libkern/arch/amd64/htons.S log diff annotate
message _C_LABEL() is no longer useful in the "everything is ELF" world.
Start eliminating it.

ok mpi@ mlarkin@ krw@

date 2022-12-02T07:29:30Z
author jsg
files src/sys/dev/pci/pcidevs log diff annotate
message add Intel Optane SSD DC P5800X
from Andreas Bartelt

date 2022-12-02T07:30:53Z
author jsg
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message regen

date 2022-12-02T12:27:08Z
author jca
files src/sys/arch/riscv64/include/asm.h log diff annotate
src/sys/arch/riscv64/riscv64/cpuswitch.S log diff annotate
src/sys/arch/riscv64/riscv64/exception.S log diff annotate
src/sys/arch/riscv64/riscv64/locore.S log diff annotate
message Drop _C_LABEL() uses in riscv64-specific code

_C_LABEL() was useful in the a.out->ELF transition days, way before
RISC-V was a thing.

Also drop uses of _ASM_LABEL() while here, suggested by guenther@
ok guenther@

date 2022-12-02T12:56:51Z
author kn
files src/sys/netinet6/in6.c log diff annotate
message Unlock in6_ioctl_get() aka. SIOCGIF{DSTADDR,NETMASK,AFLAG,ALIFETIME}_IN6

First the right address is picked from the net lock protected if_addrlist.
Then all ioctls just copy out the address, nothing requires the kernel lock.

SIOCGIFDSTADDR_IN6 checks the net lock protected if_flags,
SIOCGIFALIFETIME_IN6 computes lifetimes which only need the address.

This removes the last kernel lock from IPv6 read ioctls (multicast being
the untouched exception here).

Users of these ioctl(2)s are route6d(8), rad(8), slaacd(8), isakmpd(8) and
of course ifconfig(8).

OK mvs

date 2022-12-02T12:58:37Z
author kn
files src/sys/netinet6/nd6_nbr.c log diff annotate
message Remove useless variable, simplify code

Using a local `duplicate' variable to defer the actual checks by a few
lines, interleaved with comments (saying the same thing but negated),
is harder to follow that neccessary.

Fold the logic and merge comments (remove the last obvious one missing
a negation) to save 20 LOC.

OK bluhm

date 2022-12-02T15:35:35Z
author kn
files src/sys/netinet6/nd6.c log diff annotate
src/sys/netinet6/nd6.h log diff annotate
src/sys/netinet6/nd6_nbr.c log diff annotate
message Remove constant basereachable and retrans members from struct nd_ifinfo

Both are initalised with compile-time constants and never written to.

They are part of the Neighbour Discovery machinery and only surface
through the single-user SIOCGIFINFO_IN6:
$ ndp -i lo0
basereachable=30s0ms, reachable=39s, retrans=1s0ms

These values are read-only since 2017
sys/netinet6/nd6.c r1.217
usr.sbin/ndp/ndp.c r1.85
Remove knob and always do neighbor unreachable detection

Inline the macros (to keep meaningful names), shrink the per-interface
allocated struct nd_ifinfo to what is actually needed and inline
nd6_dad_starttimer()'s constant `msec' argument.

Nothing else in base, incl. regress, uses SIOCGIFINFO_IN6 or `ndp -i'.

OK bluhm

date 2022-12-03T01:18:03Z
author jsg
files src/sys/dev/pci/drm/i915/gt/intel_gt.c log diff annotate
message drm/i915: fix TLB invalidation for Gen12 video and compute engines

From Andrzej Hajda
ee2d04f23bbb16208045c3de545c6127aaa1ed0e in linux 5.15.y/5.15.81
04aa64375f48a5d430b5550d9271f8428883e550 in mainline linux

date 2022-12-03T03:04:36Z
author jsg
files src/sys/dev/pci/pcidevs log diff annotate
message add AMD family 19h model 61h (Raphael) ids
initial diff from Laurence Tratt; ok mlarkin@

date 2022-12-03T03:05:13Z
author jsg
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message regen

date 2022-12-03T10:57:04Z
author yasuoka
files src/sys/dev/pv/vmt.c log diff annotate
message Modify vmt to use the buffer allocated in pvbus directly instead of
the buffer in the vmt softc when doing RPC for PVBUSIOC_KV{READ|WRITE}
ioctl.

ok asou

date 2022-12-03T13:31:32Z
author kettenis
files src/sys/arch/arm64/dev/aplcpu.c log diff annotate
message The device tree bindings for aplcpu(4) changed once more, recycling the
"apple,cluster-cpufreq" compatible that was used for the first version.
Add support for the "new new" binding while retaining support for the
"old new" binding. Hopefully nobody is using the "old" binding anymore
now that we update the m1n1+u-boot+dtb "boot firmware" automatically on
sysupgrade.

ok patrick@, tobhe@

date 2022-12-03T13:42:23Z
author kettenis
files src/sys/arch/arm64/dev/aplmbox.c log diff annotate
src/sys/arch/arm64/dev/rtkit.c log diff annotate
src/sys/arch/arm64/dev/rtkit.h log diff annotate
message Rework the RTKit code such that we don't spin forever if for some reason
we don't get the expected replies from the firmware on the other side.

ok patrick@

date 2022-12-03T15:02:30Z
author jca
files src/sys/arch/riscv64/include/asm.h log diff annotate
message Add ENTRY_NB() and use it for brk.S and sbrk.S on riscv64

NB for "No Binding". This gets us rid of clang-13 warnings about
a global symbol redefined as weak. Mostly a copy of what guenther@
already implemented on other archs. ok guenther@ tb@

date 2022-12-03T15:03:49Z
author jca
files src/sys/arch/riscv64/riscv64/clock.c log diff annotate
message Use evcount_percpu(9) for clock interrupts

ok cheloha@

date 2022-12-04T03:13:52Z
author jsg
files src/sys/dev/pci/pcidevs log diff annotate
message add Intel DG1, DG2, ATS-M ids

from linux 6.1 i915_pciids.h, Mesa 22.3 iris_pci_ids.h

Intel Iris Xe MAX Graphics Open Source Programmer's Reference Manual
Volume 4: Configurations

date 2022-12-04T03:14:20Z
author jsg
files src/sys/dev/pci/pcidevs.h log diff annotate
src/sys/dev/pci/pcidevs_data.h log diff annotate
message regen

date 2022-12-05T07:30:51Z
author kettenis
files src/sys/arch/arm64/dev/aplaudio.c log diff annotate
message Calculate the bit clock based on number of channels, bytes/sample and
sample rate instead of relying on the "mclk-fs" property. This property
is no longer present in upstream device trees.

ok ratchov@

date 2022-12-05T07:37:57Z
author kettenis
files src/sys/dev/pci/drm/drm_connector.c log diff annotate
src/sys/dev/pci/drm/drm_mode_object.c log diff annotate
src/sys/dev/pci/drm/i915/Attic/i915_drv.c log diff annotate
message Trigger a kevent when we change the backlight. This gives the Xorg
drivers a chance to notice the update of the Backlight connector property
when we change it behind its back.

ok jsg@

date 2022-12-05T07:40:21Z
author kettenis
files src/sys/dev/pci/drm/amd/amdgpu/amdgpu_kms.c log diff annotate
message Add support for the Backlight connector property like we already have for
inteldrm(4). This makes xbacklight(1) work when using the Xorg modesetting
driver. The Xorg amdgpu driver needs a small change for this that should
land soon.

ok jsg@

date 2022-12-05T08:58:49Z
author visa
files src/sys/kern/subr_evcount.c log diff annotate
message Avoid event counter re-insert in evcount_percpu()

This fixes evcount_list corruption that happened when evcount_percpu()
was called after evcount_init_percpu().

OK jca@ cheloha@ jmatthew@

date 2022-12-05T08:59:28Z
author visa
files src/sys/arch/mips64/mips64/clock.c log diff annotate
src/sys/arch/mips64/mips64/ipifuncs.c log diff annotate
message Use evcount_percpu() with mips64 clock and ipi interrupt counters.

OK jca@ cheloha@

date 2022-12-05T23:18:37Z
author deraadt
files src/sys/kern/exec_elf.c log diff annotate
src/sys/kern/exec_subr.c log diff annotate
src/sys/kern/kern_bufq.c log diff annotate
src/sys/kern/kern_descrip.c log diff annotate
src/sys/kern/kern_exit.c log diff annotate
src/sys/kern/kern_ktrace.c log diff annotate
src/sys/kern/kern_pledge.c log diff annotate
src/sys/kern/kern_sched.c log diff annotate
src/sys/kern/kern_sensors.c log diff annotate
src/sys/kern/kern_tc.c log diff annotate
src/sys/kern/kern_time.c log diff annotate
src/sys/kern/kern_timeout.c log diff annotate
src/sys/kern/kern_unveil.c log diff annotate
src/sys/kern/kern_xxx.c log diff annotate
src/sys/kern/makesyscalls.sh log diff annotate
src/sys/kern/sched_bsd.c log diff annotate
src/sys/kern/spec_vnops.c log diff annotate
src/sys/kern/subr_extent.c log diff annotate
src/sys/kern/sys_pipe.c log diff annotate
src/sys/kern/sys_process.c log diff annotate
src/sys/kern/uipc_syscalls.c log diff annotate
src/sys/kern/uipc_usrreq.c log diff annotate
src/sys/kern/vfs_getcwd.c log diff annotate
message zap a pile of dangling tabs