Marvell ARMADA 7K/8K and MACCHIATObin support

classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

Marvell ARMADA 7K/8K and MACCHIATObin support

Mark Kettenis
Hi Folks,

I recently got myself a MACCHIATObin board

  https://www.solid-run.com/marvell-armada-family/macchiatobin/
  http://wiki.macchiatobin.net/tiki-index.php

with the intention to make OpenBSD run on it.  I made some good
progress and the board is now somewhat usable.  At this point the
standard xhci(4), ahci(4) and the new dwpcie(4) drivers work.  So the
SB 3.0 port, the three SATA ports and the PCIe x4 slot function.  The
uSD slot, onboard eMMC and the onboard network interfaces don't work
yet.  Especially the latter is unfortunate for a networking oriented
board like this.  So I'll be working on that in the near future.

As usual the firmware siatuation is a bit of a mess.  The firmware
that comes with the board is a fairly recent U-Boot version but it is
buggy and crashes when it loads the OpenBSD EFI boot loader.  A
firmware built from the last vendor sources exhibits the same
problems.  Mainline U-Boot does a better job but also has bugs.  Only
booting from uSD-card works reliably.  Booting from USB works somewhat
but makes the bootloader crash roughly 50% of the time.  Fortunately
the board resets itself and then tries again.  Booting from SATA or
network doesn't work.

I have made working firmware available at:

  https://sibelius.home.xs4all.nl/firmware/armada-8040-mcbin/flash-image.bin

and a usable device tree at:

  https://sibelius.home.xs4all.nl/firmware/armada-8040-mcbin/armada-8040-mcbin.dtb

My recommendation is to put the firmware (and only the firmware) on a
uSD card with:

  # dd if=flash-image.bin of=/dev/sdXc seek=4096

Then put miniroot63.fs (use a -current snapshot) onto a USB key/disk with:

  # dd if=miniroot63.fs of=/dev/sdXc bs=1m

and copy the device tree onto the msdos filesystem on the USB key/disk with:

  # mount /dev/sdXi /mnt
  # mkdir /mnt/marvell
  # cp armada-8040-mcbin.dtb /mnt/marvell
  # umount /mnt

Configure the jumpers or dip switches on the board to boot from uSD
card and plug in both the uSD card and the USB key/drive.  Turning on
the board should get you into the OpenBSD installer.  After
installation you'll have to copy the devicetree onto the disk you
installed on once more.

With 4 Cortex-A72 cores at 1.6 GHz.  The board is pretty fast.  IT is
only a little bit slower than my SoftIron Overdrive 1000.

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
This post was updated on .
Hello Mark,

I am another possessor of a Macchiatobin trying to run openbsd.

However, I am not a happy camper since I am still unable to make it boot...

I followed your carefully written procedure but fails miserably after
entering the UEFI.

Here is the UEFI Shell prompt I get after booting the uSD card

UEFI Interactive Shell v2.2
EDK II
UEFI v2.70 (EDK II, 0x00010000)
Mapping table
     BLK0: Alias(s):
          VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00006EF00000000000)/eMMC(0x
0)/Ctrl(0x0)
     BLK1: Alias(s):
          VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00006EF00000000000)/eMMC(0x
0)/Ctrl(0x1)
     BLK2: Alias(s):
          VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00006EF00000000000)/eMMC(0x
0)/Ctrl(0x2)
     BLK3: Alias(s):
          VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,000078F20000000000)/SD(0x0)

Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
Shell>

As you can see it seems the USB key I put the minirootfs on does not appear.

I tried too to boot with the Bootloader U-Boot 2017.03-armada-17.10 from the
Marvell site http://macchiatobin.net/software/

I get the same result as you, I can boot into u-boot fine, see the USB key
contents, send it commands to load the binary blob and EFI payload but it
crashes and reset.

Here are my parameters:

usb start; fatload usb 0:1 0x5000000 /efi/boot/bootaa64.efi ; fatload usb 0:1 0x4f00000 /marvell/armada-8040-mcbin.dtb; bootefi 0x5000000 0x4f00000

I also tried differents armada-8040-mcbin.dtb I got for the Ubuntu 16.04.03
LTS image and from another source on the web (oups lost the link).

So, I have a UEFI/U-boot bootable macchiatobin, but no way to make the
actual openbsd kernel to be loaded and run.

Did you make any progress on your part or have another reliable boot
procedure ?



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Mark Kettenis
> Date: Sat, 20 Oct 2018 19:22:52 -0700 (MST)
> From: Corsaire01 <[hidden email]>
>
> Hello Mark,

Hi,

