Browse Source

[XTENSA] Prevent inlining ISS platform asm constructs

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>
Marc Gauthier 17 years ago
parent
commit
c865415838
2 changed files with 2 additions and 0 deletions
  1. 1 0
      arch/xtensa/platforms/iss/console.c
  2. 1 0
      arch/xtensa/platforms/iss/network.c

+ 1 - 0
arch/xtensa/platforms/iss/console.c

@@ -43,6 +43,7 @@ static DEFINE_SPINLOCK(timer_lock);
 
 
 int errno;
 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)
 static int __simc (int a, int b, int c, int d, int e, int f)
 {
 {
 	int ret;
 	int ret;

+ 1 - 0
arch/xtensa/platforms/iss/network.c

@@ -107,6 +107,7 @@ struct iss_net_private {
 
 
 static int errno;
 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)
 static int __simc (int a, int b, int c, int d, int e, int f)
 {
 {
 	int ret;
 	int ret;