OpenBSD cvs log

created 2020-11-21T18:47:21Z
begin 2020-06-25T00:00:00Z
end 2020-06-26T00:00:00Z
path src/sys
commits 21

date 2020-06-25T01:55:14Z
author drahn
files src/sys/arch/powerpc64/include/asm.h log diff annotate
src/sys/arch/powerpc64/include/profile.h log diff annotate
message PowerPC asm.h with tweak for 64bit.

Rework ENTRY to contain the r12-> r2 and localentry code.

Powerpc64 float is the same as Powerpc (_float.h, ieee[fp].h)

Profile code, adapted from powerpc

date 2020-06-25T03:19:35Z
author dlg
files src/sys/dev/pci/if_vmx.c log diff annotate
message report rx ring state for all rings, not just the first one.

systat mbuf looks a bit better now.

date 2020-06-25T04:21:25Z
author drahn
files src/sys/arch/powerpc64/include/reloc.h log diff annotate
message PowerPC64 reloc.h created by copying powerpc 32 bit version.
There a question if RELOC_ should be changed to R_PPC64_XXX as
the ABI defines.
can clean up later kettenis@

date 2020-06-25T04:25:55Z
author dlg
files src/sys/dev/pci/if_iavf.c log diff annotate
message bump the ifq maxlen like i just did for ixl(4).

this should enable tx mitigation, and hopefully provide a speed
bump here too.

iavf is a cut up ixl, so it inherited the IFQ_SETMAXLEN 1.

ok jmatthew@

date 2020-06-25T04:37:30Z
author dlg
files src/sys/dev/pci/files.pci log diff annotate
src/sys/dev/pci/if_ixl.c log diff annotate
message use intrmap to set up multiple queues across multiple cpus.

ixl(4) is only enabled on amd64 and sparc64, and both of them now
support pci_intr_establish_cpu(), so it is safe to apply this.

a few things to note:

- the chip only supports a power of 2 number of queues, (ie, 1, 2,
4, 8, etc), so this also tests the INTRMAP_POWEROF2 flag to
intrmap_create. i tested this on a box with 6 cpus and it did the
right thing.
- the chip can support a lot of vectors, but we're limiting it to
8 for now.
- rss with toeplitz is not implemented yet, so all rxed packets end
up on the 0th queue for now.

jmatthew@ had done most of the work already, and christiano haesbaert
provided some hints to motivate me to work on this bit of it.

tested by jmatthew@ on sparc64
ok jmatthew@

date 2020-06-25T04:47:06Z
author drahn
files src/sys/arch/powerpc64/Makefile log diff annotate
message Additional Makefile infrastructure for powerpc64
stand stubbed for now.

date 2020-06-25T04:47:07Z
author drahn
files src/sys/arch/powerpc64/stand/Makefile log diff annotate
message Additional Makefile infrastructure for powerpc64
stand stubbed for now.

date 2020-06-25T04:55:41Z
author dlg
files src/sys/dev/pci/if_ixl.c log diff annotate
message we're close to a point where the differences between 710s and 722s matter.

this adds a struct ixl_chip, which should hold the differences in
functionality between 710s and 722s. this adds which type of chip
each product is to the ixl_devices array.

based on stuff from christiano haesbaert

date 2020-06-25T05:01:16Z
author drahn
files src/sys/arch/powerpc64/include/setjmp.h log diff annotate
message Setjmp size for powerpc64.

date 2020-06-25T05:18:14Z
author dlg
files src/sys/dev/pci/if_ixl.c log diff annotate
message add definitions for rss bits.

based on info from christiano haesbaert

date 2020-06-25T05:27:15Z
author dlg
files src/sys/dev/pci/if_ixl.c log diff annotate
message use the ixl_chip struct to store different rss_hena settings for 710/722

date 2020-06-25T06:41:38Z
author dlg
files src/sys/dev/pci/files.pci log diff annotate
src/sys/dev/pci/if_ixl.c log diff annotate
message add rss/toeplitz support for 710 chips.

