1#include <inttypes.h>
2#include <signal.h>
3#include <stddef.h>
4#include <sys/ucontext.h>
5#include <asm/sigcontext.h>
6
7#include "kernel_rt_sigframe.h"
8
9SIG_BLOCK
10SIG_SETMASK
11
12_NSIG8				(_NSIG / 8)
13
14-- Offsets of the fields in the kernel rt_sigframe_t structure.
15#define rt_sigframe(member)	offsetof (struct kernel_rt_sigframe, member)
16
17RT_SIGFRAME_UCONTEXT		rt_sigframe (uc)
18
19RT_SIGFRAME_SIZE		sizeof (struct kernel_rt_sigframe)
20FPSIMD_CONTEXT_SIZE             sizeof (struct fpsimd_context)
21
22#define ucontext(member)	offsetof (ucontext_t, member)
23#define stack(member)		ucontext (uc_stack.member)
24#define mcontext(member)	ucontext (uc_mcontext.member)
25
26UCONTEXT_FLAGS			ucontext (uc_flags)
27UCONTEXT_LINK			ucontext (uc_link)
28UCONTEXT_STACK			ucontext (uc_stack)
29UCONTEXT_MCONTEXT		ucontext (uc_mcontext)
30UCONTEXT_SIGMASK		ucontext (uc_sigmask)
31UCONTEXT_SIZE			sizeof (ucontext_t)
32
33STACK_SP			stack (ss_sp)
34STACK_SIZE			stack (ss_size)
35STACK_FLAGS			stack (ss_flags)
36
37oX0				mcontext (regs)
38oSP				mcontext (sp)
39oPC				mcontext (pc)
40oPSTATE				mcontext (pstate)
41oEXTENSION                      mcontext (__reserved)
42
43#define fpsimd_context(member)  offsetof (struct fpsimd_context, member)
44
45oHEAD                           fpsimd_context (head)
46oV0                             fpsimd_context (vregs)
47oFPSR                           fpsimd_context (fpsr)
48oFPCR                           fpsimd_context (fpcr)
49
50#define aarch64_ctx(member)  offsetof (struct _aarch64_ctx, member)
51
52oMAGIC                          aarch64_ctx (magic)
53oSIZE                           aarch64_ctx (size)
54
55FPSIMD_MAGIC
56