Greg Ungerer | 872065e | 2009-02-06 13:55:16 +1000 | [diff] [blame] | 1 | #ifndef _M68K_UCONTEXT_H |
| 2 | #define _M68K_UCONTEXT_H |
| 3 | |
| 4 | typedef int greg_t; |
| 5 | #define NGREG 18 |
| 6 | typedef greg_t gregset_t[NGREG]; |
| 7 | |
| 8 | typedef struct fpregset { |
| 9 | int f_fpcntl[3]; |
Maxim Kuvyrkov | 00ebfe58 | 2009-09-23 01:22:43 +0400 | [diff] [blame] | 10 | #ifdef __mcoldfire__ |
| 11 | int f_fpregs[8][2]; |
| 12 | #else |
Greg Ungerer | 872065e | 2009-02-06 13:55:16 +1000 | [diff] [blame] | 13 | int f_fpregs[8*3]; |
Maxim Kuvyrkov | 00ebfe58 | 2009-09-23 01:22:43 +0400 | [diff] [blame] | 14 | #endif |
Greg Ungerer | 872065e | 2009-02-06 13:55:16 +1000 | [diff] [blame] | 15 | } fpregset_t; |
| 16 | |
| 17 | struct mcontext { |
| 18 | int version; |
| 19 | gregset_t gregs; |
| 20 | fpregset_t fpregs; |
| 21 | }; |
| 22 | |
| 23 | #define MCONTEXT_VERSION 2 |
| 24 | |
| 25 | struct ucontext { |
| 26 | unsigned long uc_flags; |
| 27 | struct ucontext *uc_link; |
| 28 | stack_t uc_stack; |
| 29 | struct mcontext uc_mcontext; |
| 30 | unsigned long uc_filler[80]; |
| 31 | sigset_t uc_sigmask; /* mask last for extensibility */ |
| 32 | }; |
| 33 | |
Sam Ravnborg | 4914802 | 2009-01-16 21:58:10 +1000 | [diff] [blame] | 34 | #endif |