qemu with hax to log dma reads & writes
jcs.org/2018/11/12/vfio
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
7struct 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_MLOCKALL_MCL_CURRENT 0x2000
262#define TARGET_MLOCKALL_MCL_FUTURE 0x4000
263
264#endif /* ALPHA_TARGET_SYSCALL_H */