ThunderX support broken since r336520

John F Carr jfc at
Wed Feb 13 23:10:18 UTC 2019

> On Feb 13, 2019, at 16:40 , kraileth at wrote:
> 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.

In vt_efifb_probe I see there's a hook to disable:

	TUNABLE_INT_FETCH("hw.syscons.disable", &disabled);
	if (disabled != 0)
		return (CN_DEAD);

More information about the freebsd-arm mailing list