HEADS UP: Cavium ThunderX support in the tree

Zbigniew Bodek zbb at semihalf.com
Fri Nov 6 11:23:34 UTC 2015

2015-11-06 10:47 GMT+01:00 Andrew Turner <andrew at fubar.geek.nz>:
> On Thu, 5 Nov 2015 17:14:03 +0100
> Zbigniew Bodek <zbb at semihalf.com> wrote:
>> Hello all,
>> Semihalf is happy to officially announce that starting from SVN
>> revision r289550 FreeBSD is ready to run on Cavium ThunderX
>> system-on-chip!
>> ThunderX is the first ARM64 (ARMv8) hardware platform to be supported
>> by FreeBSD and the only one that introduces 96-CPU cores SMP.
>> The integrated code includes support for:
> ...
>> - Network Interface Controller (VNIC) 1/10/40G
> We do? Then why don't I see it in ifconfig on the ThunderX in the
> cluster?
> root at cavium:~ # ifconfig -a
> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
> 1500
>         ether 00:15:17:0b:6b:08
>         inet netmask 0xffffff00 broadcast
>         media: Ethernet autoselect (1000baseT <full-duplex>)
>         status: active
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
>         options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
>         inet6 ::1 prefixlen 128
>         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
>         inet netmask 0xff000000
>         groups: lo
>         nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
> Andrew

Strange. Works for me ;P

First of all, networking cards on ThunderX are PCI Virtual Functions
so you need to bring them up using iovctl.
If you watched the youtube demo you should have seen that at first
there are no interfaces in ifconfig and then I do iovctl and they
Secondly, EFI that runs on the board needs to pass the correct DTB to
the kernel (it has to have PCIB, BGX, MDIO, PHYs nodes and they need
to be in the correct order [MDIO needs to attach before BGX]).

Best regards

More information about the freebsd-arm mailing list