> I am another possessor of a Macchiatobin trying to run openbsd.
>
> However, I am not a happy camper since I am still unable to make it boot...
>
> I followed your carefully written procedure but fails miserably after
> entering the UEFI.
>
> Here is the UEFI Shell prompt I get after booting the uSD card
>
>
> As you can see it seems the USB key I put the minirootfs on does not appear.
>
> I tried too to boot with the Bootloader U-Boot 2017.03-armada-17.10 from the
> Marvell site http://macchiatobin.net/software/
>
> I get the same result as you, I can boot into u-boot fine, see the USB key
> contents, send it commands to load the binary blob and EFI payload but it
> crashes and reset.
>
> Here are my parameters:
>
> And the less-than-satisfactory result
>
>
> I also tried differents armada-8040-mcbin.dtb I got for the Ubuntu 16.04.03
> LTS image and from another source on the web (oups lost the link).
>
> So, I have a UEFI/U-boot bootable macchiatobin, but no way to make the
> actual openbsd kernel to be loaded and run.
>
> Did you make any progress on your part or have another reliable boot
> procedure ?

It seems some information has been stripped from your mail.  My
experience with USB on this port aren't great.  I think there are some
issues with powering the ports.  Using a powered hub might help.  The
problems might be related to missing GPIO code that has been recently
submitted to the tianocore edk2 mailing list.

Alternatively you could write the miniroot to a SATA disk (or SSD)
from another machine and try to boot from that.

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
> It seems some information has been stripped from your mail.

Yup, dunno why tough.

I included a but more console output, but anyway the thing is

-I can't see the USB key with your archive
-It crashes at loading the dtb/EFI payload with the marvell provided U-boot

> My experience with USB on this port aren't great.  I think there are some
> issues with powering the ports.  Using a powered hub might help.  The
> problems might be related to missing GPIO code that has been recently
> submitted to the tianocore edk2 mailing list.
>
> Alternatively you could write the miniroot to a SATA disk (or SSD)
> rom another machine and try to boot from that.

I'll try that !

Thanks for your time.



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
In reply to this post by Mark Kettenis
Mark Kettenis wrote
> My experience with USB on this port aren't great.  I think there are some
> issues with powering the ports.  Using a powered hub might help.

I tryed with a USB hub, to no avail... no change :(



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
In reply to this post by Mark Kettenis
Hello again Mark,

Some progress here.

You were right about the USB trouble.
Instead of a USB key I tried to put a sata disk on a USB tray and ran your
image, but it failed too.
same as before no fs0: available.

Then I too the drive out of the usb tray and put it on one of the sata plug
on the macchiatobin, booted again and, voila !
This time I got the OpenBSD prompt right.

here is the log for the record.

Tianocore/EDK2 firmware version MARVELL_EFI
Press ESCAPE for boot options ...
UEFI Interactive Shell v2.2
EDK II
UEFI v2.70 (EDK II, 0x00010000)
Mapping table
      FS0: Alias(s):HD0b65535a1:;BLK1:
         
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,000054F40000000000)/Sata(0x
1,0xFFFF,0x0)/HD(1,MBR,0x00000000,0x2000,0x2000)
     BLK0: Alias(s):
         
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,000054F40000000000)/Sata(0x
1,0xFFFF,0x0)
     BLK2: Alias(s):
         
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,000054F40000000000)/Sata(0x
1,0xFFFF,0x0)/HD(4,MBR,0x00000000,0x4000,0x6800)
     BLK3: Alias(s):
         
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00006EF00000000000)/eMMC(0x
0)/Ctrl(0x0)
     BLK4: Alias(s):
         
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00006EF00000000000)/eMMC(0x
0)/Ctrl(0x1)
     BLK5: Alias(s):
         
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,00006EF00000000000)/eMMC(0x
0)/Ctrl(0x2)
     BLK6: Alias(s):
         
