OpenBSD cvs log

created 2024-07-28T04:34:30Z
begin 2024-07-24T00:00:00Z
end 2024-07-25T00:00:00Z
path src/sys
commits 9

date 2024-07-24T12:15:55Z
author mpi
files src/sys/uvm/uvm_device.c log diff annotate
message Remove assertion in udv_detach(), the function is already mpsafe.

ok jca@, claudio@

date 2024-07-24T12:16:21Z
author mpi
files src/sys/uvm/uvm_vnode.c log diff annotate
message Grab the kernel lock in preparation for unlocking most of uvm_unmap_detach().

ok jca@, claudio@

date 2024-07-24T12:17:31Z
author mpi
files src/sys/kern/kern_exit.c log diff annotate
src/sys/uvm/uvm_extern.h log diff annotate
src/sys/uvm/uvm_map.c log diff annotate
message Move uvm_exit() outside of the KERNEL_LOCK() in the reaper.

Use atomic operations to reference count VM spaces.

Tested by claudio@, bluhm@, sthen@, jca@

ok jca@, claudio@

date 2024-07-24T12:18:10Z
author mpi
files src/sys/uvm/uvm_pager.c log diff annotate
message Remove workaround for lock ordering issue in uvm_pseg_get().

Now that uvm_unmap_detach() no longer grab the KERNEL_LOCK() it should be
safe to call it with the `uvm_pseg_lck' mutex held via uvm_km_valloc_try().

ok jca@, claudio@

date 2024-07-24T13:37:05Z
author claudio
files src/sys/kern/subr_log.c log diff annotate
message Use a different mutex to protect the kqueue klist in logsoftc.

knote_locked() will call wakeup() and with it the SCHED_LOCK and by that
makes log_mtx no longer a leaf lock. By using an own lock for the klist
we can keep log_mtx a leaf lock and with that printf(9) can be used in
most contexts again.
OK mvs@

date 2024-07-24T15:30:17Z
author claudio
files src/sys/kern/kern_exit.c log diff annotate
message Remove the (pr->ps_single->p_flag & P_SUSPSINGLE) == 0 check since it
is always true. Also consitently wrap all flag checks into parantheses.
OK kettenis@ guenther@

date 2024-07-24T15:31:08Z
author claudio
files src/sys/kern/kern_sig.c log diff annotate
message KASSERT that the ps_single proc has P_SUSPSINGLE cleared.
Requested by kettenis@ and guenther@

date 2024-07-24T21:04:12Z
author dv
files src/sys/arch/amd64/amd64/vmm_machdep.c log diff annotate
message vmm(4): drop checks for EPT or RVI in some functions.

vmm(4) only supports using nested paging on Intel or AMD and no
longer supports HLAT or shadow paging.

ok mlarkin@

date 2024-07-24T21:24:18Z
author kettenis
files src/sys/arch/arm64/arm64/cpu.c log diff annotate
src/sys/arch/arm64/arm64/machdep.c log diff annotate
src/sys/arch/arm64/arm64/trap.c log diff annotate
src/sys/arch/arm64/include/armreg.h log diff annotate
src/sys/arch/arm64/include/cpu.h log diff annotate
message If the CPU cores implement FEAT_IDST, emulate access to the CPU ID
registers from userland and set HWCAP_CPUID. This will allow detection
of features to be introduced into the architecture in the future without
allocating new HWCAP_xxx or HWCAP2_xxx bits. We provide the same
sanitized view of the CPU ID registers as is currently available through
sysctl(2).

Note that this introduces an unconditional read of ID_AA64MMFR2_EL1. This
is known to cause problems on older versions of QEMU. If this turns out
to be a problem in cases where updating QEMU is not an option, we'll have
to implement a workaround.

Also note that since we don't emulate the CPU ID registers on older core,
this means that microarchitectural optimizations keyed of reads of MIDR_EL1
are not possible on OpenBSD. I don't think that is a real problem.

ok jca@