OpenBSD cvs log

created 2020-07-29T15:33:54Z
begin 2020-07-17T00:00:00Z
end 2020-07-18T00:00:00Z
path src/sys
commits 22

date 2020-07-17T00:36:42Z
author krw
files src/sys/dev/ata/atascsi.c log diff annotate
message Always a joker hiding somewhere.

Access adapter_buswidth via link->bus->sb_adapter_buswidth.

date 2020-07-17T01:36:41Z
author gkoehler
files src/sys/kern/kern_tc.c log diff annotate
message Read ogen from the other timehands; fixes tk_generation

If th0.th_generation == th1.th_generation when we update the user
timekeep page, then tk_generation doesn't change, so libc may
calculate the wrong time. Now th0 and th1 share the sequence so
th0.th_generation != th1.th_generation.

ok kettenis@ cheloha@

date 2020-07-17T02:58:14Z
author dlg
files src/sys/dev/pci/if_myx.c log diff annotate
message add kstats to myx.

myx is unusually minimal, so there's not a lot of information that
the chip provides. the most interesting is the number of packets
the chip drops cos of a lack of space on the rx rings.

date 2020-07-17T03:23:18Z
author jmatthew
files src/sys/dev/pci/if_mcx.c log diff annotate
message Consistently use the port type and speed register (PTYS) to determine if
the link is up, rather than the operational status (PAOS).

ok dlg@

date 2020-07-17T03:37:36Z
author dlg
files src/sys/dev/pci/if_myx.c log diff annotate
message name the rx rings so systat mb shows them.

date 2020-07-17T03:37:37Z
author jmatthew
files src/sys/dev/pci/if_mcx.c log diff annotate
message Virtual functions are effectively identical to full physical functions,
so we can attach to them too.

ok dlg@

date 2020-07-17T06:27:36Z
author dlg
files src/sys/dev/pci/files.pci log diff annotate
src/sys/dev/pci/if_ix.c log diff annotate
src/sys/dev/pci/if_ix.h log diff annotate
src/sys/dev/pci/ixgbe.h log diff annotate
message enable multiq support for ix.

this is an updated version of a diff from christiano haesbaert by way of
mpi@ to enable the use of multiple tx and rx rings with msi-x. now
that patrick@ got interrupts on multiple cpus working on arm64, i
can commit this.

the main changes are to use an intrmap pointer as the flag for
whether msix has been enabled or not, and to use the intrmap to
establish vectors on multiple cpus.

tested by hrvoje popovski

date 2020-07-17T06:33:07Z
author dlg
files src/sys/dev/pci/files.pci log diff annotate
src/sys/dev/pci/if_ix.c log diff annotate
message use the system stoeplitz key instead of a random one.

while here, stash the rss hash value from rx descriptors in the
mbuf as a flow id.

date 2020-07-17T07:40:35Z
author tb
files src/sys/dev/pci/if_ix.c log diff annotate
message This needs <net/toeplitz.h> for stoeplitz_to_key(9).

date 2020-07-17T07:49:49Z
author dlg
files src/sys/dev/pci/ixgbe.h log diff annotate
message i forgot to commit this with if_ix.c r1.169

stoeplitz code needs to #include <net/toeplitz.h>, and ix does it's
includes here.

pointed out by jmatthew@ (thanks)

date 2020-07-17T07:53:58Z
author tb
files src/sys/dev/pci/if_ix.c log diff annotate
message Revert r1.170. dlg and jmatthew simultaneously fixed this the
correct way.

date 2020-07-17T07:58:46Z
author fcambus
files src/sys/dev/rasops/rasops.c log diff annotate
message Merge the two if blocks checking if the font in use contains a given
character in rasops_mapchar().

OK kn@, cheloha@

date 2020-07-17T08:07:33Z
author patrick
files src/sys/arch/arm64/arm64/acpi_machdep.c log diff annotate
src/sys/arch/arm64/arm64/intr.c log diff annotate
src/sys/arch/arm64/dev/acpipci.c log diff annotate
src/sys/arch/arm64/dev/agintc.c log diff annotate
src/sys/arch/arm64/dev/ampintc.c log diff annotate
src/sys/arch/arm64/include/intr.h log diff annotate
message Re-work intr_barrier(9) on arm64 to remove layer violation. So far we
have stored the struct cpu_info * in the wrapper around the interrupt
handler cookie, but since we can have a few layers inbetween, this does
not seem very nice. Instead have each and every interrupt controller
provide a barrier function. This means that intr_barrier(9) will in the
end be executed by the interrupt controller that actually wired the pin
to a core. And that's the only place where the information is stored.