VenHw(0D51905B-B77E-452A-A2C0-ECA0CC8D514A,000078F20000000000)/SD(0x0)

Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
Shell> bootaa64.efi
>> OpenBSD/arm64 BOOTAA64 0.13
boot>
cannot open sd0a:/etc/random.seed: No such file or directory
booting sd0a:/bsd: 2696864+410652+8951776+739752
[202623+96+324624+179996]=0xfea
fd8
type 0x2 pa 0x0 va 0x0 pages 0x4000 attr 0xe
type 0x7 pa 0x4200000 va 0x0 pages 0x33e00 attr 0xe
type 0x4 pa 0x38000000 va 0x0 pages 0x20 attr 0xe
type 0x7 pa 0x38020000 va 0x0 pages 0x78d8 attr 0xe
type 0x4 pa 0x3f8f8000 va 0x0 pages 0x20 attr 0xe
type 0x3 pa 0x3f918000 va 0x0 pages 0x4e attr 0xe
type 0x4 pa 0x3f966000 va 0x0 pages 0x67c attr 0xe
type 0x3 pa 0x3ffe2000 va 0x0 pages 0x1c attr 0xe
type 0x4 pa 0x3fffe000 va 0x0 pages 0x2 attr 0xe
type 0x7 pa 0x40000000 va 0x0 pages 0x75922 attr 0xe
type 0x2 pa 0xb5922000 va 0x0 pages 0xcd2 attr 0xe
type 0x1 pa 0xb65f4000 va 0x0 pages 0xfc attr 0xe
type 0x9 pa 0xb66f0000 va 0x0 pages 0x80 attr 0xe
type 0x2 pa 0xb6770000 va 0x0 pages 0x4 attr 0xe
type 0x7 pa 0xb6774000 va 0x0 pages 0x64c6 attr 0xe
type 0x4 pa 0xbcc3a000 va 0x0 pages 0x1 attr 0xe
type 0x7 pa 0xbcc3b000 va 0x0 pages 0x54 attr 0xe
type 0x4 pa 0xbcc8f000 va 0x0 pages 0x22 attr 0xe
type 0x7 pa 0xbccb1000 va 0x0 pages 0x1 attr 0xe
type 0x4 pa 0xbccb2000 va 0x0 pages 0x238e attr 0xe
type 0x7 pa 0xbf040000 va 0x0 pages 0x500 attr 0xe
type 0x3 pa 0xbf540000 va 0x0 pages 0x2d0 attr 0xe
type 0x5 pa 0xbf810000 va 0x1fdd0db000 pages 0x3e0 attr 0x800000000000000e
type 0x7 pa 0xbfbf0000 va 0x0 pages 0x60 attr 0xe
type 0x6 pa 0xbfc50000 va 0x1fdd51b000 pages 0x390 attr 0x800000000000000e
type 0x7 pa 0xbffe0000 va 0x0 pages 0x1f attr 0xe
type 0x4 pa 0xbffff000 va 0x0 pages 0x1 attr 0xe
type 0x7 pa 0x100000000 va 0x0 pages 0x40000 attr 0xe
type 0x0 pa 0x4000000 va 0x0 pages 0x200 attr 0x0
type 0xb pa 0xf4284000 va 0x1fdd8ab000 pages 0x1 attr 0x8000000000000001
type 0xb pa 0xf4700000 va 0x1fdd8ac000 pages 0x1 attr 0x8000000000000001
type 0xb pa 0xf93c0000 va 0x1fdd8ad000 pages 0x30 attr 0x8000000000000001
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2018 OpenBSD. All rights reserved.
https://www.OpenBSD.org

OpenBSD 6.4 (RAMDISK) #501: Fri Oct 12 23:33:30 MDT 2018
    [hidden email]:/usr/src/sys/arch/arm64/compile/RAMDISK
real mem  = 4222169088 (4026MB)
avail mem = 4053790720 (3865MB)
mainbus0 at root: Marvell 8040 MACCHIATOBin
cpu0 at mainbus0 mpidr 0: ARM Cortex-A72 r0p1
cpu0: 48KB 64b/line 3-way L1 PIPT I-cache, 32KB 64b/line 2-way L1 D-cache
cpu0: 512KB 64b/line 16-way L2 cache
efi0 at mainbus0: UEFI 2.7
efi0: EDK II rev 0x10000
psci0 at mainbus0: PSCI 1.1, SMCCC 1.1
simplebus0 at mainbus0: "ap806"
simplebus1 at simplebus0: "config-space"
ampintc0 at simplebus1 nirq 352, ncpu 4: "interrupt-controller"
ampintcmsi0 at ampintc0: nspi 32
ampintcmsi1 at ampintc0: nspi 32
ampintcmsi2 at ampintc0: nspi 32
ampintcmsi3 at ampintc0: nspi 32
syscon0 at simplebus1: "system-controller"
mvclock0 at syscon0
mvpinctrl0 at syscon0
mvgpio0 at syscon0
agtimer0 at simplebus1: tick rate 25000 KHz
com0 at simplebus1: ns16550, no working fifo
com0: console
simplebus2 at mainbus0: "cp0"
simplebus3 at simplebus2: "config-space"
mvicu0 at simplebus3
syscon1 at simplebus3: "system-controller"
mvclock1 at syscon1
mvgpio1 at syscon1
xhci0 at simplebus3, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Generic xHCI root hub" rev
3.00/1.00 addr 1
xhci1 at simplebus3, xHCI 1.0
usb1 at xhci1: USB revision 3.0
uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev
3.00/1.00 addr 1
ahci0 at simplebus3: AHCI 1.0
scsibus0 at ahci0: 32 targets
sxitwi0 at simplebus3
iic0 at sxitwi0
sxitwi1 at simplebus3
iic1 at sxitwi1
"nxp,pca9548" at iic1 addr 0x70 not configured
com1 at simplebus3: ns16550, no working fifo
mvrng0 at simplebus3
dwpcie0 at simplebus2
pci0 at dwpcie0
ppb0 at pci0 dev 0 function 0 "Marvell ARMADA 7K/8K Root Complex" rev 0x00
pci1 at ppb0 bus 1
simplebus4 at mainbus0: "cp1"
simplebus5 at simplebus4: "config-space"
mvicu1 at simplebus5
syscon2 at simplebus5: "system-controller"
mvclock2 at syscon2
mvgpio2 at syscon2
xhci2 at simplebus5, xHCI 1.0
usb2 at xhci2: USB revision 3.0
uhub2 at usb2 configuration 1 interface 0 "Generic xHCI root hub" rev
3.00/1.00 addr 1
ahci1 at simplebus5: AHCI 1.0
ahci1: port busy after first PMP probe FIS
ahci1: port busy after first PMP probe FIS
ahci1: port 1: 3.0Gb/s
scsibus1 at ahci1: 32 targets
sd0 at scsibus1 targ 1 lun 0: <ATA, OCZ-AGILITY2, 1.35> SCSI3 0/direct fixed
naa.5e83a97f29180002
sd0: 57241MB, 512 bytes/sector, 117231408 sectors, thin
com2 at simplebus5: ns16550, no working fifo
mvrng1 at simplebus5
softraid0 at root
scsibus2 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on rd0a swap on rd0b dump on rd0b
WARNING: clock lost 17624 days
WARNING: CHECK AND RESET THE DATE!
erase ^?, werase ^W, kill ^U, intr ^C, status ^T

