]> git.baikalelectronics.ru Git - uboot.git/commit
vexpress64: semi_defconfig: disable CRC32 support
authorAndre Przywara <andre.przywara@arm.com>
Fri, 21 Jan 2022 16:36:04 +0000 (16:36 +0000)
committerTom Rini <trini@konsulko.com>
Mon, 24 Jan 2022 15:35:09 +0000 (10:35 -0500)
commitb21f0e7b6d669786ef2505210df118b98d15662d
tree9805f92ba22f9ed9fcf848d0b9b3c056f6ad71c8
parentaadff906539c7d5323d3da6f623a4516f1a5bf46
vexpress64: semi_defconfig: disable CRC32 support

Commit 784723db8d73 ("crc32: Add crc32 implementation using
__builtin_aarch64_crc32b") enabled the usage of ARMv8 CRC instructions
by default, for all arm64 builds. And indeed all Arm Ltd. v8 Cortex-A
cores support the instructions, and they are mandatory starting with
architecture revision v8.1, so realistically every known hardware
implementation should support them.

The Arm Fastmodel however defaults to the bare minimum ARMv8 feature set
by default, which means v8.0 without the CRC instructions, so U-Boot
hangs very early at the moment, without any output (the boot-wrapper or
TF-A printing the last visible lines).

Support for those instructions can be enabled on the model command line
by either:
-C cluster0.cpu0.enable_crc32=1 (for each core)
or by using a higher architecture revision by default:
-C cluster0.has_arm_v8-1=1 (for each cluster)
Of course any arch revision higher than v8.1 would work as well.

But for the sake of a smooth out-of-the-box experience, let's just
disable the usage of those instructions in the defconfig, to avoid
random hangs without any clues.

Reported-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Marek Vasut <marex@denx.de>
configs/vexpress_aemv8a_semi_defconfig