xref: /OK3568_Linux_fs/kernel/arch/m68k/include/asm/ucontext.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef _M68K_UCONTEXT_H
3*4882a593Smuzhiyun #define _M68K_UCONTEXT_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun typedef int greg_t;
6*4882a593Smuzhiyun #define NGREG 18
7*4882a593Smuzhiyun typedef greg_t gregset_t[NGREG];
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun typedef struct fpregset {
10*4882a593Smuzhiyun 	int f_fpcntl[3];
11*4882a593Smuzhiyun 	int f_fpregs[8*3];
12*4882a593Smuzhiyun } fpregset_t;
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun struct mcontext {
15*4882a593Smuzhiyun 	int version;
16*4882a593Smuzhiyun 	gregset_t gregs;
17*4882a593Smuzhiyun 	fpregset_t fpregs;
18*4882a593Smuzhiyun };
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun #define MCONTEXT_VERSION 2
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun struct ucontext {
23*4882a593Smuzhiyun 	unsigned long	  uc_flags;
24*4882a593Smuzhiyun 	struct ucontext  *uc_link;
25*4882a593Smuzhiyun 	stack_t		  uc_stack;
26*4882a593Smuzhiyun 	struct mcontext	  uc_mcontext;
27*4882a593Smuzhiyun 	unsigned long	  uc_filler[80];
28*4882a593Smuzhiyun 	sigset_t	  uc_sigmask;	/* mask last for extensibility */
29*4882a593Smuzhiyun };
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #endif
32