]> err.no Git - linux-2.6/commitdiff
[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 854677d0c3f680feccffe731c2db72a95116ff61..9141e369073194115eb5ad06d1f1e22b0d230d9f 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 d89fb18d7971f026b1cc3819778814a2a4c9e8a2..a2e252217428f0500ea965c47bf18822d32e4a2b 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;