Home
last modified time | relevance | path

Searched hist:b3ab60b1 (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/arch/arm/include/asm/
H A Dassembler.hb3ab60b1 Tue Oct 05 02:15:35 CDT 2021 Ard Biesheuvel <ardb@kernel.org> ARM: assembler: introduce bl_r macro

Add a bl_r macro that abstract the difference between the ways indirect
calls are performed on older and newer ARM architecture revisions.

The main difference is to prefer blx instructions over explicit LR
assignments when possible, as these tend to confuse the prediction logic
in out-of-order cores when speculating across a function return.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Keith Packard <keithpac@amazon.com>
Tested-by: Marc Zyngier <maz@kernel.org>
Tested-by: Vladimir Murzin <vladimir.murzin@arm.com> # ARMv7M