Statistics
| Branch: | Revision:

root / linux-user / mips64 / syscall.h @ 2aeb36a8

History | View | Annotate | Download (9.4 kB)

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
        abi_ulong regs[32];
8

    
9
        /* Saved special registers. */
10
        abi_ulong cp0_status;
11
        abi_ulong lo;
12
        abi_ulong hi;
13
        abi_ulong cp0_badvaddr;
14
        abi_ulong cp0_cause;
15
        abi_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
/* Nasty hack: define a fake errno value for use by sigreturn. */
222
#define TARGET_QEMU_ESIGRETURN 255
223

    
224
#define UNAME_MACHINE "mips64"