]>
Commit | Line | Data |
---|---|---|
540635ba TS |
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 { | |
597e2cec RH |
6 | /* Saved main processor registers. */ |
7 | target_ulong regs[32]; | |
540635ba | 8 | |
597e2cec RH |
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; | |
540635ba TS |
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 | ||
2aeb36a8 AF |
221 | /* Nasty hack: define a fake errno value for use by sigreturn. */ |
222 | #define TARGET_QEMU_ESIGRETURN 255 | |
223 | ||
540635ba | 224 | #define UNAME_MACHINE "mips64" |
cbc14e6f | 225 | #define UNAME_MINIMUM_RELEASE "2.6.32" |
4ce6243d PM |
226 | |
227 | #define TARGET_CLONE_BACKWARDS |