summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMarc Gauthier <marc@gums.hq.tensilica.com>2007-09-21 16:38:09 -0700
committerChris Zankel <chris@zankel.net>2008-02-13 17:04:56 -0800
commitc865415838146d83c92e4c1ae69aff45ef9f35f8 (patch)
tree4543b397c52e1c49bfd189036a789530635cbdfc /arch
parentb67360db143448be1f6d68835c6d0cc43837667f (diff)
downloadlinux-3.10-c865415838146d83c92e4c1ae69aff45ef9f35f8.tar.gz
linux-3.10-c865415838146d83c92e4c1ae69aff45ef9f35f8.tar.bz2
linux-3.10-c865415838146d83c92e4c1ae69aff45ef9f35f8.zip
[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')
-rw-r--r--arch/xtensa/platforms/iss/console.c1
-rw-r--r--arch/xtensa/platforms/iss/network.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/xtensa/platforms/iss/console.c b/arch/xtensa/platforms/iss/console.c
index 854677d0c3f..9141e369073 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 d89fb18d797..a2e25221742 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;