1 #ifndef ALPHA_TARGET_SYSCALL_H
2 #define ALPHA_TARGET_SYSCALL_H
3 
4 /* default linux values for the selectors */
5 #define __USER_DS	(1)
6 
7 struct target_pt_regs {
8 	abi_ulong r0;
9 	abi_ulong r1;
10 	abi_ulong r2;
11 	abi_ulong r3;
12 	abi_ulong r4;
13 	abi_ulong r5;
14 	abi_ulong r6;
15 	abi_ulong r7;
16 	abi_ulong r8;
17 	abi_ulong r19;
18 	abi_ulong r20;
19 	abi_ulong r21;
20 	abi_ulong r22;
21 	abi_ulong r23;
22 	abi_ulong r24;
23 	abi_ulong r25;
24 	abi_ulong r26;
25 	abi_ulong r27;
26 	abi_ulong r28;
27 	abi_ulong hae;
28 /* JRP - These are the values provided to a0-a2 by PALcode */
29 	abi_ulong trap_a0;
30 	abi_ulong trap_a1;
31 	abi_ulong trap_a2;
32 /* These are saved by PAL-code: */
33 	abi_ulong ps;
34 	abi_ulong pc;
35 	abi_ulong gp;
36 	abi_ulong r16;
37 	abi_ulong r17;
38 	abi_ulong r18;
39 /* Those is needed by qemu to temporary store the user stack pointer */
40         abi_ulong usp;
41         abi_ulong unique;
42 };
43 
44 #define UNAME_MACHINE "alpha"
45 #define UNAME_MINIMUM_RELEASE "2.6.32"
46 
47 #undef TARGET_EDEADLK
48 #define TARGET_EDEADLK		11
49 #undef TARGET_EAGAIN
50 #define TARGET_EAGAIN		35
51 #undef TARGET_EINPROGRESS
52 #define TARGET_EINPROGRESS	36
53 #undef TARGET_EALREADY
54 #define TARGET_EALREADY		37
55 #undef TARGET_ENOTSOCK
56 #define TARGET_ENOTSOCK		38
57 #undef TARGET_EDESTADDRREQ
58 #define TARGET_EDESTADDRREQ	39
59 #undef TARGET_EMSGSIZE
60 #define TARGET_EMSGSIZE		40
61 #undef TARGET_EPROTOTYPE
62 #define TARGET_EPROTOTYPE	41
63 #undef TARGET_ENOPROTOOPT
64 #define TARGET_ENOPROTOOPT	42
65 #undef TARGET_EPROTONOSUPPORT
66 #define TARGET_EPROTONOSUPPORT	43
67 #undef TARGET_ESOCKTNOSUPPORT
68 #define TARGET_ESOCKTNOSUPPORT	44
69 #undef TARGET_EOPNOTSUPP
70 #define TARGET_EOPNOTSUPP	45
71 #undef TARGET_EPFNOSUPPORT
72 #define TARGET_EPFNOSUPPORT	46
73 #undef TARGET_EAFNOSUPPORT
74 #define TARGET_EAFNOSUPPORT	47
75 #undef TARGET_EADDRINUSE
76 #define TARGET_EADDRINUSE	48
77 #undef TARGET_EADDRNOTAVAIL
78 #define TARGET_EADDRNOTAVAIL	49
79 #undef TARGET_ENETDOWN
80 #define TARGET_ENETDOWN		50
81 #undef TARGET_ENETUNREACH
82 #define TARGET_ENETUNREACH	51
83 #undef TARGET_ENETRESET
84 #define TARGET_ENETRESET	52
85 #undef TARGET_ECONNABORTED
86 #define TARGET_ECONNABORTED	53
87 #undef TARGET_ECONNRESET
88 #define TARGET_ECONNRESET	54
89 #undef TARGET_ENOBUFS
90 #define TARGET_ENOBUFS		55
91 #undef TARGET_EISCONN
92 #define TARGET_EISCONN		56
93 #undef TARGET_ENOTCONN
94 #define TARGET_ENOTCONN		57
95 #undef TARGET_ESHUTDOWN
96 #define TARGET_ESHUTDOWN	58
97 #undef TARGET_ETOOMANYREFS
98 #define TARGET_ETOOMANYREFS	59
99 #undef TARGET_ETIMEDOUT
100 #define TARGET_ETIMEDOUT	60
101 #undef TARGET_ECONNREFUSED
102 #define TARGET_ECONNREFUSED	61
103 #undef TARGET_ELOOP
104 #define TARGET_ELOOP		62
105 #undef TARGET_ENAMETOOLONG
106 #define TARGET_ENAMETOOLONG	63
107 #undef TARGET_EHOSTDOWN
108 #define TARGET_EHOSTDOWN	64
109 #undef TARGET_EHOSTUNREACH
110 #define TARGET_EHOSTUNREACH	65
111 #undef TARGET_ENOTEMPTY
112 #define TARGET_ENOTEMPTY	66
113 // Unused			67
114 #undef TARGET_EUSERS
115 #define TARGET_EUSERS		68
116 #undef TARGET_EDQUOT
117 #define TARGET_EDQUOT		69
118 #undef TARGET_ESTALE
119 #define TARGET_ESTALE		70
120 #undef TARGET_EREMOTE
121 #define TARGET_EREMOTE		71
122 // Unused			72-76
123 #undef TARGET_ENOLCK
124 #define TARGET_ENOLCK		77
125 #undef TARGET_ENOSYS
126 #define TARGET_ENOSYS		78
127 // Unused			79
128 #undef TARGET_ENOMSG
129 #define TARGET_ENOMSG		80
130 #undef TARGET_EIDRM
131 #define TARGET_EIDRM		81
132 #undef TARGET_ENOSR
133 #define TARGET_ENOSR		82
134 #undef TARGET_ETIME
135 #define TARGET_ETIME		83
136 #undef TARGET_EBADMSG
137 #define TARGET_EBADMSG		84
138 #undef TARGET_EPROTO
139 #define TARGET_EPROTO		85
140 #undef TARGET_ENODATA
141 #define TARGET_ENODATA		86
142 #undef TARGET_ENOSTR
143 #define TARGET_ENOSTR		87
144 #undef TARGET_ECHRNG
145 #define TARGET_ECHRNG		88
146 #undef TARGET_EL2NSYNC
147 #define TARGET_EL2NSYNC		89
148 #undef TARGET_EL3HLT
149 #define TARGET_EL3HLT		90
150 #undef TARGET_EL3RST
151 #define TARGET_EL3RST		91
152 #undef TARGET_ENOPKG
153 #define TARGET_ENOPKG		92
154 #undef TARGET_ELNRNG
155 #define TARGET_ELNRNG		93
156 #undef TARGET_EUNATCH
157 #define TARGET_EUNATCH		94
158 #undef TARGET_ENOCSI
159 #define TARGET_ENOCSI		95
160 #undef TARGET_EL2HLT
161 #define TARGET_EL2HLT		96
162 #undef TARGET_EBADE
163 #define TARGET_EBADE		97
164 #undef TARGET_EBADR
165 #define TARGET_EBADR		98
166 #undef TARGET_EXFULL
167 #define TARGET_EXFULL		99
168 #undef TARGET_ENOANO
169 #define TARGET_ENOANO		100
170 #undef TARGET_EBADRQC
171 #define TARGET_EBADRQC		101
172 #undef TARGET_EBADSLT
173 #define TARGET_EBADSLT		102
174 // Unused			103
175 #undef TARGET_EBFONT
176 #define TARGET_EBFONT		104
177 #undef TARGET_ENONET
178 #define TARGET_ENONET		105
179 #undef TARGET_ENOLINK
180 #define TARGET_ENOLINK		106
181 #undef TARGET_EADV
182 #define TARGET_EADV		107
183 #undef TARGET_ESRMNT
184 #define TARGET_ESRMNT		108
185 #undef TARGET_ECOMM
186 #define TARGET_ECOMM		109
187 #undef TARGET_EMULTIHOP
188 #define TARGET_EMULTIHOP	110
189 #undef TARGET_EDOTDOT
190 #define TARGET_EDOTDOT		111
191 #undef TARGET_EOVERFLOW
192 #define TARGET_EOVERFLOW	112
193 #undef TARGET_ENOTUNIQ
194 #define TARGET_ENOTUNIQ		113
195 #undef TARGET_EBADFD
196 #define TARGET_EBADFD		114
197 #undef TARGET_EREMCHG
198 #define TARGET_EREMCHG		115
199 #undef TARGET_EILSEQ
200 #define TARGET_EILSEQ		116
201 
202 // Same as default		117-121
203 
204 #undef TARGET_ELIBACC
205 #define TARGET_ELIBACC		122
206 #undef TARGET_ELIBBAD
207 #define TARGET_ELIBBAD		123
208 #undef TARGET_ELIBSCN
209 #define TARGET_ELIBSCN		124
210 #undef TARGET_ELIBMAX
211 #define TARGET_ELIBMAX		125
212 #undef TARGET_ELIBEXEC
213 #define TARGET_ELIBEXEC		126
214 #undef TARGET_ERESTART
215 #define TARGET_ERESTART		127
216 #undef TARGET_ESTRPIPE
217 #define TARGET_ESTRPIPE		128
218 #undef TARGET_ENOMEDIUM
219 #define TARGET_ENOMEDIUM	129
220 #undef TARGET_EMEDIUMTYPE
221 #define TARGET_EMEDIUMTYPE	130
222 #undef TARGET_ECANCELED
223 #define TARGET_ECANCELED	131
224 #undef TARGET_ENOKEY
225 #define TARGET_ENOKEY		132
226 #undef TARGET_EKEYEXPIRED
227 #define TARGET_EKEYEXPIRED	133
228 #undef TARGET_EKEYREVOKED
229 #define TARGET_EKEYREVOKED	134
230 #undef TARGET_EKEYREJECTED
231 #define TARGET_EKEYREJECTED	135
232 #undef TARGET_EOWNERDEAD
233 #define TARGET_EOWNERDEAD	136
234 #undef TARGET_ENOTRECOVERABLE
235 #define TARGET_ENOTRECOVERABLE	137
236 #undef TARGET_ERFKILL
237 #define TARGET_ERFKILL		138
238 #undef TARGET_EHWPOISON
239 #define TARGET_EHWPOISON        139
240 
241 // For sys_osf_getsysinfo
242 #define TARGET_GSI_UACPROC		8
243 #define TARGET_GSI_IEEE_FP_CONTROL	45
244 #define TARGET_GSI_IEEE_STATE_AT_SIGNAL	46
245 #define TARGET_GSI_PROC_TYPE		60
246 #define TARGET_GSI_GET_HWRPB		101
247 
248 // For sys_ofs_setsysinfo
249 #define TARGET_SSI_NVPAIRS		1
250 #define TARGET_SSI_IEEE_FP_CONTROL	14
251 #define TARGET_SSI_IEEE_STATE_AT_SIGNAL	15
252 #define TARGET_SSI_IEEE_IGNORE_STATE_AT_SIGNAL 16
253 #define TARGET_SSI_IEEE_RAISE_EXCEPTION	1001
254 
255 #define TARGET_SSIN_UACPROC		6
256 
257 #define TARGET_UAC_NOPRINT		1
258 #define TARGET_UAC_NOFIX		2
259 #define TARGET_UAC_SIGBUS		4
260 #define TARGET_MINSIGSTKSZ              4096
261 #define TARGET_MCL_CURRENT     0x2000
262 #define TARGET_MCL_FUTURE      0x4000
263 #define TARGET_MCL_ONFAULT     0x8000
264 
265 #endif /* ALPHA_TARGET_SYSCALL_H */
266