Welcome to the OpenBSD/arm64 6.4 installation program.
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell? s
#

It seems really that the USB support at EFI/u-boot level have to be
perfected.
I'll continue my tinkering and put my results here if something important or
interesting pops out.



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
In reply to this post by Mark Kettenis
Hi Mark,

One question regarding your build.

>I have made working firmware available at:
>
>https://sibelius.home.xs4all.nl/firmware/armada-8040-mcbin/flash-image.bin

Could you give us the procedure you used to create the EFI image ?

Thanks for your time.



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Mark Kettenis
> Date: Fri, 26 Oct 2018 07:09:15 -0700 (MST)
> From: Corsaire01 <[hidden email]>
>
> Hi Mark,
>
> One question regarding your build.
>
> >I have made working firmware available at:
> >
> >https://sibelius.home.xs4all.nl/firmware/armada-8040-mcbin/flash-image.bin
>
> Could you give us the procedure you used to create the EFI image ?
>

It is a bit complicated.  I did the build on a Linux system.  To keep
things organized, I created a build directory.  Inside this directory
I checked out the following git repositories:

  https://github.com/tianocore/edk2.git
  https://github.com/tianocore/edk2-platforms.git
  https://github.com/tianocore/edk2-non-osi.git

  https://git.linaro.org/uefi/uefi-tools.git

  https://github.com/MarvellEmbeddedProcessors/ble-marvell.git
  https://github.com/MarvellEmbeddedProcessors/binaries-marvell.git
  https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git

  https://github.com/ARM-software/arm-trusted-firmware.git

and downloaded the Linaro GCC5 toolchain from:

  http://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/aarch64-linux-gnu/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz

I untarred the toolchain in a directory gcc5.

The Marvell repositories need specific branches to be checked out:

  $ cd ble-marvell
  $ git checkout atf-mainline
  $ cd ..
  $ cd binaries-marvell
  $ git checkout binaries-marvell-armada-18.06
  $ cd ..
  $ cd mv-ddr-marvell
  $ git checkout mv_ddr-armada-atf-mainline
  $ cd ..

And you need to create some symlinks:

  $ cd arm-trusted-firmaware
  $ ln -s ../ble-marvell ble
  $ cd drivers/marvell
  $ ln -s ../../../mv-ddr-marvell mv_ddr
  $ cd ../../..

Then I use the script at the end of this mail to build the firmware.

This all worked on August 9 of this year.

Cheers,

Mark


#!/bin/sh

PATH=$PATH:$PWD/gcc5/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin

uefi-tools/edk2-build.sh -b RELEASE mcbin

export CROSS_COMPILE=aarch64-linux-gnu-
export SCP_BL2=$PWD/binaries-marvell/mrvl_scp_bl2_mss_ap_cp1_a8040.img
export BL33=$PWD/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/FV/ARMADA_EFI.fd
cd arm-trusted-firmware
make DEBUG=1 USE_COHERENT_MEM=0 LOG_LEVEL=20 PLAT=a80x0_mcbin all fip
cd ..

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
Hello all,
it's been quite a while now so I wanted to get back on track with the
macchiatobin and see it the support got any better with openbsd 6.5.

Alas, no progress on sensible things, the biggest one being the network.
The install itself is not straightforward either.

Here are the steps if someone is interested:

-get the U-boot as described in the previous posts
-install it on a uSD card
-put the miniroot on a SATA drive with a command like this :
  dd if=openbsd/6.5/arm65/miniboot.fs of=/dev/sdc bs=1M
-on another SATA drive make a FAT32 partition and put the arm64 OpenBSD6.5
distribution files on it
-plug the uSD and the two drives on the macchiatobin
-boot the macchiato, with the console output you should see it boot directly
the miniboot
-install OpenBSD with the files from the second SATA drive, I choosed to
overwrite the first drive once I booted the miniroot

