OpenBSD cvs log

created 2020-11-21T19:46:02Z
begin 2020-07-13T00:00:00Z
end 2020-07-14T00:00:00Z
path src/sys
commits 16

date 2020-07-13T00:05:39Z
author kn
files src/sys/dev/softraid.c log diff annotate
message Fix malloc(9) size

Spotted while reading the code, we overallocate quite a bit:

(gdb) p sizeof(struct sr_meta_crypto) - sizeof(struct sr_meta_boot)
$1 = 2312

OK jsing

date 2020-07-13T00:06:22Z
author kn
files src/sys/dev/softraid_crypto.c log diff annotate
message Add size to free() call

OK mvs

date 2020-07-13T03:21:33Z
author dlg
files src/sys/net/if_bridge.c log diff annotate
message when adding a non-existent interface as a port, don't try create missing ones.

this was annoying if i made a typo like "ifconfig bridge0 add gre0"
instead of "ifconfig bridge0 add egre0" because it would create gre0
and then get upset cos it's not an Ethernet interface. also, it
left gre0 lying around.

this used to be useful when configuring a bridge on boot because
interfaces used to be created when they were configured, and bridges
could be configured before some virtual interfaces. however, netstart
now creates all necessary interfaces before configuring any of them,
so bridge being helpful isn't necessary anymore.

ok kn@

date 2020-07-13T03:28:20Z
author dlg
files src/sys/net/if_switch.c log diff annotate
message let's be explicit about only supporting Ethernet ports as members.

the packet parsing code expects Ethernet packets, so only allow
Ethernet interfaces to be added.

ok sthen@

date 2020-07-13T06:25:17Z
author jsg
files src/sys/dev/pci/drm/drm_legacy_misc.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/amdgpu_device.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/amdgpu_gtt_mgr.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/amdgpu_vm.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/amdgpu_vram_mgr.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/gmc_v10_0.c log diff annotate
src/sys/dev/pci/drm/amd/amdgpu/gmc_v9_0.c log diff annotate
src/sys/dev/pci/drm/i915/i915_gem.c log diff annotate
src/sys/dev/pci/drm/i915/gem/i915_gem_context.c log diff annotate
src/sys/dev/pci/drm/i915/gem/i915_gem_object.c log diff annotate
message change some drm locks from IPL_TTY to IPL_NONE

In drm linux spinlocks are mapped to mutex(9). Locks without calls to
spin_lock_irqsave(), spin_lock_irq() and the like (which block
interrupts) can be changed to IPL_NONE.

ok kettenis@

date 2020-07-13T06:25:18Z
author jsg
files src/sys/dev/pci/drm/i915/gt/intel_gtt.c log diff annotate
src/sys/dev/pci/drm/i915/gt/intel_ppgtt.c log diff annotate
src/sys/dev/pci/drm/i915/gt/intel_timeline.c log diff annotate
src/sys/dev/pci/drm/i915/gt/uc/intel_guc_submission.c log diff annotate
src/sys/dev/pci/drm/ttm/ttm_memory.c log diff annotate
message change some drm locks from IPL_TTY to IPL_NONE

In drm linux spinlocks are mapped to mutex(9). Locks without calls to
spin_lock_irqsave(), spin_lock_irq() and the like (which block
interrupts) can be changed to IPL_NONE.

ok kettenis@

date 2020-07-13T08:26:26Z
author stsp
files src/sys/net80211/ieee80211_pae_input.c log diff annotate
message When a wifi interface acts as a client and the WPA handshake is done,
update the WPA group cipher value in interface configuration data.

Code relying in this value will otherwise get the group cipher wrong.
One obvious example is ifconfig which now displays the negotiated group
cipher rather than always displaying the default value 'ccmp'.

Fixes a regression where athn(4) no longer worked against WPA2 APs which
use TKIP as a group cipher for compatibility with WPA1.

Problem reported by Tim Chase.

ok kettenis@

date 2020-07-13T08:29:34Z
author tb
files src/sys/net/if_wg.c log diff annotate
message Unbreak wg(4).

Previous may have fixed the build without pf(4), but broke wireguard in
normal kernels: the condition NPF > 0 is false if pf.h is not in scope.

date 2020-07-13T08:31:32Z
author stsp
files src/sys/dev/ic/ar5008.c log diff annotate
src/sys/dev/usb/if_athn_usb.c log diff annotate
message When athn(4) is deciding how to decrypt an incoming frame, look into the
ieee80211_node data structure to find the WPA group cipher which was
negotiated with the peer, rather than checking the wireless interface's
configuration data.

