ThunderX support broken since r336520

kraileth at kraileth at
Wed Feb 13 21:41:10 UTC 2019


Recently I got my hands on a Cavium ThunderX server for some tests  
before it is deployed for production. I wanted to install FreeBSD on  
it so I grabbed a 12.0 image and was surprised that it didn't work at  
all. The beastie menu is displayed, the kernel loaded - and then it  
just stops.

As pointed out by Marcel Flores in December  
11.2 does boot to the installer however. Upgrading the system to  
11-STABLE worked fine, too. Building 12-STABLE or -CURRENT resulted in  
a kernel that wouldn't boot.

I decided to find the point where ThunderX support broke in head. It's  
roughly 40,000 commits from the first 12-CURRENT to today. After a few  
nights of checking out various old revisions of HEAD and building  
kernels over and over again, I found out that in r336520 Emmanuel  
Vadot added vt_efifb to the GENERIC kernel config on arm64. According  
to his commit message this was tested on PINE64 hardware - but  
unfortunately it obviously does not work on ThunderX.

To unbreak HEAD I see basically 3 options:

1) Make the EFI FB work properly on ThunderX. This would certainly be  
the best solution but I have no idea whatsoever how to do it.
2) Revert. Probably not a good idea since having vt_efifb included  
makes sense on devices where it works. Also reverting a commit from  
half a year ago doesn't feel right.
3) Add a THUNDERX config that builds a working kernel and live with  
the fact that GENERIC does not support ThunderX for the moment.

I went with the following simple config for all my further tests:

include GENERIC

nodevice        vt_efifb

This makes -CURRENT work again. It does _not_ make 12 (-RELEASE and  
-STABLE) work! There's another issue with these that was fixed in HEAD  
after 12 was branched off. I chased the problem down, too, but:  
Another issue, another mail.

ThunderX is a pretty interesting platform and any help in making  
FreeBSD run on it again is very much appreciated.

Any thoughts on this?


More information about the freebsd-arm mailing list