Star64_linux/arch/arm
Ard Biesheuvel b3ab60b179 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
2021-12-03 15:11:31 +01:00
..
boot ARM: decompressor: disable stack protector 2021-12-03 15:11:24 +01:00
common Merge branches 'devel-stable' and 'misc' into for-linus 2021-11-02 09:04:22 +00:00
configs ARM: defconfig updates for 5.16 2021-11-03 17:07:02 -07:00
crypto
include ARM: assembler: introduce bl_r macro 2021-12-03 15:11:31 +01:00
kernel ARM: remove some dead code 2021-12-03 15:11:31 +01:00
lib
mach-actions
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: SoC updates for v5.16 2021-11-03 16:48:32 -07:00
mach-axxia
mach-bcm Devicetree updates for v5.16: 2021-11-02 22:22:13 -07:00
mach-berlin
mach-clps711x
mach-cns3xxx
mach-davinci
mach-digicolor
mach-dove
mach-ep93xx
mach-exynos
mach-footbridge
mach-gemini
mach-highbank
mach-hisi memblock: rename memblock_free to memblock_phys_free 2021-11-06 13:30:41 -07:00
mach-imx ARM development for 5.16: 2021-11-02 11:33:15 -07:00
mach-integrator
mach-iop32x
mach-ixp4xx
mach-keystone
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson
mach-milbeaut
mach-mmp
mach-moxart
mach-mstar
mach-mv78xx0
mach-mvebu
mach-mxs
mach-nomadik
mach-npcm
mach-nspire
mach-omap1
mach-omap2 ARM: SoC updates for v5.16 2021-11-03 16:48:32 -07:00
mach-orion5x
mach-oxnas
mach-pxa
mach-qcom ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
mach-rda
mach-realtek
mach-realview
mach-rockchip
mach-rpc
mach-s3c ARM: SoC updates for v5.16 2021-11-03 16:48:32 -07:00
mach-s5pv210
mach-sa1100
mach-shmobile
mach-socfpga
mach-spear
mach-sti
mach-stm32
mach-sunxi
mach-tegra
mach-uniphier
mach-ux500
mach-versatile
mach-vexpress
mach-vt8500
mach-zynq
mm ARM fixes for 5.16-rc1: 2021-11-14 11:30:50 -08:00
net
nwfpe
plat-omap
plat-orion
plat-pxa
plat-versatile
probes ARM development for 5.16: 2021-11-02 11:33:15 -07:00
tools
vdso
vfp
xen xen: allow pv-only hypercalls only with CONFIG_XEN_PV 2021-11-02 08:11:01 -05:00
Kbuild
Kconfig ARM: stackprotector: prefer compiler for TLS based per-task protector 2021-12-03 15:11:30 +01:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug
Makefile ARM: stackprotector: prefer compiler for TLS based per-task protector 2021-12-03 15:11:30 +01:00