summaryrefslogtreecommitdiff
path: root/arch/xtensa/platforms/iss/include
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2016-09-20 17:26:48 -0700
committerMax Filippov <jcmvbkbc@gmail.com>2016-09-20 18:53:00 -0700
commitfeec273a2b4d98f8aa76c5d83f24053b211c8525 (patch)
tree59bc19ae3b576e5300fe542690ffe87fce9013cd /arch/xtensa/platforms/iss/include
parent70feca7199647dd548536d7e6b55a742053e6839 (diff)
xtensa: ISS: define simc_exit and use it instead of inline asm
A number of ISS platform functions use inline assembly to invoke simulator exit, not all correctly. Define simc_exit(exit_code) and use it instead of inline assembly. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/platforms/iss/include')
-rw-r--r--arch/xtensa/platforms/iss/include/platform/simcall.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/xtensa/platforms/iss/include/platform/simcall.h b/arch/xtensa/platforms/iss/include/platform/simcall.h
index 12b15ad1e586..27d7a528b41a 100644
--- a/arch/xtensa/platforms/iss/include/platform/simcall.h
+++ b/arch/xtensa/platforms/iss/include/platform/simcall.h
@@ -76,6 +76,11 @@ static inline int __simc(int a, int b, int c, int d)
return ret;
}
+static inline int simc_exit(int exit_code)
+{
+ return __simc(SYS_exit, exit_code, 0, 0);
+}
+
static inline int simc_open(const char *file, int flags, int mode)
{
return __simc(SYS_open, (int) file, flags, mode);