OpenBSD cvs log

created 2022-09-21T07:53:52Z
begin 2022-09-10T00:00:00Z
end 2022-09-11T00:00:00Z
path src/sys
commits 9

date 2022-09-10T01:30:14Z
author cheloha
files src/sys/arch/amd64/amd64/lapic.c log diff annotate
src/sys/arch/i386/i386/lapic.c log diff annotate
message amd64, i386: lapic_initclocks: install i8254 before lapic_startclock()

In the future, the clock interrupt code will need a working
timecounter to do its job. In lapic_initclocks(), call
i8254_inittimecounter_simple() before lapic_startclock().

The i8254 may be be a piece of junk, but one timecounter is better
than none.

date 2022-09-10T08:13:16Z
author mglocker
files src/sys/dev/usb/dwc2/dwc2.c log diff annotate
src/sys/dev/usb/dwc2/dwc2var.h log diff annotate
message Finally, only allocate the number of frames for isoc transfers which we
really need. The static allocation workaround in the code
(DWC2_MAXISOCPACKETS) was required because the NetBSD allocx USB method
has a second argument to pass nframes already there, which we don't
have.

Regression tested with video play, audio play, audio record.

ok mpi@

date 2022-09-10T13:05:41Z
author kettenis
files src/sys/dev/acpi/qciic.c log diff annotate
message Add _HID for SC7180 SoCs.

ok mglocker@

date 2022-09-10T13:14:39Z
author kettenis
files src/sys/dev/acpi/qcgpio.c log diff annotate
message Generalize the code such that it works on SC7180 SoCs as well.

ok mglocker@, patrick@

date 2022-09-10T13:18:31Z
author kettenis
files src/sys/dev/acpi/acpi.c log diff annotate
message Don't restrict GPIO events to pin numbers below 256. With the _EVT()
method events corresponding to larger numbers are possible.

Fixes lid state detection on the x13s.

ok patrick@

date 2022-09-10T14:32:53Z
author kettenis
files src/sys/dev/acpi/qcgpio.c log diff annotate
message Add another pin to the SC7180 map function.

date 2022-09-10T16:14:36Z
author mpi
files src/sys/uvm/uvm_vnode.c log diff annotate
src/sys/uvm/uvm_vnode.h log diff annotate
message Get rid of the extra vnode reference known as UVM_VNODE_CANPERSIST.

Back in the 4.4BSD days the VM subystem had a OBJ_CANPERSIST flag to
enter objects in a global cached list. Some of this logic seem to have
been copied to UVM but without the global list.

Unfortunately keeping UVM vnode objects alive after munmap(2)ing the
corresponding region without incrementing the reference count of the
related vnode led to many bugs when the vnode was recycled and/or when
it data where written back to disk (via the page daemon).

The problem is that VM pages might have a non-accounted reference to a
vnode via `pg->uobject'.

Fix "vref used where vget required" panic reported by bluhm@, gkoehler@
and Andrew Krasavinseen on bugs@.

Thanks a lot to semarie@ for co-debugging this issue!

Tested by bluhm@, tb@, miod@.

ok kettenis@, semarie@

date 2022-09-10T20:35:28Z
author miod
files src/sys/arch/alpha/include/pmap.h log diff annotate
src/sys/arch/amd64/amd64/pmap.c log diff annotate
src/sys/arch/arm/arm/pmap7.c log diff annotate
src/sys/arch/arm64/arm64/pmap.c log diff annotate
src/sys/arch/hppa/hppa/pmap.c log diff annotate
src/sys/arch/hppa/include/param.h log diff annotate
src/sys/arch/m88k/include/pmap.h log diff annotate
src/sys/arch/mips64/include/pmap.h log diff annotate
src/sys/arch/powerpc/powerpc/pmap.c log diff annotate
src/sys/arch/powerpc64/powerpc64/pmap.c log diff annotate
message Remove pmap_collect() when a no-op, define __HAVE_PMAP_COLLECT otherwise.
Use that define to shunt uvm_swapout_threads(), which is a noop when
pmap_collect() does nothing.

ok mpi@

date 2022-09-10T20:35:29Z
author miod
files src/sys/arch/riscv64/riscv64/pmap.c log diff annotate
src/sys/arch/sh/include/pmap.h log diff annotate
src/sys/arch/sparc64/include/pmap.h log diff annotate
src/sys/arch/sparc64/sparc64/pmap.c log diff annotate
src/sys/uvm/uvm_glue.c log diff annotate
src/sys/uvm/uvm_pdaemon.c log diff annotate
src/sys/uvm/uvm_pmap.h log diff annotate
message Remove pmap_collect() when a no-op, define __HAVE_PMAP_COLLECT otherwise.
Use that define to shunt uvm_swapout_threads(), which is a noop when
pmap_collect() does nothing.

ok mpi@