1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_PARISC_RT_SIGFRAME_H
3 #define _ASM_PARISC_RT_SIGFRAME_H
4 
5 #define SIGRETURN_TRAMP 3
6 #define SIGRESTARTBLOCK_TRAMP 5
7 #define TRAMP_SIZE (SIGRETURN_TRAMP + SIGRESTARTBLOCK_TRAMP)
8 
9 struct rt_sigframe {
10 	/* XXX: Must match trampoline size in arch/parisc/kernel/signal.c
11 	        Secondary to that it must protect the ERESTART_RESTARTBLOCK
12 		trampoline we left on the stack (we were bad and didn't
13 		change sp so we could run really fast.) */
14 	unsigned int tramp[TRAMP_SIZE];
15 	struct siginfo info;
16 	struct ucontext uc;
17 };
18 
19 #define	SIGFRAME		128
20 #define FUNCTIONCALLFRAME	96
21 #define PARISC_RT_SIGFRAME_SIZE					\
22 	(((sizeof(struct rt_sigframe) + FUNCTIONCALLFRAME) + SIGFRAME) & -SIGFRAME)
23 
24 #endif
25