this basically distributes incoming packets over the rx rings, where
without this they would all land on ring 0.

note that the 722 stuff is stubbed out at the moment. i don't have
an x722 to test with, so it's hard to get motivated to write the
code for it.

this is based on stuff supplied by christiano haesbaert.

date 2020-06-25T09:03:01Z
author kettenis
files src/sys/arch/powerpc64/include/asm.h log diff annotate
message Fix some small whitespace issues.

date 2020-06-25T09:11:08Z
author dlg
files src/sys/dev/pci/if_ixl.c log diff annotate
message LUT writes go through actual regsiters on 710s, not ctl writes.

found by jmatthew@

date 2020-06-25T12:09:11Z
author patrick
files src/sys/dev/fdt/files.fdt log diff annotate
src/sys/dev/fdt/if_mvpp.c log diff annotate
src/sys/dev/fdt/if_mvppreg.h log diff annotate
message Add mvpp(4), a driver for the Marvell Packet Processor v2, as used on
the Armada 7K and 8K SoCs. Additionally, it seems to be used on the
upcoming CN9K SoCs. This only supports version v2.2, since the older
v2.1 is only used on some old ARMv7 we have no support for, and where
there is no hardware for us to support.

A huge part of this driver is configuring the TCAM/SRAM-based "parser".
Thus most of the code, especially the parser handling, was ported from
EDK2 with a sed script doing plenty of automatic renaming and un-camel-
casing.

The controller supports multiple TX/RX queues/vectors and RSS, so this
would be a nice platform for testing network processing improvement on
arm64. For now though we only configure and use a single queue.

The driver is still unfinished, but it's time to continue the work in
tree. At least we can already send and receive packets, good enough
for dhclient to work.

Since the MACCHIATObin uses Clause 45 10G PHYs and SFPs, link state
handling is still a bit bogus, as we have no support for that. The
1G RJ45 port works fine though.

ok dlg@

date 2020-06-25T12:35:21Z
author patrick
files src/sys/dev/ofw/ofw_misc.c log diff annotate
src/sys/dev/ofw/ofw_misc.h log diff annotate
message Add a "framework" for MII busses.

ok kettenis@

date 2020-06-25T12:39:19Z
author patrick
files src/sys/dev/fdt/if_mvneta.c log diff annotate
src/sys/dev/fdt/if_mvpp.c log diff annotate
src/sys/dev/fdt/mvmdio.c log diff annotate
src/sys/dev/fdt/Attic/mvmdiovar.h log diff annotate
message Register mvmdio(4) in the MII "framework". On the Armada 7K and 8K
SoCs there can be multiple instances of mvmdio(4), with SMI or XSMI
support. This replaces the mvmdio_sc global with a nicer FDT-based
interface to retrieve the methods to access the MII bus.

ok kettenis@

date 2020-06-25T12:44:09Z
author patrick
files src/sys/arch/arm64/conf/GENERIC log diff annotate
src/sys/arch/arm64/conf/RAMDISK log diff annotate
message Add a commented out entry for mvpp(4).

date 2020-06-25T17:36:08Z
author kettenis
files src/sys/arch/powerpc64/include/pmap.h log diff annotate
message Include <machine/pte.h>.

date 2020-06-25T21:43:41Z
author jmatthew
files src/sys/arch/sparc64/dev/vpci.c log diff annotate
message Fix variable shadowing that caused us to map the entire range (many
gigabytes) instead of just the amount the caller asked for. This
resulted in a noticeable delay while attaching devices using multiple
msi-x vectors as we map and unmap the msi-x table for each vector.

ok kettenis@

date 2020-06-25T22:10:06Z
author patrick
files src/sys/dev/fdt/if_mvpp.c log diff annotate
message Return negative value to show that no index was found. The callers
already check for a negative value.