Linux 6.1 Drops BF16 Support For Cortex-A510 Due To Hardware Bug

Written by Michael Larabel in Arm on 12 October 2022 at 03:00 AM EDT. 8 Comments
ARM
The 64-bit Arm (ARM64 / AArch64) architecture changes were merged last week for the ongoing Linux 6.1 merge window.

In addition to Linux 6.1 supporting various new SoCs, smartphones, and other Arm devices, there are also a number of ARM64 architecture updates too with Linux 6.1.

For those with a SoC featuring Cortex-A510 processor cores, Linux 6.1 unfortunately is disabling advertising of BF16 instruction support due to a hardware bug. From the patch written last month for dealing with the Cortex-A510 erratum:
Cortex-A510 has an erratum where the BFMMLA or VMMLA instructions might produce the incorrect result. This only happens if two Cortex-A510 CPUs are configured by the SoC manufacturer in a particular way to share some hardware, and are using it at the same time. It isn't possible for Linux to know how the CPUs were configured, so the only option is to disable the BF16 feature for all Cortex-A510 CPUs.

That BF16 removal for A510 CPUs is part of the merged ARM64 changes along with introducing a DDR PMU driver for Alibaba's T-head Yitian 710 SoC, a new hardware cap for SVE EBF16, conversions to automatic system registers generation, ARM64 atomics improvements, various defconfig updates, and other changes.

See this pull for the full list of ARM64 feature changes for Linux 6.1.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week