OpenBSD cvs log

created 2023-04-23T03:24:40Z
begin 2023-04-18T00:00:00Z
end 2023-04-19T00:00:00Z
path src/sys
commits 16

date 2023-04-18T05:27:04Z
author dlg
files src/sys/dev/fdt/rkclock.c log diff annotate
src/sys/dev/fdt/rkclock_clocks.h log diff annotate
message add the emmc clocks on rk3568 (and rk3566)

date 2023-04-18T05:28:41Z
author dlg
files src/sys/dev/fdt/rkclock.c log diff annotate
message tweak a printf for an unhandled clock in rkclock_get_frequency.

this makes rkclock_get_frequency more like rkclock_set_frequency.

date 2023-04-18T08:35:02Z
author patrick
files src/sys/dev/fdt/mvtemp.c log diff annotate
message Support upstreamed AP806/CP110 bindings in mvtemp(4). Apparently older EDK2
versions shipped bindings compatible with the Armada 380, but when the ARM64
SoCs were upstreamed from the vendor fork to Linux, those apparently were
adjusted.

With this diff mvtemp(4) now tries and use the parent as syscon regmap in case
the legacy binding cannot be used. Furthermore this adds some initialization
as apparently the new EDK2 does less of that work during bootup.

Noticed by mbuhl@ who's running an updated EDK2 on the MACCHIATObin.
ok kettenis@

date 2023-04-18T09:54:53Z
author mvs
files src/sys/net/rtsock.c log diff annotate
message Call sysctl_ifnames() with shared netlock. It performs read-only access
to netlock protected data.

ok kn@ bluhm@

date 2023-04-18T09:55:34Z
author mvs
files src/sys/net/rtsock.c log diff annotate
message Call sysctl_iflist() with shared netlock. It performs read-only access
to netlock protected data.

ok kn@ bluhm@

date 2023-04-18T09:56:54Z
author mvs
files src/sys/net/rtsock.c log diff annotate
message Call sysctl_dumpentry() with shared netlock. It performs read-only
access to netlock protected data. Please note, kernel lock is still
taken, as required by rtable_getsource() or BFD subsystem.

ok kn@ bluhm@

date 2023-04-18T09:58:06Z
author jsg
files src/sys/dev/ic/com.c log diff annotate
message Add another check to com probe

With this bentley@'s Steam Deck no longer attaches these:
com0 at isa0 port 0x3f8/8 irq 4: ns8250, no fifo
com1 at isa0 port 0x2f8/8 irq 3: ns8250, no fifo
com2 at isa0 port 0x3e8/8 irq 5: ns8250, no fifo

From Matthias Drochner in NetBSD rev 1.154
ok kettenis@

date 2023-04-18T10:19:16Z
author mvs
files src/sys/net/art.h log diff annotate
src/sys/net/rtable.c log diff annotate
message Rename 'art_root' structure member `source' to `ar_source' to be in
accordance with all other 'art_root' structure members.

Proposed by bluhm@

ok bluhm@ kn@

date 2023-04-18T12:39:32Z
author kettenis
files src/sys/arch/arm64/dev/acpipci.c log diff annotate
message Resolve namerefs in packages. Fixes legacy interrupts on machines that use
PNP0C0F PCI interrupt link devices.

ok patrick@

date 2023-04-18T21:22:00Z
author patrick
files src/sys/dev/pci/xhci_pci.c log diff annotate
message Map MSI-X in addition to MSI and INTx on xhci(4). On Qemu apparently
the xHCI controller does not support MSIs, but does support MSI-X. With
this diff running on Qemu/arm64 we switch over from shared INTx to device-
specific MSI-X interrupts.

Tested by and ok phessler@
ok dlg@

date 2023-04-18T22:00:19Z
author mvs
files src/sys/net/if.c log diff annotate
src/sys/net/if_var.h log diff annotate
message Document `ifnetlist' locking.

We use both kernel and net lock for protect `ifnetlist'. This means we
do modification with both locks held, but for read-only access only one
lock required. Some places doing `ifnetlist' foreach loop are protected
by kernel lock and context switch can't be introduced there. This is the
exception, so "XXXSMP:" comment added.

Proposed and ok by bluhm@

date 2023-04-18T22:01:23Z
author mvs
files src/sys/dev/usb/if_umb.c log diff annotate
message Remove kernel lock from ifa_ifwithaddr() and ifa_ifwithdstaddr().
Netlock protects `if_list', `ifa_list' and returned `ifa' dereference,
so put netlock assertion within.

Please note, rtable_setsource() doesn't destroy data pointed by
`ar_source'. This is the `ifa_addr' data belongs to `ifa' and exclusive
netlock is required to destroy it. So the kernel lock is not required
within rt_setsource(). Take netlock by rt_setsource() caller to make
`ifa' dereference safe.

Suggestions and ok by bluhm@

date 2023-04-18T22:01:24Z
author mvs
files src/sys/net/if.c log diff annotate
src/sys/net/if_var.h log diff annotate
src/sys/net/rtsock.c log diff annotate
message Remove kernel lock from ifa_ifwithaddr() and ifa_ifwithdstaddr().
Netlock protects `if_list', `ifa_list' and returned `ifa' dereference,
so put netlock assertion within.

Please note, rtable_setsource() doesn't destroy data pointed by
`ar_source'. This is the `ifa_addr' data belongs to `ifa' and exclusive
netlock is required to destroy it. So the kernel lock is not required
within rt_setsource(). Take netlock by rt_setsource() caller to make
`ifa' dereference safe.

Suggestions and ok by bluhm@

date 2023-04-18T22:20:16Z
author kn
files src/sys/netinet/in.c log diff annotate
message Hoist identical privilege checks in in_ioctl*()

All cases do the same check as first step, so merge it before the switch
and before grapping exclusive locks.

OK mvs

date 2023-04-18T23:11:56Z
author dlg
files src/sys/arch/arm64/stand/efiboot/conf.c log diff annotate
src/sys/arch/arm64/stand/efiboot/efidev.c log diff annotate
src/sys/arch/arm64/stand/efiboot/efidev.h log diff annotate
message add support for loading files from the EFI System Partition.

this means you can put a bsd.rd next to BOOTAA64.EFI and go "boot
esp0a:bsd.rd" (assuming bsd.rd is in the root of the boot partition).

cool! krw@
ok kettenis@ patrick@

date 2023-04-18T23:44:21Z
author dlg
files src/sys/dev/fdt/dwmshc.c log diff annotate
message support Designware Mobile Storage Host Controllers

this is used on rk356x and rk3588 SoCs as the emmc controller.

this is actually an sdhc(4) controller, but it has a lot of extra
registers and code for dealing with clock rates. i could have added
this to sdhc_fdt.c, but the amount of this extra code and the lack
of overlap with other chips meant id be splitting the code up based
on the chip id, which is something the autoconf/device framework
already does for us.

some help and ok from patrick@
ok jmatthew@