OpenBSD cvs log

created 2022-11-04T09:54:05Z
begin 2022-10-30T00:00:00Z
end 2022-10-31T00:00:00Z
path src/sys
commits 4

date 2022-10-30T10:55:52Z
author kn
files src/sys/dev/isa/sbdsp.c log diff annotate
message Move duplex check from sbdsp_midi_open() to sbdsp_open() where it belongs

sbdsp.c r1.42 "Replace audio(9) get_props() with duplex check in open()
in partial duplex drivers" added it to the wrong function.

date 2022-10-30T15:34:54Z
author patrick
files src/sys/dev/acpi/xhci_acpi.c log diff annotate
message On the Lenovo X13s attaching to the multiport USB controller leads to hard
resets. Previously this was only seen with smmu(4) enabled, probably as
there is no IORT reference to that controller and hence no IOMMU mapping
established. Since recent BIOS updates, this now also happens without
smmu(4) enabled. Let's skip this node for now to keep machines running.

Prompted by deraadt@
ok phessler@

date 2022-10-30T17:43:39Z
author guenther
files src/sys/arch/alpha/alpha/machdep.c log diff annotate
src/sys/arch/amd64/amd64/machdep.c log diff annotate
src/sys/arch/arm/arm/arm_machdep.c log diff annotate
src/sys/arch/arm64/arm64/machdep.c log diff annotate
src/sys/arch/hppa/hppa/machdep.c log diff annotate
src/sys/arch/i386/i386/machdep.c log diff annotate
src/sys/arch/m88k/m88k/m88k_machdep.c log diff annotate
src/sys/arch/macppc/macppc/machdep.c log diff annotate
src/sys/arch/mips64/mips64/mips64_machdep.c log diff annotate
src/sys/arch/powerpc64/powerpc64/machdep.c log diff annotate
message Simplfity setregs() by passing it the ps_strings and switching
sys_execve() to return EJUSTRETURN.

setregs() is the MD routine used by sys_execve() to set up the
thread's trapframe and PCB such that, on 'return' to userspace, it
has the register values defined by the ABI and otherwise zero. It
had to set the syscall retval[] values previously because the normal
syscall return path overwrites a couple registers with the retval[]
values. By instead returning EJUSTRETURN that and some complexity
with program-counter handling on m88k and sparc64 goes away.

Also, give setregs() add a 'struct ps_strings *arginfo' argument
so powerpc, powerpc64, and sh can directly get argc/argv/envp
values for registers instead of copyin()ing the one in userspace.

Improvements from miod@ and millert@
Testing assistance miod@, kettenis@, and aoyama@
ok miod@ kettenis@

date 2022-10-30T17:43:40Z
author guenther
files src/sys/arch/riscv64/riscv64/machdep.c log diff annotate
src/sys/arch/sh/sh/sh_machdep.c log diff annotate
src/sys/arch/sparc64/sparc64/machdep.c log diff annotate
src/sys/kern/init_main.c log diff annotate
src/sys/kern/kern_exec.c log diff annotate
src/sys/sys/exec.h log diff annotate
message Simplfity setregs() by passing it the ps_strings and switching
sys_execve() to return EJUSTRETURN.

setregs() is the MD routine used by sys_execve() to set up the
thread's trapframe and PCB such that, on 'return' to userspace, it
has the register values defined by the ABI and otherwise zero. It
had to set the syscall retval[] values previously because the normal
syscall return path overwrites a couple registers with the retval[]
values. By instead returning EJUSTRETURN that and some complexity
with program-counter handling on m88k and sparc64 goes away.

Also, give setregs() add a 'struct ps_strings *arginfo' argument
so powerpc, powerpc64, and sh can directly get argc/argv/envp
values for registers instead of copyin()ing the one in userspace.

Improvements from miod@ and millert@
Testing assistance miod@, kettenis@, and aoyama@
ok miod@ kettenis@