summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2021-11-08 08:52:05 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-11-08 09:15:23 +0100
commit6b2c6c9a4afb3d2c082d07f5019e82cb2ed0c0f3 (patch)
tree3e7b8fc3e0178907fd654374cdec3c48b07bc652 /arch/arm
parent0b0ef6d8e8344c283f5de77e033f1801346f9a0d (diff)
downloadbarebox-6b2c6c9a4afb3d2c082d07f5019e82cb2ed0c0f3.tar.gz
barebox-6b2c6c9a4afb3d2c082d07f5019e82cb2ed0c0f3.tar.xz
ARM64: <asm/barebox-arm-head.h>: mark prologue location
Unlike with ARM32, barebox prologue on ARM64 starts with the function prologue, because of the absence of the naked attribute. The code is written with that in mind (6 branches instead of 8 to account for the two instructions inserted by the compiler), but it's still suprising. Add a hint about that in the code. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20211108075209.2366770-5-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/include/asm/barebox-arm-head.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/include/asm/barebox-arm-head.h b/arch/arm/include/asm/barebox-arm-head.h
index 8409a77d2e..187d12c9fc 100644
--- a/arch/arm/include/asm/barebox-arm-head.h
+++ b/arch/arm/include/asm/barebox-arm-head.h
@@ -44,6 +44,8 @@ static inline void __barebox_arm_head(void)
"1: b 1b\n"
#endif
#else
+ /* two instruction long function prologue */
+ /* only use if stack is initialized! */
"b 2f\n"
"nop\n"
"nop\n"