OpenBSD cvs log

created 2020-12-12T14:28:53Z
begin 2020-12-06T00:00:00Z
end 2020-12-07T00:00:00Z
path src/sys
commits 10

date 2020-12-06T07:58:54Z
author anton
files src/sys/dev/wscons/wsmux.c log diff annotate
message Fix yet another wscons race. In the same subsystem, the following
properties must always hold true:

1. A device (wsmouse0 is this scenario) can only be opened in rw mode
once. Such device cannot be a child of a wsmux at this point as it
operates on its own event queue.

2. A device being a child of a wsmux must use the wsmux event queue
assuming the wsmux is open. Otherwise, its event queue must be NULL.

There's a race in wsmux_attach_sc() allowing a device to be part of a
mux while using its own event queue. This in turn can cause a NULL
pointer deference in wsevent_fini() while closing the same device. The
solution is to check if the race was lost, i.e. another thread managed
to open the device in rw mode while sleeping in wsmux_attach_sc().

ok gnezdo@ visa@

Reported-by: [email protected]

date 2020-12-06T15:31:30Z
author bluhm
files src/sys/arch/i386/include/setjmp.h log diff annotate
message Introduce constants to access the setjmp(3) jmp_buf fields from
i386 libc. The assembler code is more readable than with magic
numbers. This brings i386 in line with amd64. No change in object
file.
OK kettenis@

date 2020-12-06T16:50:01Z
author kettenis
files src/sys/dev/fdt/if_mvneta.c log diff annotate
message Use 1000baseKX and 2500baseKX media types for fixed link connections an
onboard switch. While this technically isn't 100% accurate it gives
users an easy way to see what the speed of the connection is when looking
at ifconfig(8) output.

ok patrick@, benno@, sthen@, phessler@

date 2020-12-06T17:57:03Z
author kettenis
files src/sys/arch/arm64/stand/efiboot/efiacpi.c log diff annotate
message Add missing byteswaps.

ok patrick@

date 2020-12-06T19:18:30Z
author cheloha
files src/sys/kern/kern_srp.c log diff annotate
message srp_finalize(9): tsleep(9) -> tsleep_nsec(9)

srp_finalize(9) spins until the refcount hits zero. Blocking for at
least 1ms each iteration instead of blocking for at most 1 tick is
sufficient.

Discussed with mpi@.

ok claudio@ jmatthew@

date 2020-12-06T19:23:11Z
author cheloha
files src/sys/dev/pci/mbg.c log diff annotate
message mbg(4): more tsleep(9) -> tsleep_nsec(9)

The mbg(4) driver sometimes needs to spin until the MBG_BUSY flag goes
away. If the kernel is cold it calls delay(9) for 20us an iteration
for up to 50 iterations. If the kernel is not cold it sleeps for up 1
tick per iteration for up to hz/10 iterations.

To switch from tsleep(9) to tsleep_nsec(9) claudio@ suggests blocking
for at least 1ms per iteration for up to 10 iterations. He reasons
that the flag change is expected to take ~70us, so 10 x 1ms (or more)
is more than enough.

Discussed with mpi@.

ok claudio@

date 2020-12-06T20:39:07Z
author kettenis
files src/sys/arch/arm64/conf/GENERIC log diff annotate
src/sys/dev/acpi/acpivar.h log diff annotate
src/sys/dev/acpi/dwgpio.c log diff annotate
src/sys/dev/acpi/files.acpi log diff annotate
message Add dwgpio(4) a driver for the Synopsys DesignWare GPIO controller.

ok gnedzo@

date 2020-12-06T21:19:55Z
author kettenis
files src/sys/arch/arm64/arm64/acpi_machdep.c log diff annotate
src/sys/dev/acpi/acpivar.h log diff annotate
message Implement acpi_intr_disestablish() for arm64.

ok patrick@

date 2020-12-06T21:20:41Z
author kettenis
files src/sys/arch/arm64/dev/acpipci.c log diff annotate
message Implement pci_intr_disestablish(9) for acpicpi(4) on arm64.

ok patrick@

date 2020-12-06T21:42:24Z
author kettenis
files src/sys/arch/amd64/amd64/acpi_machdep.c log diff annotate
message Implement acpi_intr_disestablish() for amd64.

ok mpi@