[XTENSA] Prevent inlining ISS platform asm constructs
authorMarc Gauthier <marc@gums.hq.tensilica.com>
Fri, 21 Sep 2007 23:38:09 +0000 (16:38 -0700)
committerChris Zankel <chris@zankel.net>
Thu, 14 Feb 2008 01:04:56 +0000 (17:04 -0800)
The simcall asm macro assumes Windowed ABI parameter passing
in registers, and doesn't work if its containing function gets
inlined.  This fix prevents that from happening.

Signed-off-by: Marc Gauthier <marc@tensilica.com>
arch/xtensa/platforms/iss/console.c
arch/xtensa/platforms/iss/network.c

index 854677d..9141e36 100644 (file)
@@ -43,6 +43,7 @@ static DEFINE_SPINLOCK(timer_lock);
 
 int errno;
 
+static int __simc (int a, int b, int c, int d, int e, int f) __attribute__((__noinline__));
 static int __simc (int a, int b, int c, int d, int e, int f)
 {
        int ret;
index d89fb18..a2e2522 100644 (file)
@@ -107,6 +107,7 @@ struct iss_net_private {
 
 static int errno;
 
+static int __simc (int a, int b, int c, int d, int e, int f) __attribute__((__noinline__));
 static int __simc (int a, int b, int c, int d, int e, int f)
 {
        int ret;