blob: 2b3010ade00e7baa65f77e14e01da1526a490028 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/* 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