there you have a openBSD6.5 macchiato running, BUT
-no ethernet support
-even worse, no PCIe support
-no USB support (that's why I had to use a second SATA drive)

Even if you plugged in a separate PCIe network card you're out of luck... no
output with pcidump

I definitely hope some progress here :(



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Mark Kettenis
> Date: Wed, 1 May 2019 05:46:49 -0700 (MST)
> From: Corsaire01 <[hidden email]>
>
> Hello all,
> it's been quite a while now so I wanted to get back on track with the
> macchiatobin and see it the support got any better with openbsd 6.5.
>
> Alas, no progress on sensible things, the biggest one being the network.
> The install itself is not straightforward either.
>
> Here are the steps if someone is interested:
>
> -get the U-boot as described in the previous posts

Bad advise.  The UEFI firmware is much better, and I recently rebuilt
it from the latest arm-trusted-firmware and edk2 sources:

  https://sibelius.home.xs4all.nl/firmware/armada-8040-mcbin/flash-image.bin

Install this on an uSD card using

  dd if=flash-image.bin of=/dev/sdXc seek=4096

With that the PCIe slot works and network cards that are compiled into
the arm64 kernel (i.e. em(4) or re(4)) should work in the installer.

Cheers,

Mark

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
Hi Mark,
thanks for your input.

In deed the new UEFI firmware is much better.
Things moving on :)

However I stumbled on a strange.. bug/behavior ?

I put a Intel EXPI9402PT network card in the macchiatobin, it is an Intel
PRO 100 series card and it is being recognized out of the box in the kernel.
The macchiatobin too shows it without trouble at boot in kernel output.
I can configure the network right but, once I link the ethernet cable in the
port the system goes crazy, apparently CPU usage goes 100%...

When still unplugged everything is fine.

Did you experienced such thing ?



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Otto Moerbeek
On Wed, May 01, 2019 at 08:51:12PM -0700, Corsaire01 wrote:

> Hi Mark,
> thanks for your input.
>
> In deed the new UEFI firmware is much better.
> Things moving on :)
>
> However I stumbled on a strange.. bug/behavior ?
>
> I put a Intel EXPI9402PT network card in the macchiatobin, it is an Intel
> PRO 100 series card and it is being recognized out of the box in the kernel.
> The macchiatobin too shows it without trouble at boot in kernel output.
> I can configure the network right but, once I link the ethernet cable in the
> port the system goes crazy, apparently CPU usage goes 100%...
>
> When still unplugged everything is fine.
>
> Did you experienced such thing ?

I'm not seeing any problem with

em0 at pci1 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address 68:05:ca:0c:ac:bf

        -Otto

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Jonathan Gray-11
On Thu, May 02, 2019 at 04:09:10PM +0200, Otto Moerbeek wrote:

> On Wed, May 01, 2019 at 08:51:12PM -0700, Corsaire01 wrote:
>
> > Hi Mark,
> > thanks for your input.
> >
> > In deed the new UEFI firmware is much better.
> > Things moving on :)
> >
> > However I stumbled on a strange.. bug/behavior ?
> >
> > I put a Intel EXPI9402PT network card in the macchiatobin, it is an Intel
> > PRO 100 series card and it is being recognized out of the box in the kernel.
> > The macchiatobin too shows it without trouble at boot in kernel output.
> > I can configure the network right but, once I link the ethernet cable in the
> > port the system goes crazy, apparently CPU usage goes 100%...
> >
> > When still unplugged everything is fine.
> >
> > Did you experienced such thing ?
>
> I'm not seeing any problem with
>
> em0 at pci1 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address 68:05:ca:0c:ac:bf
>
> -Otto
>

'EXPI9402PT' seems to mean 82571GB and msi is disabled on <= 82572
due to an errata:

/*
 * Only use MSI on the newer PCIe parts, with the exception
 * of 82571/82572 due to "Byte Enables 2 and 3 Are Not Set" errata
 */

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
Hi Otto,
thanks for your input.

I found the bits regarding what you said there:
https://groups.google.com/forum/#!topic/mailing.openbsd.bugs/Fg0LJlmJh28
https://github.com/openbsd/src/blob/master/sys/dev/pci/if_em.c

But it seems the problem is known and addressed since 2012, if I read well ?
Does it means that that patch in the driver does not work on arm64
architecture ?

I s there a way to pass a kernel option to avoid the issue in the meantime ?



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
This post was updated on .
In reply to this post by Otto Moerbeek
Oh, by the way some kernel boot up bits too :

pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel 82571EB" rev 0x06: intx, address 00:15:17:2e:8a:38
em1 at pci1 dev 0 function 1 "Intel 82571EB" rev 0x06: intx, address 00:15:17:2e:8a:39


