1 /* Copyright (C) 1997, 1999, 2001 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
18 /* System V/blackfin ABI compliant context switching support. */
20 #ifndef _SYS_UCONTEXT_H
21 #define _SYS_UCONTEXT_H 1
26 /* Type for general register. */
29 /* Number of general registers. */
32 /* Container for all general registers. */
33 typedef greg_t gregset_t[NGREG];
35 /* Number of each register is the `gregset_t' array. */
67 #define REG_USP REG_USP
69 #define REG_A0W REG_A0W
71 #define REG_A1W REG_A1W
73 #define REG_A0X REG_A0X
75 #define REG_A1X REG_A1X
77 #define REG_ASTAT REG_ASTAT
79 #define REG_RETS REG_RETS
83 #define REG_RETX REG_RETX
101 #define REG_M3 REG_M3
103 #define REG_L0 REG_L0
105 #define REG_L1 REG_L1
107 #define REG_L2 REG_L2
109 #define REG_L3 REG_L3
111 #define REG_B0 REG_B0
113 #define REG_B1 REG_B1
115 #define REG_B2 REG_B2
117 #define REG_B3 REG_B3
119 #define REG_LC0 REG_LC0
121 #define REG_LC1 REG_LC1
123 #define REG_LT0 REG_LT0
125 #define REG_LT1 REG_LT1
127 #define REG_LB0 REG_LB0
129 #define REG_LB1 REG_LB1
131 #define REG_SEQSTAT REG_SEQSTAT
134 /* Context to describe whole processor state. */
141 /* Userlevel context. */
142 typedef struct ucontext
144 unsigned long int uc_flags;
145 struct ucontext *uc_link;
147 mcontext_t uc_mcontext;
148 __sigset_t uc_sigmask;
151 #endif /* sys/ucontext.h */