xref: /linux/arch/m68k/include/asm/ucontext.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2872065e7SGreg Ungerer #ifndef _M68K_UCONTEXT_H
3872065e7SGreg Ungerer #define _M68K_UCONTEXT_H
4872065e7SGreg Ungerer 
5872065e7SGreg Ungerer typedef int greg_t;
6872065e7SGreg Ungerer #define NGREG 18
7872065e7SGreg Ungerer typedef greg_t gregset_t[NGREG];
8872065e7SGreg Ungerer 
9872065e7SGreg Ungerer typedef struct fpregset {
10872065e7SGreg Ungerer 	int f_fpcntl[3];
11872065e7SGreg Ungerer 	int f_fpregs[8*3];
12872065e7SGreg Ungerer } fpregset_t;
13872065e7SGreg Ungerer 
14872065e7SGreg Ungerer struct mcontext {
15872065e7SGreg Ungerer 	int version;
16872065e7SGreg Ungerer 	gregset_t gregs;
17872065e7SGreg Ungerer 	fpregset_t fpregs;
18872065e7SGreg Ungerer };
19872065e7SGreg Ungerer 
20872065e7SGreg Ungerer #define MCONTEXT_VERSION 2
21872065e7SGreg Ungerer 
22872065e7SGreg Ungerer struct ucontext {
23872065e7SGreg Ungerer 	unsigned long	  uc_flags;
24872065e7SGreg Ungerer 	struct ucontext  *uc_link;
25872065e7SGreg Ungerer 	stack_t		  uc_stack;
26872065e7SGreg Ungerer 	struct mcontext	  uc_mcontext;
27872065e7SGreg Ungerer 	unsigned long	  uc_filler[80];
28872065e7SGreg Ungerer 	sigset_t	  uc_sigmask;	/* mask last for extensibility */
29872065e7SGreg Ungerer };
30872065e7SGreg Ungerer 
3149148020SSam Ravnborg #endif
32