# pcidump -v
Domain /dev/pci0:
 0:0:0: Marvell ARMADA 7K/8K Root Complex
        0x0000: Vendor ID: 11ab, Product ID: 0110
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 06 Bridge, Subclass: 04 PCI,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 01, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR mem 64bit addr: 0x0000000000000000/0x00100000
        0x0018: Primary Bus: 0, Secondary Bus: 1, Subordinate Bus: 31,
                Secondary Latency Timer: 00
        0x001c: I/O Base: 01, I/O Limit: f1, Secondary Status: 2000
        0x0020: Memory Base: c000, Memory Limit: dff0
        0x0024: Prefetch Memory Base: fff1, Prefetch Memory Limit: 0001
        0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: no
        0x0070: Capability 0x10: PCI Express
                Link Speed: 2.5 / 8.0 GT/s, Link Width: x4 / x4
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0158: Enhanced Capability 0x19: Secondary PCIe Capability
        0x01b8: Enhanced Capability 0x17: TPH Requester
        0x024c: Enhanced Capability 0x1e: L1 PM
        0x00b0: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
                Enabled: no; table size 1 (BAR 0:0)
 1:0:0: Intel 82571EB
        0x0000: Vendor ID: 8086, Product ID: 105e
        0x0004: Command: 0006, Status: 0010
        0x0008: Class: 02 Network, Subclass: 00 Ethernet,
                Interface: 00, Revision: 06
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xc0000000/0x00020000
        0x0014: BAR mem 32bit addr: 0x00000000/0x00020000
        0x0018: BAR io addr: 0x00000000/0x0020
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 8086 Product ID: 115e
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
        0x00c8: Capability 0x01: Power Management
                State: D0
        0x00d0: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: no
        0x00e0: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s, Link Width: x4 / x4
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number
 1:0:1: Intel 82571EB
        0x0000: Vendor ID: 8086, Product ID: 105e
        0x0004: Command: 0006, Status: 0010
        0x0008: Class: 02 Network, Subclass: 00 Ethernet,
                Interface: 00, Revision: 06
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xc0020000/0x00020000
        0x0014: BAR mem 32bit addr: 0x00000000/0x00020000
        0x0018: BAR io addr: 0x00000000/0x0020
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 8086 Product ID: 115e
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 02 Line: 00 Min Gnt: 00 Max Lat: 00
        0x00c8: Capability 0x01: Power Management
                State: D0
        0x00d0: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: no
        0x00e0: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s, Link Width: x4 / x4
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number


o# pcidump -x
Domain /dev/pci0:
 0:0:0: Marvell ARMADA 7K/8K Root Complex
        0x0000: 011011ab 00100007 06040000 00010000
        0x0010: 00000004 00000000 001f0100 2000f101
        0x0020: dff0c000 0001fff1 00000000 00000000
        0x0030: 00000000 00000040 00000000 000001ff
 1:0:0: Intel 82571EB
        0x0000: 105e8086 00100006 02000006 00800010
        0x0010: c0000000 00000000 00000001 00000000
        0x0020: 00000000 00000000 00000000 115e8086
        0x0030: 00000000 000000c8 00000000 00000100
 1:0:1: Intel 82571EB
        0x0000: 105e8086 00100006 02000006 00800010
        0x0010: c0020000 00000000 00000001 00000000
        0x0020: 00000000 00000000 00000000 115e8086
        0x0030: 00000000 000000c8 00000000 00000200
--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
In reply to this post by Otto Moerbeek
Since it cost only a few bucks and I could have same-day delivery I bought a
Intel 82575EB based card.

This time it works !

here is the output:

pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel 82575EB" rev 0x01: msi, address
00:1b:21:23:08:0b
em1 at pci1 dev 0 function 1 "Intel 82575EB" rev 0x01: msi, address
00:1b:21:23:08:0a

# pcidump -v
Domain /dev/pci0:
 0:0:0: Marvell ARMADA 7K/8K Root Complex
        0x0000: Vendor ID: 11ab, Product ID: 0110
        0x0004: Command: 0007, Status: 0010
        0x0008: Class: 06 Bridge, Subclass: 04 PCI,
                Interface: 00, Revision: 00
        0x000c: BIST: 00, Header Type: 01, Latency Timer: 00,
                Cache Line Size: 00
        0x0010: BAR mem 64bit addr: 0x0000000000000000/0x00100000
        0x0018: Primary Bus: 0, Secondary Bus: 1, Subordinate Bus: 31,
                Secondary Latency Timer: 00
        0x001c: I/O Base: 01, I/O Limit: f1, Secondary Status: 2000
        0x0020: Memory Base: c000, Memory Limit: dff0
        0x0024: Prefetch Memory Base: fff1, Prefetch Memory Limit: 0001
        0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: no
        0x0070: Capability 0x10: PCI Express
                Link Speed: 2.5 / 8.0 GT/s, Link Width: x1 / x4
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0158: Enhanced Capability 0x19: Secondary PCIe Capability
        0x01b8: Enhanced Capability 0x17: TPH Requester
        0x024c: Enhanced Capability 0x1e: L1 PM
        0x00b0: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
                Enabled: no; table size 1 (BAR 0:0)
 1:0:0: Intel 82575EB
        0x0000: Vendor ID: 8086, Product ID: 10a7
        0x0004: Command: 0006, Status: 0010
        0x0008: Class: 02 Network, Subclass: 00 Ethernet,
                Interface: 00, Revision: 01
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xc0000000/0x00020000
        0x0014: BAR mem 32bit addr: 0x00000000/0x00100000
        0x0018: BAR empty (00000000)
        0x001c: BAR mem 32bit addr: 0x00000000/0x00004000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x0070: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
                Enabled: no; table size 20 (BAR 3:0)
        0x00a0: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x4
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number
 1:0:1: Intel 82575EB
        0x0000: Vendor ID: 8086, Product ID: 10a7
        0x0004: Command: 0006, Status: 0010
        0x0008: Class: 02 Network, Subclass: 00 Ethernet,
                Interface: 00, Revision: 01
        0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
                Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xc0020000/0x00020000
        0x0014: BAR mem 32bit addr: 0x00000000/0x00100000
        0x0018: BAR empty (00000000)
        0x001c: BAR mem 32bit addr: 0x00000000/0x00004000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 02 Line: 00 Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
                Enabled: yes
        0x0070: Capability 0x11: Extended Message Signalled Interrupts