ok kettenis@

date 2020-07-17T08:07:34Z
author patrick
files src/sys/arch/armv7/include/intr.h log diff annotate
src/sys/dev/fdt/bcm2835_aux.c log diff annotate
src/sys/dev/fdt/imxgpc.c log diff annotate
src/sys/dev/fdt/imxgpio.c log diff annotate
src/sys/dev/fdt/mvgicp.c log diff annotate
src/sys/dev/fdt/mvicu.c log diff annotate
src/sys/dev/fdt/mvkpcie.c log diff annotate
src/sys/dev/fdt/rkgpio.c log diff annotate
message Re-work intr_barrier(9) on arm64 to remove layer violation. So far we
have stored the struct cpu_info * in the wrapper around the interrupt
handler cookie, but since we can have a few layers inbetween, this does
not seem very nice. Instead have each and every interrupt controller
provide a barrier function. This means that intr_barrier(9) will in the
end be executed by the interrupt controller that actually wired the pin
to a core. And that's the only place where the information is stored.

ok kettenis@

date 2020-07-17T08:56:41Z
author mvs
files src/sys/net/if.c log diff annotate
message Check destruction ability before search instance of clone interface.

ok mpi@

date 2020-07-17T08:57:27Z
author mvs
files src/sys/net/if_pppx.c log diff annotate
src/sys/net/pipex.c log diff annotate
src/sys/net/pipex.h log diff annotate
src/sys/net/pipex_local.h log diff annotate
message Use interface index instead of pointer to corresponding interface
within pipex(4) layer.

ok mpi@

date 2020-07-17T08:57:39Z
author kettenis
files src/sys/arch/powerpc64/include/kexec.h log diff annotate
message Fix definition of KIOC_GETBOOTDUID ioctl.

date 2020-07-17T13:13:36Z
author tb
files src/sys/net/toeplitz.c log diff annotate
message Randomize the system stoeplitz key

One can prove that the Toeplitz matrix generated from a 16-bit seed is
invertible if and only if the seed has odd Boolean parity. Invertibility
is necessary and sufficient for the stoeplitz hash to take all 65536
possible values.

Generate a system stoeplitz seed of odd parity uniformly at random. This
is done by generating a random 16-bit number and then flipping its last
bit if it's of even parity. This works since flipping the last bit swaps
the numbers of even and odd parity, so we obtain a 2:1 mapping from all
16-bit numbers onto those with odd parity.

Implementation of parity via popcount provided by naddy; input from miod,
David Higgs, Matthew Martin, Martin Vahlensieck and others.

ok dlg

date 2020-07-17T15:21:36Z
author kn
files src/sys/netinet6/ip6_output.c log diff annotate
message Copy the right value to fix getsockopt(2) for SO_RTABLE and IPV6_PIPEX

r1.146 "Enable IPv6 routing domain support" adapted the mtod() line from the
IPV6_PIPEX case which was bogus since introduction in r1.118.

Issue found by florian, who came up with the same partial diff for SO_RTABLE
while working on rdomain aware slaacd(8).

Taken from sys/netinet/ip_output.c which does it correctly.

OK florian millert

date 2020-07-17T16:28:19Z
author florian
files src/sys/kern/kern_pledge.c log diff annotate
message Allow setsockopt SO_RTABLE when pleding "wroute" soon to be needed
by slaacd(8).
"wroute" allows changes to the routing table so this is a good fit.
Nothing else in base is effected by this. dhclient might use
the wroute pledge in the future and might also want SO_RTABLE in a
more distant future.
OK deraadt

date 2020-07-17T20:15:43Z
author gkoehler
files src/sys/arch/macppc/include/timetc.h log diff annotate
src/sys/arch/macppc/macppc/clock.c log diff annotate
message Userland timecounter for macppc

Tested by cwen@ and myself. Thanks to pirofti@ for creating the
userland timecounter feature.

ok kettenis@ pirofti@ deraadt@ cheloha@

date 2020-07-17T20:24:07Z
author kettenis
files src/sys/arch/powerpc64/powerpc64/machdep.c log diff annotate
message Pay attention to "openbsd,boothowto" and "openbsd,bootduid" properties
like we do on arm64 and armv7.