diff options
author | Marc Gauthier <marc@gums.hq.tensilica.com> | 2007-09-21 16:38:09 -0700 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2008-02-13 17:04:56 -0800 |
commit | c865415838146d83c92e4c1ae69aff45ef9f35f8 (patch) | |
tree | 4543b397c52e1c49bfd189036a789530635cbdfc /arch/xtensa/platforms | |
parent | b67360db143448be1f6d68835c6d0cc43837667f (diff) | |
download | op-kernel-dev-c865415838146d83c92e4c1ae69aff45ef9f35f8.zip op-kernel-dev-c865415838146d83c92e4c1ae69aff45ef9f35f8.tar.gz |
[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>
Diffstat (limited to 'arch/xtensa/platforms')
-rw-r--r-- | arch/xtensa/platforms/iss/console.c | 1 | ||||
-rw-r--r-- | arch/xtensa/platforms/iss/network.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/xtensa/platforms/iss/console.c b/arch/xtensa/platforms/iss/console.c index 854677d..9141e36 100644 --- a/arch/xtensa/platforms/iss/console.c +++ b/arch/xtensa/platforms/iss/console.c @@ -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; diff --git a/arch/xtensa/platforms/iss/network.c b/arch/xtensa/platforms/iss/network.c index d89fb18..a2e2522 100644 --- a/arch/xtensa/platforms/iss/network.c +++ b/arch/xtensa/platforms/iss/network.c @@ -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; |