]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/contrib/cloudabi/cloudabi_vdso_i686.S
THIS BRANCH IS OBSOLETE, PLEASE READ:
[FreeBSD/FreeBSD.git] / sys / contrib / cloudabi / cloudabi_vdso_i686.S
1 // Copyright (c) 2016 Nuxi (https://nuxi.nl/) and contributors.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions
5 // are met:
6 // 1. Redistributions of source code must retain the above copyright
7 //    notice, this list of conditions and the following disclaimer.
8 // 2. Redistributions in binary form must reproduce the above copyright
9 //    notice, this list of conditions and the following disclaimer in the
10 //    documentation and/or other materials provided with the distribution.
11 //
12 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
13 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
16 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
17 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
18 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
19 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
20 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
21 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
22 // SUCH DAMAGE.
23 //
24 // This file is automatically generated. Do not edit.
25 //
26 // Source: https://github.com/NuxiNL/cloudabi
27
28 #define ENTRY(name)      \
29   .text;                 \
30   .p2align 2, 0x90;      \
31   .global name;          \
32   .type name, @function; \
33 name:
34
35 #define END(name) .size name, . - name
36
37 ENTRY(cloudabi_sys_clock_res_get)
38   mov $0, %eax
39   int $0x80
40   jc 1f
41   mov 8(%esp), %ecx
42   mov %eax, 0(%ecx)
43   mov %edx, 4(%ecx)
44   xor %eax, %eax
45 1:
46   ret
47 END(cloudabi_sys_clock_res_get)
48
49 ENTRY(cloudabi_sys_clock_time_get)
50   mov $1, %eax
51   int $0x80
52   jc 1f
53   mov 16(%esp), %ecx
54   mov %eax, 0(%ecx)
55   mov %edx, 4(%ecx)
56   xor %eax, %eax
57 1:
58   ret
59 END(cloudabi_sys_clock_time_get)
60
61 ENTRY(cloudabi_sys_condvar_signal)
62   mov $2, %eax
63   int $0x80
64   ret
65 END(cloudabi_sys_condvar_signal)
66
67 ENTRY(cloudabi_sys_fd_close)
68   mov $3, %eax
69   int $0x80
70   ret
71 END(cloudabi_sys_fd_close)
72
73 ENTRY(cloudabi_sys_fd_create1)
74   mov $4, %eax
75   int $0x80
76   jc 1f
77   mov 8(%esp), %ecx
78   mov %eax, (%ecx)
79   xor %eax, %eax
80 1:
81   ret
82 END(cloudabi_sys_fd_create1)
83
84 ENTRY(cloudabi_sys_fd_create2)
85   mov $5, %eax
86   int $0x80
87   jc 1f
88   mov 8(%esp), %ecx
89   mov %eax, (%ecx)
90   mov 12(%esp), %ecx
91   mov %edx, (%ecx)
92   xor %eax, %eax
93 1:
94   ret
95 END(cloudabi_sys_fd_create2)
96
97 ENTRY(cloudabi_sys_fd_datasync)
98   mov $6, %eax
99   int $0x80
100   ret
101 END(cloudabi_sys_fd_datasync)
102
103 ENTRY(cloudabi_sys_fd_dup)
104   mov $7, %eax
105   int $0x80
106   jc 1f
107   mov 8(%esp), %ecx
108   mov %eax, (%ecx)
109   xor %eax, %eax
110 1:
111   ret
112 END(cloudabi_sys_fd_dup)
113
114 ENTRY(cloudabi_sys_fd_pread)
115   mov $8, %eax
116   int $0x80
117   jc 1f
118   mov 24(%esp), %ecx
119   mov %eax, (%ecx)
120   xor %eax, %eax
121 1:
122   ret
123 END(cloudabi_sys_fd_pread)
124
125 ENTRY(cloudabi_sys_fd_pwrite)
126   mov $9, %eax
127   int $0x80
128   jc 1f
129   mov 24(%esp), %ecx
130   mov %eax, (%ecx)
131   xor %eax, %eax
132 1:
133   ret
134 END(cloudabi_sys_fd_pwrite)
135
136 ENTRY(cloudabi_sys_fd_read)
137   mov $10, %eax
138   int $0x80
139   jc 1f
140   mov 16(%esp), %ecx
141   mov %eax, (%ecx)
142   xor %eax, %eax
143 1:
144   ret
145 END(cloudabi_sys_fd_read)
146
147 ENTRY(cloudabi_sys_fd_replace)
148   mov $11, %eax
149   int $0x80
150   ret
151 END(cloudabi_sys_fd_replace)
152
153 ENTRY(cloudabi_sys_fd_seek)
154   mov $12, %eax
155   int $0x80
156   jc 1f
157   mov 20(%esp), %ecx
158   mov %eax, 0(%ecx)
159   mov %edx, 4(%ecx)
160   xor %eax, %eax
161 1:
162   ret
163 END(cloudabi_sys_fd_seek)
164
165 ENTRY(cloudabi_sys_fd_stat_get)
166   mov $13, %eax
167   int $0x80
168   ret
169 END(cloudabi_sys_fd_stat_get)
170
171 ENTRY(cloudabi_sys_fd_stat_put)
172   mov $14, %eax
173   int $0x80
174   ret
175 END(cloudabi_sys_fd_stat_put)
176
177 ENTRY(cloudabi_sys_fd_sync)
178   mov $15, %eax
179   int $0x80
180   ret
181 END(cloudabi_sys_fd_sync)
182
183 ENTRY(cloudabi_sys_fd_write)
184   mov $16, %eax
185   int $0x80
186   jc 1f
187   mov 16(%esp), %ecx
188   mov %eax, (%ecx)
189   xor %eax, %eax
190 1:
191   ret
192 END(cloudabi_sys_fd_write)
193
194 ENTRY(cloudabi_sys_file_advise)
195   mov $17, %eax
196   int $0x80
197   ret
198 END(cloudabi_sys_file_advise)
199
200 ENTRY(cloudabi_sys_file_allocate)
201   mov $18, %eax
202   int $0x80
203   ret
204 END(cloudabi_sys_file_allocate)
205
206 ENTRY(cloudabi_sys_file_create)
207   mov $19, %eax
208   int $0x80
209   ret
210 END(cloudabi_sys_file_create)
211
212 ENTRY(cloudabi_sys_file_link)
213   mov $20, %eax
214   int $0x80
215   ret
216 END(cloudabi_sys_file_link)
217
218 ENTRY(cloudabi_sys_file_open)
219   mov $21, %eax
220   int $0x80
221   jc 1f
222   mov 28(%esp), %ecx
223   mov %eax, (%ecx)
224   xor %eax, %eax
225 1:
226   ret
227 END(cloudabi_sys_file_open)
228
229 ENTRY(cloudabi_sys_file_readdir)
230   mov $22, %eax
231   int $0x80
232   jc 1f
233   mov 24(%esp), %ecx
234   mov %eax, (%ecx)
235   xor %eax, %eax
236 1:
237   ret
238 END(cloudabi_sys_file_readdir)
239
240 ENTRY(cloudabi_sys_file_readlink)
241   mov $23, %eax
242   int $0x80
243   jc 1f
244   mov 24(%esp), %ecx
245   mov %eax, (%ecx)
246   xor %eax, %eax
247 1:
248   ret
249 END(cloudabi_sys_file_readlink)
250
251 ENTRY(cloudabi_sys_file_rename)
252   mov $24, %eax
253   int $0x80
254   ret
255 END(cloudabi_sys_file_rename)
256
257 ENTRY(cloudabi_sys_file_stat_fget)
258   mov $25, %eax
259   int $0x80
260   ret
261 END(cloudabi_sys_file_stat_fget)
262
263 ENTRY(cloudabi_sys_file_stat_fput)
264   mov $26, %eax
265   int $0x80
266   ret
267 END(cloudabi_sys_file_stat_fput)
268
269 ENTRY(cloudabi_sys_file_stat_get)
270   mov $27, %eax
271   int $0x80
272   ret
273 END(cloudabi_sys_file_stat_get)
274
275 ENTRY(cloudabi_sys_file_stat_put)
276   mov $28, %eax
277   int $0x80
278   ret
279 END(cloudabi_sys_file_stat_put)
280
281 ENTRY(cloudabi_sys_file_symlink)
282   mov $29, %eax
283   int $0x80
284   ret
285 END(cloudabi_sys_file_symlink)
286
287 ENTRY(cloudabi_sys_file_unlink)
288   mov $30, %eax
289   int $0x80
290   ret
291 END(cloudabi_sys_file_unlink)
292
293 ENTRY(cloudabi_sys_lock_unlock)
294   mov $31, %eax
295   int $0x80
296   ret
297 END(cloudabi_sys_lock_unlock)
298
299 ENTRY(cloudabi_sys_mem_advise)
300   mov $32, %eax
301   int $0x80
302   ret
303 END(cloudabi_sys_mem_advise)
304
305 ENTRY(cloudabi_sys_mem_map)
306   mov $33, %eax
307   int $0x80
308   jc 1f
309   mov 32(%esp), %ecx
310   mov %eax, (%ecx)
311   xor %eax, %eax
312 1:
313   ret
314 END(cloudabi_sys_mem_map)
315
316 ENTRY(cloudabi_sys_mem_protect)
317   mov $34, %eax
318   int $0x80
319   ret
320 END(cloudabi_sys_mem_protect)
321
322 ENTRY(cloudabi_sys_mem_sync)
323   mov $35, %eax
324   int $0x80
325   ret
326 END(cloudabi_sys_mem_sync)
327
328 ENTRY(cloudabi_sys_mem_unmap)
329   mov $36, %eax
330   int $0x80
331   ret
332 END(cloudabi_sys_mem_unmap)
333
334 ENTRY(cloudabi_sys_poll)
335   mov $37, %eax
336   int $0x80
337   jc 1f
338   mov 16(%esp), %ecx
339   mov %eax, (%ecx)
340   xor %eax, %eax
341 1:
342   ret
343 END(cloudabi_sys_poll)
344
345 ENTRY(cloudabi_sys_proc_exec)
346   mov $38, %eax
347   int $0x80
348   ret
349 END(cloudabi_sys_proc_exec)
350
351 ENTRY(cloudabi_sys_proc_exit)
352   mov $39, %eax
353   int $0x80
354 END(cloudabi_sys_proc_exit)
355
356 ENTRY(cloudabi_sys_proc_fork)
357   mov $40, %eax
358   int $0x80
359   jc 1f
360   mov 4(%esp), %ecx
361   mov %eax, (%ecx)
362   mov 8(%esp), %ecx
363   mov %edx, (%ecx)
364   xor %eax, %eax
365 1:
366   ret
367 END(cloudabi_sys_proc_fork)
368
369 ENTRY(cloudabi_sys_proc_raise)
370   mov $41, %eax
371   int $0x80
372   ret
373 END(cloudabi_sys_proc_raise)
374
375 ENTRY(cloudabi_sys_random_get)
376   mov $42, %eax
377   int $0x80
378   ret
379 END(cloudabi_sys_random_get)
380
381 ENTRY(cloudabi_sys_sock_recv)
382   mov $43, %eax
383   int $0x80
384   ret
385 END(cloudabi_sys_sock_recv)
386
387 ENTRY(cloudabi_sys_sock_send)
388   mov $44, %eax
389   int $0x80
390   ret
391 END(cloudabi_sys_sock_send)
392
393 ENTRY(cloudabi_sys_sock_shutdown)
394   mov $45, %eax
395   int $0x80
396   ret
397 END(cloudabi_sys_sock_shutdown)
398
399 ENTRY(cloudabi_sys_thread_create)
400   mov $46, %eax
401   int $0x80
402   jc 1f
403   mov 8(%esp), %ecx
404   mov %eax, (%ecx)
405   xor %eax, %eax
406 1:
407   ret
408 END(cloudabi_sys_thread_create)
409
410 ENTRY(cloudabi_sys_thread_exit)
411   mov $47, %eax
412   int $0x80
413 END(cloudabi_sys_thread_exit)
414
415 ENTRY(cloudabi_sys_thread_yield)
416   mov $48, %eax
417   int $0x80
418   ret
419 END(cloudabi_sys_thread_yield)