summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/include/armv6-m
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-03-22 21:59:05 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-03-22 21:59:05 +0000
commitf4a74d79f3111b79f408eb4070e125cad78e9082 (patch)
treead245c3f71a14d7f0e84e734ec201f08c9ddd87d /nuttx/arch/arm/include/armv6-m
parentf3427f57661698850483d9638892a7c25456078c (diff)
downloadpx4-nuttx-f4a74d79f3111b79f408eb4070e125cad78e9082.tar.gz
px4-nuttx-f4a74d79f3111b79f408eb4070e125cad78e9082.tar.bz2
px4-nuttx-f4a74d79f3111b79f408eb4070e125cad78e9082.zip
A few fixes related to dispatched signals in kernel mode (there are still issues)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5777 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/include/armv6-m')
-rw-r--r--nuttx/arch/arm/include/armv6-m/syscall.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/nuttx/arch/arm/include/armv6-m/syscall.h b/nuttx/arch/arm/include/armv6-m/syscall.h
index 863a7afec..75b9c4f8a 100644
--- a/nuttx/arch/arm/include/armv6-m/syscall.h
+++ b/nuttx/arch/arm/include/armv6-m/syscall.h
@@ -249,7 +249,14 @@ static inline uintptr_t sys_call6(unsigned int nbr, uintptr_t parm1,
static inline void signal_handler_return(void) noreturn_function;
static inline void signal_handler_return(void)
{
- sys_call0(SYS_signal_handler_return);
+ __asm__ __volatile__
+ (
+ " mov r0, %0\n"
+ " svc %1\n"
+ :
+ : "i" (SYS_signal_handler_return), "i"(SYS_syscall)
+ : "memory"
+ );
}
#endif