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 4 6#define SIGRESTARTBLOCK_TRAMP 5 7#define TRAMP_SIZE (SIGRETURN_TRAMP + SIGRESTARTBLOCK_TRAMP) 8 9struct 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