Found while investigating a problem where WPA2+TKIP wasn't working with athn.
Problem reported by Tim Chase.

date 2020-07-13T10:35:55Z
author dlg
files src/sys/dev/pci/if_em.h log diff annotate
src/sys/dev/pci/if_em_hw.c log diff annotate
src/sys/dev/pci/if_em_hw.h log diff annotate
message add kstat support for reading hardware counters.

this replaces the existing counters implementation, which just
collected the stats in the softc, but didn't really provide a way
for a person to read them.

em counters get cleared on read. a lot of them are 32bit, so to
avoid overflow the counters are polled and the newly accumulated
values are added to some 64 bit counters in software.

tested by hrvoje popovski and SAITOH Masanobu
ok mpi@

i missed these files when i committed src/sys/dev/pci/if_em.c r1.356.
thanks to jsg for pointing this out.

date 2020-07-13T10:40:03Z
author jmatthew
files src/sys/dev/pci/if_mcx.c log diff annotate
message More preparations for adding RSS. Adjust several functions to allow for
the creation of more flow tables and TIRs, and more types of flow entries
and TIRs, consolidate flow group details into a single struct, and improve
the way doorbells in host memory are laid out. The doorbell memory area
is divided into halves for CQs and SQ/RQs, with the doorbells for each
CQ and SQ/RQ pair kept 64 bytes apart. This arrangement will allow for
up to 32 queues, which is plenty for now.

ok dlg@

date 2020-07-13T13:43:31Z
author krw
files src/sys/dev/ic/aic79xx_openbsd.c log diff annotate
src/sys/dev/ic/aic7xxx_openbsd.c log diff annotate
src/sys/dev/ic/ami.c log diff annotate
src/sys/dev/ic/mfi.c log diff annotate
src/sys/dev/ic/mpi.c log diff annotate
src/sys/dev/ic/oosiop.c log diff annotate
src/sys/dev/ic/siop.c log diff annotate
src/sys/dev/ic/trm.c log diff annotate
src/sys/dev/pci/mfii.c log diff annotate
src/sys/dev/pci/mpii.c log diff annotate
src/sys/dev/sdmmc/sdmmc_scsi.c log diff annotate
message Remove some pointless casting of void * when assigning one
(scsi_link.adapter_softc) to a pointer of a particular softc type.

date 2020-07-13T14:25:41Z
author krw
files src/sys/dev/ic/ami.c log diff annotate
src/sys/dev/ic/mfi.c log diff annotate
src/sys/dev/ic/mpi.c log diff annotate
src/sys/dev/pci/mfii.c log diff annotate
src/sys/dev/pci/mpii.c log diff annotate
message Where we have a pointer (sc) to the relevant adapter_softc, use
&sc->sc_dev to get a device pointer rather than using the void *
whence we obtained 'sc'.

date 2020-07-13T16:18:52Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
src/sys/dev/pci/if_iwxreg.h log diff annotate
message Increase iwx(4) command queue size to the size expected by hardware.

The iwx(4) command queue has 256 entries in hardware. The Linux driver
contains an abstraction layer which allows it to allocate just 32 command
queue entries in software. Because I misunderstood how this works iwx(4)
ended up with 32 command queue entries, but without a shim which presents
these 32 entries as 256 entries to hardware.
Our command queue size was later bumped to 64 to make fatal firmware errors
during initialization disappear. The problem was still not fully understood
at that time. I didn't realize that firmware errors coincided with the
command queue index wrapping around.

Hardware expects the queue to wrap at 256 entries so fix this problem for
good in a simple way: Allocate 256 entries for the command queue, just
like iwm(4) does.

This will allow us to enable background scanning on iwx(4), which so far
triggered firmware errors due to additional scan commands causing the
command queue index to wrap at 64.

date 2020-07-13T16:23:53Z
author stsp
files src/sys/dev/pci/if_iwx.c log diff annotate
message Enable background scanning on iwx(4) devices.

date 2020-07-13T22:37:37Z
author kettenis
files src/sys/arch/powerpc64/include/frame.h log diff annotate
src/sys/arch/powerpc64/include/signal.h log diff annotate
src/sys/arch/powerpc64/powerpc64/machdep.c log diff annotate
message Clean up <machine/signal.h>, moving the trapframe struct into
<machine/frame.h>.