(MSI-X)
                Enabled: no; table size 5 (BAR 3:0)
        0x00a0: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x4
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number

# pcidump -x
Domain /dev/pci0:
 0:0:0: Marvell ARMADA 7K/8K Root Complex
        0x0000: 011011ab 00100007 06040000 00010000
        0x0010: 00000004 00000000 001f0100 2000f101
        0x0020: dff0c000 0001fff1 00000000 00000000
        0x0030: 00000000 00000040 00000000 000001ff
 1:0:0: Intel 82575EB
        0x0000: 10a78086 00100006 02000001 00800010
        0x0010: c0000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00008086
        0x0030: 00000000 00000040 00000000 00000100
 1:0:1: Intel 82575EB
        0x0000: 10a78086 00100006 02000001 00800010
        0x0010: c0020000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 00008086
        0x0030: 00000000 00000040 00000000 00000200



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Mark Kettenis
> Date: Fri, 3 May 2019 01:38:06 -0700 (MST)
> From: Corsaire01 <[hidden email]>
>
> Since it cost only a few bucks and I could have same-day delivery I bought a
> Intel 82575EB based card.
>
> This time it works !
>
> here is the output:
>
> pci1 at ppb0 bus 1
> em0 at pci1 dev 0 function 0 "Intel 82575EB" rev 0x01: msi, address
> 00:1b:21:23:08:0b
> em1 at pci1 dev 0 function 1 "Intel 82575EB" rev 0x01: msi, address
> 00:1b:21:23:08:0a

Right.  That suggests that "classic" INTx interrupts don'tr work
correctly (anymore).  I'll have a look to see if I can track this
down.

Was the other em(4) a dual port card as well?

