|
1 |
|
2 /* this struct defines the way the registers are stored on the |
|
3 stack during a system call. */ |
|
4 |
|
5 struct target_pt_regs { |
|
6 /* Saved main processor registers. */ |
|
7 target_ulong regs[32]; |
|
8 |
|
9 /* Saved special registers. */ |
|
10 target_ulong cp0_status; |
|
11 target_ulong lo; |
|
12 target_ulong hi; |
|
13 target_ulong cp0_badvaddr; |
|
14 target_ulong cp0_cause; |
|
15 target_ulong cp0_epc; |
|
16 }; |
|
17 |
|
18 /* Target errno definitions taken from asm-mips/errno.h */ |
|
19 #undef TARGET_ENOMSG |
|
20 #define TARGET_ENOMSG 35 /* Identifier removed */ |
|
21 #undef TARGET_EIDRM |
|
22 #define TARGET_EIDRM 36 /* Identifier removed */ |
|
23 #undef TARGET_ECHRNG |
|
24 #define TARGET_ECHRNG 37 /* Channel number out of range */ |
|
25 #undef TARGET_EL2NSYNC |
|
26 #define TARGET_EL2NSYNC 38 /* Level 2 not synchronized */ |
|
27 #undef TARGET_EL3HLT |
|
28 #define TARGET_EL3HLT 39 /* Level 3 halted */ |
|
29 #undef TARGET_EL3RST |
|
30 #define TARGET_EL3RST 40 /* Level 3 reset */ |
|
31 #undef TARGET_ELNRNG |
|
32 #define TARGET_ELNRNG 41 /* Link number out of range */ |
|
33 #undef TARGET_EUNATCH |
|
34 #define TARGET_EUNATCH 42 /* Protocol driver not attached */ |
|
35 #undef TARGET_ENOCSI |
|
36 #define TARGET_ENOCSI 43 /* No CSI structure available */ |
|
37 #undef TARGET_EL2HLT |
|
38 #define TARGET_EL2HLT 44 /* Level 2 halted */ |
|
39 #undef TARGET_EDEADLK |
|
40 #define TARGET_EDEADLK 45 /* Resource deadlock would occur */ |
|
41 #undef TARGET_ENOLCK |
|
42 #define TARGET_ENOLCK 46 /* No record locks available */ |
|
43 #undef TARGET_EBADE |
|
44 #define TARGET_EBADE 50 /* Invalid exchange */ |
|
45 #undef TARGET_EBADR |
|
46 #define TARGET_EBADR 51 /* Invalid request descriptor */ |
|
47 #undef TARGET_EXFULL |
|
48 #define TARGET_EXFULL 52 /* TARGET_Exchange full */ |
|
49 #undef TARGET_ENOANO |
|
50 #define TARGET_ENOANO 53 /* No anode */ |
|
51 #undef TARGET_EBADRQC |
|
52 #define TARGET_EBADRQC 54 /* Invalid request code */ |
|
53 #undef TARGET_EBADSLT |
|
54 #define TARGET_EBADSLT 55 /* Invalid slot */ |
|
55 #undef TARGET_EDEADLOCK |
|
56 #define TARGET_EDEADLOCK 56 /* File locking deadlock error */ |
|
57 #undef TARGET_EBFONT |
|
58 #define TARGET_EBFONT 59 /* Bad font file format */ |
|
59 #undef TARGET_ENOSTR |
|
60 #define TARGET_ENOSTR 60 /* Device not a stream */ |
|
61 #undef TARGET_ENODATA |
|
62 #define TARGET_ENODATA 61 /* No data available */ |
|
63 #undef TARGET_ETIME |
|
64 #define TARGET_ETIME 62 /* Timer expired */ |
|
65 #undef TARGET_ENOSR |
|
66 #define TARGET_ENOSR 63 /* Out of streams resources */ |
|
67 #undef TARGET_ENONET |
|
68 #define TARGET_ENONET 64 /* Machine is not on the network */ |
|
69 #undef TARGET_ENOPKG |
|
70 #define TARGET_ENOPKG 65 /* Package not installed */ |
|
71 #undef TARGET_EREMOTE |
|
72 #define TARGET_EREMOTE 66 /* Object is remote */ |
|
73 #undef TARGET_ENOLINK |
|
74 #define TARGET_ENOLINK 67 /* Link has been severed */ |
|
75 #undef TARGET_EADV |
|
76 #define TARGET_EADV 68 /* Advertise error */ |
|
77 #undef TARGET_ESRMNT |
|
78 #define TARGET_ESRMNT 69 /* Srmount error */ |
|
79 #undef TARGET_ECOMM |
|
80 #define TARGET_ECOMM 70 /* Communication error on send */ |
|
81 #undef TARGET_EPROTO |
|
82 #define TARGET_EPROTO 71 /* Protocol error */ |
|
83 #undef TARGET_EDOTDOT |
|
84 #define TARGET_EDOTDOT 73 /* RFS specific error */ |
|
85 #undef TARGET_EMULTIHOP |
|
86 #define TARGET_EMULTIHOP 74 /* Multihop attempted */ |
|
87 #undef TARGET_EBADMSG |
|
88 #define TARGET_EBADMSG 77 /* Not a data message */ |
|
89 #undef TARGET_ENAMETOOLONG |
|
90 #define TARGET_ENAMETOOLONG 78 /* File name too long */ |
|
91 #undef TARGET_EOVERFLOW |
|
92 #define TARGET_EOVERFLOW 79 /* Value too large for defined data type */ |
|
93 #undef TARGET_ENOTUNIQ |
|
94 #define TARGET_ENOTUNIQ 80 /* Name not unique on network */ |
|
95 #undef TARGET_EBADFD |
|
96 #define TARGET_EBADFD 81 /* File descriptor in bad state */ |
|
97 #undef TARGET_EREMCHG |
|
98 #define TARGET_EREMCHG 82 /* Remote address changed */ |
|
99 #undef TARGET_ELIBACC |
|
100 #define TARGET_ELIBACC 83 /* Can not access a needed shared library */ |
|
101 #undef TARGET_ELIBBAD |
|
102 #define TARGET_ELIBBAD 84 /* Accessing a corrupted shared library */ |
|
103 #undef TARGET_ELIBSCN |
|
104 #define TARGET_ELIBSCN 85 /* .lib section in a.out corrupted */ |
|
105 #undef TARGET_ELIBMAX |
|
106 #define TARGET_ELIBMAX 86 /* Attempting to link in too many shared libraries */ |
|
107 #undef TARGET_ELIBEXEC |
|
108 #define TARGET_ELIBEXEC 87 /* Cannot exec a shared library directly */ |
|
109 #undef TARGET_EILSEQ |
|
110 #define TARGET_EILSEQ 88 /* Illegal byte sequence */ |
|
111 #undef TARGET_ENOSYS |
|
112 #define TARGET_ENOSYS 89 /* Function not implemented */ |
|
113 #undef TARGET_ELOOP |
|
114 #define TARGET_ELOOP 90 /* Too many symbolic links encountered */ |
|
115 #undef TARGET_ERESTART |
|
116 #define TARGET_ERESTART 91 /* Interrupted system call should be restarted */ |
|
117 #undef TARGET_ESTRPIPE |
|
118 #define TARGET_ESTRPIPE 92 /* Streams pipe error */ |
|
119 #undef TARGET_ENOTEMPTY |
|
120 #define TARGET_ENOTEMPTY 93 /* Directory not empty */ |
|
121 #undef TARGET_EUSERS |
|
122 #define TARGET_EUSERS 94 /* Too many users */ |
|
123 #undef TARGET_ENOTSOCK |
|
124 #define TARGET_ENOTSOCK 95 /* Socket operation on non-socket */ |
|
125 #undef TARGET_EDESTADDRREQ |
|
126 #define TARGET_EDESTADDRREQ 96 /* Destination address required */ |
|
127 #undef TARGET_EMSGSIZE |
|
128 #define TARGET_EMSGSIZE 97 /* Message too long */ |
|
129 #undef TARGET_EPROTOTYPE |
|
130 #define TARGET_EPROTOTYPE 98 /* Protocol wrong type for socket */ |
|
131 #undef TARGET_ENOPROTOOPT |
|
132 #define TARGET_ENOPROTOOPT 99 /* Protocol not available */ |
|
133 #undef TARGET_EPROTONOSUPPORT |
|
134 #define TARGET_EPROTONOSUPPORT 120 /* Protocol not supported */ |
|
135 #undef TARGET_ESOCKTNOSUPPORT |
|
136 #define TARGET_ESOCKTNOSUPPORT 121 /* Socket type not supported */ |
|
137 #undef TARGET_EOPNOTSUPP |
|
138 #define TARGET_EOPNOTSUPP 122 /* Operation not supported on transport endpoint */ |
|
139 #undef TARGET_EPFNOSUPPORT |
|
140 #define TARGET_EPFNOSUPPORT 123 /* Protocol family not supported */ |
|
141 #undef TARGET_EAFNOSUPPORT |
|
142 #define TARGET_EAFNOSUPPORT 124 /* Address family not supported by protocol */ |
|
143 #undef TARGET_EADDRINUSE |
|
144 #define TARGET_EADDRINUSE 125 /* Address already in use */ |
|
145 #undef TARGET_EADDRNOTAVAIL |
|
146 #define TARGET_EADDRNOTAVAIL 126 /* Cannot assign requested address */ |
|
147 #undef TARGET_ENETDOWN |
|
148 #define TARGET_ENETDOWN 127 /* Network is down */ |
|
149 #undef TARGET_ENETUNREACH |
|
150 #define TARGET_ENETUNREACH 128 /* Network is unreachable */ |
|
151 #undef TARGET_ENETRESET |
|
152 #define TARGET_ENETRESET 129 /* Network dropped connection because of reset */ |
|
153 #undef TARGET_ECONNABORTED |
|
154 #define TARGET_ECONNABORTED 130 /* Software caused connection abort */ |
|
155 #undef TARGET_ECONNRESET |
|
156 #define TARGET_ECONNRESET 131 /* Connection reset by peer */ |
|
157 #undef TARGET_ENOBUFS |
|
158 #define TARGET_ENOBUFS 132 /* No buffer space available */ |
|
159 #undef TARGET_EISCONN |
|
160 #define TARGET_EISCONN 133 /* Transport endpoint is already connected */ |
|
161 #undef TARGET_ENOTCONN |
|
162 #define TARGET_ENOTCONN 134 /* Transport endpoint is not connected */ |
|
163 #undef TARGET_EUCLEAN |
|
164 #define TARGET_EUCLEAN 135 /* Structure needs cleaning */ |
|
165 #undef TARGET_ENOTNAM |
|
166 #define TARGET_ENOTNAM 137 /* Not a XENIX named type file */ |
|
167 #undef TARGET_ENAVAIL |
|
168 #define TARGET_ENAVAIL 138 /* No XENIX semaphores available */ |
|
169 #undef TARGET_EISNAM |
|
170 #define TARGET_EISNAM 139 /* Is a named type file */ |
|
171 #undef TARGET_EREMOTEIO |
|
172 #define TARGET_EREMOTEIO 140 /* Remote I/O error */ |
|
173 #undef TARGET_EINIT |
|
174 #define TARGET_EINIT 141 /* Reserved */ |
|
175 #undef TARGET_EREMDEV |
|
176 #define TARGET_EREMDEV 142 /* TARGET_Error 142 */ |
|
177 #undef TARGET_ESHUTDOWN |
|
178 #define TARGET_ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */ |
|
179 #undef TARGET_ETOOMANYREFS |
|
180 #define TARGET_ETOOMANYREFS 144 /* Too many references: cannot splice */ |
|
181 #undef TARGET_ETIMEDOUT |
|
182 #define TARGET_ETIMEDOUT 145 /* Connection timed out */ |
|
183 #undef TARGET_ECONNREFUSED |
|
184 #define TARGET_ECONNREFUSED 146 /* Connection refused */ |
|
185 #undef TARGET_EHOSTDOWN |
|
186 #define TARGET_EHOSTDOWN 147 /* Host is down */ |
|
187 #undef TARGET_EHOSTUNREACH |
|
188 #define TARGET_EHOSTUNREACH 148 /* No route to host */ |
|
189 #undef TARGET_EALREADY |
|
190 #define TARGET_EALREADY 149 /* Operation already in progress */ |
|
191 #undef TARGET_EINPROGRESS |
|
192 #define TARGET_EINPROGRESS 150 /* Operation now in progress */ |
|
193 #undef TARGET_ESTALE |
|
194 #define TARGET_ESTALE 151 /* Stale NFS file handle */ |
|
195 #undef TARGET_ECANCELED |
|
196 #define TARGET_ECANCELED 158 /* AIO operation canceled */ |
|
197 /* |
|
198 * These error are Linux extensions. |
|
199 */ |
|
200 #undef TARGET_ENOMEDIUM |
|
201 #define TARGET_ENOMEDIUM 159 /* No medium found */ |
|
202 #undef TARGET_EMEDIUMTYPE |
|
203 #define TARGET_EMEDIUMTYPE 160 /* Wrong medium type */ |
|
204 #undef TARGET_ENOKEY |
|
205 #define TARGET_ENOKEY 161 /* Required key not available */ |
|
206 #undef TARGET_EKEYEXPIRED |
|
207 #define TARGET_EKEYEXPIRED 162 /* Key has expired */ |
|
208 #undef TARGET_EKEYREVOKED |
|
209 #define TARGET_EKEYREVOKED 163 /* Key has been revoked */ |
|
210 #undef TARGET_EKEYREJECTED |
|
211 #define TARGET_EKEYREJECTED 164 /* Key was rejected by service */ |
|
212 |
|
213 /* for robust mutexes */ |
|
214 #undef TARGET_EOWNERDEAD |
|
215 #define TARGET_EOWNERDEAD 165 /* Owner died */ |
|
216 #undef TARGET_ENOTRECOVERABLE |
|
217 #define TARGET_ENOTRECOVERABLE 166 /* State not recoverable */ |
|
218 |
|
219 |
|
220 |
|
221 #define UNAME_MACHINE "mips64" |