[PATCH 0/1] armv8: reduce core errata dispatch work
Josh Law
josh2 at disroot.org
Sun May 24 14:38:21 CEST 2026
Hey folks,
apply_core_errata() runs during early ARMv8 CPU entry, before
lowlevel_init(). Today it still checks the Cortex-A53 and Cortex-A57
paths even when the build has no matching core erratum enabled.
This patch leaves that dispatch code out unless one of the supported
errata is enabled. For the A57 errata case, it reads MIDR_EL1 once and
reuses the extracted CPU part number.
The erratum register writes stay behind the same CPU checks as before.
For qemu_arm64_defconfig, where none of these errata are enabled,
apply_core_errata() goes from 15 dispatch instructions to a single ret.
For ls2080aqds_qspi_defconfig, which keeps the A57 path, the dispatch
side goes from 33 instructions to 26. A KVM microbench of the same
dispatch sequences showed 1.30x for the no errata case and 1.09x for
the A57 miss case.
Josh Law (1):
armv8: reduce core errata dispatch work
arch/arm/cpu/armv8/start.S | 35 ++++++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 11 deletions(-)
--
2.47.3
More information about the U-Boot
mailing list