> # pcidump -v
> Domain /dev/pci0:
>  0:0:0: Marvell ARMADA 7K/8K Root Complex
>         0x0000: Vendor ID: 11ab, Product ID: 0110
>         0x0004: Command: 0007, Status: 0010
>         0x0008: Class: 06 Bridge, Subclass: 04 PCI,
>                 Interface: 00, Revision: 00
>         0x000c: BIST: 00, Header Type: 01, Latency Timer: 00,
>                 Cache Line Size: 00
>         0x0010: BAR mem 64bit addr: 0x0000000000000000/0x00100000
>         0x0018: Primary Bus: 0, Secondary Bus: 1, Subordinate Bus: 31,
>                 Secondary Latency Timer: 00
>         0x001c: I/O Base: 01, I/O Limit: f1, Secondary Status: 2000
>         0x0020: Memory Base: c000, Memory Limit: dff0
>         0x0024: Prefetch Memory Base: fff1, Prefetch Memory Limit: 0001
>         0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
>         0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
>         0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
>         0x0038: Expansion ROM Base Address: 00000000
>         0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
>         0x0040: Capability 0x01: Power Management
>                 State: D0
>         0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
>                 Enabled: no
>         0x0070: Capability 0x10: PCI Express
>                 Link Speed: 2.5 / 8.0 GT/s, Link Width: x1 / x4
>         0x0100: Enhanced Capability 0x01: Advanced Error Reporting
>         0x0158: Enhanced Capability 0x19: Secondary PCIe Capability
>         0x01b8: Enhanced Capability 0x17: TPH Requester
>         0x024c: Enhanced Capability 0x1e: L1 PM
>         0x00b0: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>                 Enabled: no; table size 1 (BAR 0:0)
>  1:0:0: Intel 82575EB
>         0x0000: Vendor ID: 8086, Product ID: 10a7
>         0x0004: Command: 0006, Status: 0010
>         0x0008: Class: 02 Network, Subclass: 00 Ethernet,
>                 Interface: 00, Revision: 01
>         0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
>                 Cache Line Size: 10
>         0x0010: BAR mem 32bit addr: 0xc0000000/0x00020000
>         0x0014: BAR mem 32bit addr: 0x00000000/0x00100000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR mem 32bit addr: 0x00000000/0x00004000
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x01: Power Management
>                 State: D0
>         0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
>                 Enabled: yes
>         0x0070: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>                 Enabled: no; table size 20 (BAR 3:0)
>         0x00a0: Capability 0x10: PCI Express
>                 Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x4
>         0x0100: Enhanced Capability 0x01: Advanced Error Reporting
>         0x0140: Enhanced Capability 0x03: Device Serial Number
>  1:0:1: Intel 82575EB
>         0x0000: Vendor ID: 8086, Product ID: 10a7
>         0x0004: Command: 0006, Status: 0010
>         0x0008: Class: 02 Network, Subclass: 00 Ethernet,
>                 Interface: 00, Revision: 01
>         0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
>                 Cache Line Size: 10
>         0x0010: BAR mem 32bit addr: 0xc0020000/0x00020000
>         0x0014: BAR mem 32bit addr: 0x00000000/0x00100000
>         0x0018: BAR empty (00000000)
>         0x001c: BAR mem 32bit addr: 0x00000000/0x00004000
>         0x0020: BAR empty (00000000)
>         0x0024: BAR empty (00000000)
>         0x0028: Cardbus CIS: 00000000
>         0x002c: Subsystem Vendor ID: 8086 Product ID: 0000
>         0x0030: Expansion ROM Base Address: 00000000
>         0x0038: 00000000
>         0x003c: Interrupt Pin: 02 Line: 00 Min Gnt: 00 Max Lat: 00
>         0x0040: Capability 0x01: Power Management
>                 State: D0
>         0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
>                 Enabled: yes
>         0x0070: Capability 0x11: Extended Message Signalled Interrupts
> (MSI-X)
>                 Enabled: no; table size 5 (BAR 3:0)
>         0x00a0: Capability 0x10: PCI Express
>                 Link Speed: 2.5 / 2.5 GT/s, Link Width: x1 / x4
>         0x0100: Enhanced Capability 0x01: Advanced Error Reporting
>         0x0140: Enhanced Capability 0x03: Device Serial Number
>
> # pcidump -x
> Domain /dev/pci0:
>  0:0:0: Marvell ARMADA 7K/8K Root Complex
>         0x0000: 011011ab 00100007 06040000 00010000
>         0x0010: 00000004 00000000 001f0100 2000f101
>         0x0020: dff0c000 0001fff1 00000000 00000000
>         0x0030: 00000000 00000040 00000000 000001ff
>  1:0:0: Intel 82575EB
>         0x0000: 10a78086 00100006 02000001 00800010
>         0x0010: c0000000 00000000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00008086
>         0x0030: 00000000 00000040 00000000 00000100
>  1:0:1: Intel 82575EB
>         0x0000: 10a78086 00100006 02000001 00800010
>         0x0010: c0020000 00000000 00000000 00000000
>         0x0020: 00000000 00000000 00000000 00008086
>         0x0030: 00000000 00000040 00000000 00000200
>
>
>
> --
> Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
> Was the other em(4) a dual port card as well?

Yes both are dual port cards.



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Joseph Mayer
In reply to this post by Mark Kettenis
On Friday, May 3, 2019 9:09 PM, Mark Kettenis <[hidden email]> wrote:

> > Date: Fri, 3 May 2019 01:38:06 -0700 (MST)
> > From: Corsaire01 [hidden email]
> > Since it cost only a few bucks and I could have same-day delivery I bought a
> > Intel 82575EB based card.
> > This time it works !
> > here is the output:
> > pci1 at ppb0 bus 1
> > em0 at pci1 dev 0 function 0 "Intel 82575EB" rev 0x01: msi, address
> > 00:1b:21:23:08:0b
> > em1 at pci1 dev 0 function 1 "Intel 82575EB" rev 0x01: msi, address
> > 00:1b:21:23:08:0a
>
> Right. That suggests that "classic" INTx interrupts don'tr work
> correctly (anymore). I'll have a look to see if I can track this
> down.
>
> Was the other em(4) a dual port card as well?

Wait, where was the cue that "classic" INTx interrupts don't work on..
ARM64? ARMADA?

Was the cue in the quote Jonathan provided about "EXPI9402PT .. 82571GB
and msi is disabled on <= 82572 due to an errata" so "Only use MSI on
the newer PCIe parts, with the exception" and "of 82571/82572 due to
"Byte Enables 2 and 3 Are Not Set" errata"?

Joseph

Reply | Threaded
Open this post in threaded view
|

Re: Marvell ARMADA 7K/8K and MACCHIATObin support

Corsaire01
You can see the difference here in kernel boot message

doesn't work
pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel 82571EB" rev 0x06: intx, address
00:15:17:2e:8a:38
em1 at pci1 dev 0 function 1 "Intel 82571EB" rev 0x06: intx, address
00:15:17:2e:8a:39

works
pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel 82575EB" rev 0x01: msi, address
00:1b:21:23:08:0b
em1 at pci1 dev 0 function 1 "Intel 82575EB" rev 0x01: msi, address
00:1b:21:23:08:0a


the 82571 is in intx mode while the 82575 is in msi mode, the kernel source
states that 82571 can't do msi so it's the expected behavior.
though it should work so something is fishy here.



--
Sent from: http://openbsd-archive.7691.n7.nabble.com/openbsd-port-arm-f206279.html