Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _ASM_PARISC_RT_SIGFRAME_H |
| 2 | #define _ASM_PARISC_RT_SIGFRAME_H |
| 3 | |
| 4 | #ifdef CONFIG_COMPAT |
| 5 | #include <asm/compat_rt_sigframe.h> |
| 6 | #endif |
| 7 | |
| 8 | #define SIGRETURN_TRAMP 4 |
| 9 | #define SIGRESTARTBLOCK_TRAMP 5 |
| 10 | #define TRAMP_SIZE (SIGRETURN_TRAMP + SIGRESTARTBLOCK_TRAMP) |
| 11 | |
| 12 | struct rt_sigframe { |
| 13 | /* XXX: Must match trampoline size in arch/parisc/kernel/signal.c |
| 14 | Secondary to that it must protect the ERESTART_RESTARTBLOCK |
| 15 | trampoline we left on the stack (we were bad and didn't |
| 16 | change sp so we could run really fast.) */ |
| 17 | unsigned int tramp[TRAMP_SIZE]; |
| 18 | struct siginfo info; |
| 19 | struct ucontext uc; |
| 20 | }; |
| 21 | |
| 22 | #define SIGFRAME 128 |
| 23 | #define FUNCTIONCALLFRAME 96 |
| 24 | #define PARISC_RT_SIGFRAME_SIZE \ |
| 25 | (((sizeof(struct rt_sigframe) + FUNCTIONCALLFRAME) + SIGFRAME) & -SIGFRAME) |
| 26 | |
| 27 | #endif |