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