summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2015-03-23 11:06:10 +0100
committerTom Rini <trini@konsulko.com>2015-03-28 12:07:45 -0400
commite769f68613ee4f84c8e2aea784335df74ceea397 (patch)
tree3a86b64771fb13900dd2b3e24c0999e4e3e03ae6 /arch
parent8c2492901998a76e083ed0875372c141da084d86 (diff)
armv8: semihosting: do not inline trap call
The semihosting trap call does not like being inlined, probably because that will mean register reordering screwing up the return value in r0, so tag this function "noinline". Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/lib/semihosting.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/lib/semihosting.c b/arch/arm/lib/semihosting.c
index fd6d8573f5..d3f724b726 100644
--- a/arch/arm/lib/semihosting.c
+++ b/arch/arm/lib/semihosting.c
@@ -26,7 +26,7 @@
/*
* Call the handler
*/
-static long smh_trap(unsigned int sysnum, void *addr)
+static noinline long smh_trap(unsigned int sysnum, void *addr)
{
register long result asm("r0");
#if defined(CONFIG_ARM64)