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