]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
armv8: semihosting: do not inline trap call
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 23 Mar 2015 10:06:10 +0000 (11:06 +0100)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 1 Sep 2015 12:34:21 +0000 (14:34 +0200)
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>
arch/arm/lib/semihosting.c

index fd6d8573f560fd1064f43540fea6b43c2a7ebd07..d3f724b726e19da7004ecabdc5ff38512a7df63a 100644 (file)
@@ -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)