diff options
author | Michal Simek <monstr@monstr.eu> | 2009-05-12 06:10:52 -0400 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2009-05-21 09:56:07 -0400 |
commit | a6029d1c8cfc9ac2609195f31c2e70b584d3496e (patch) | |
tree | 739930b605c3aae68fe669054cb01dfad1025ffa /arch/microblaze/include | |
parent | 732703af9c3478c3f935dd5ae80140b9b12bda09 (diff) |
microblaze: prepare signal handling for generic unistd.h
We need to define set_restore_sigmask() in order to
get pselect and ppoll. Also, the setup_frame function
can not be used when __NR_sigreturn is not defined.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/include')
-rw-r--r-- | arch/microblaze/include/asm/syscalls.h | 3 | ||||
-rw-r--r-- | arch/microblaze/include/asm/thread_info.h | 11 |
2 files changed, 14 insertions, 0 deletions
diff --git a/arch/microblaze/include/asm/syscalls.h b/arch/microblaze/include/asm/syscalls.h index 9cb4ff0edeb2..ddea9eb31f8d 100644 --- a/arch/microblaze/include/asm/syscalls.h +++ b/arch/microblaze/include/asm/syscalls.h | |||
@@ -34,6 +34,9 @@ asmlinkage int sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, | |||
34 | asmlinkage int sys_sigaction(int sig, const struct old_sigaction *act, | 34 | asmlinkage int sys_sigaction(int sig, const struct old_sigaction *act, |
35 | struct old_sigaction *oact); | 35 | struct old_sigaction *oact); |
36 | 36 | ||
37 | asmlinkage long sys_rt_sigaction(int sig, const struct sigaction __user *act, | ||
38 | struct sigaction __user *oact, size_t sigsetsize); | ||
39 | |||
37 | asmlinkage int sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, | 40 | asmlinkage int sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, |
38 | struct pt_regs *regs); | 41 | struct pt_regs *regs); |
39 | 42 | ||
diff --git a/arch/microblaze/include/asm/thread_info.h b/arch/microblaze/include/asm/thread_info.h index 4c3943e3f403..a0401d2ef8d5 100644 --- a/arch/microblaze/include/asm/thread_info.h +++ b/arch/microblaze/include/asm/thread_info.h | |||
@@ -154,6 +154,17 @@ static inline struct thread_info *current_thread_info(void) | |||
154 | */ | 154 | */ |
155 | /* FPU was used by this task this quantum (SMP) */ | 155 | /* FPU was used by this task this quantum (SMP) */ |
156 | #define TS_USEDFPU 0x0001 | 156 | #define TS_USEDFPU 0x0001 |
157 | #define TS_RESTORE_SIGMASK 0x0002 | ||
158 | |||
159 | #ifndef __ASSEMBLY__ | ||
160 | #define HAVE_SET_RESTORE_SIGMASK 1 | ||
161 | static inline void set_restore_sigmask(void) | ||
162 | { | ||
163 | struct thread_info *ti = current_thread_info(); | ||
164 | ti->status |= TS_RESTORE_SIGMASK; | ||
165 | set_bit(TIF_SIGPENDING, (unsigned long *)&ti->flags); | ||
166 | } | ||
167 | #endif | ||
157 | 168 | ||
158 | #endif /* __KERNEL__ */ | 169 | #endif /* __KERNEL__ */ |
159 | #endif /* _ASM_MICROBLAZE_THREAD_INFO_H */ | 170 | #endif /* _ASM_MICROBLAZE_THREAD_INFO_H */ |