]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/contrib/cloudabi/cloudabi_vdso_armv6.S
MFV r316083,316094:
[FreeBSD/FreeBSD.git] / sys / contrib / cloudabi / cloudabi_vdso_armv6.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;            \
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   str r1, [sp, #-4]
39   mov ip, #0
40   swi 0
41   ldrcc r2, [sp, #-4]
42   strcc r0, [r2, 0]
43   strcc r1, [r2, 4]
44   movcc r0, $0
45   bx lr
46 END(cloudabi_sys_clock_res_get)
47
48 ENTRY(cloudabi_sys_clock_time_get)
49   mov ip, #1
50   swi 0
51   ldrcc r2, [sp, #0]
52   strcc r0, [r2, 0]
53   strcc r1, [r2, 4]
54   movcc r0, $0
55   bx lr
56 END(cloudabi_sys_clock_time_get)
57
58 ENTRY(cloudabi_sys_condvar_signal)
59   mov ip, #2
60   swi 0
61   bx lr
62 END(cloudabi_sys_condvar_signal)
63
64 ENTRY(cloudabi_sys_fd_close)
65   mov ip, #3
66   swi 0
67   bx lr
68 END(cloudabi_sys_fd_close)
69
70 ENTRY(cloudabi_sys_fd_create1)
71   str r1, [sp, #-4]
72   mov ip, #4
73   swi 0
74   ldrcc r2, [sp, #-4]
75   strcc r0, [r2]
76   movcc r0, $0
77   bx lr
78 END(cloudabi_sys_fd_create1)
79
80 ENTRY(cloudabi_sys_fd_create2)
81   str r1, [sp, #-4]
82   str r2, [sp, #-8]
83   mov ip, #5
84   swi 0
85   ldrcc r2, [sp, #-4]
86   ldrcc r3, [sp, #-8]
87   strcc r0, [r2]
88   strcc r1, [r3]
89   movcc r0, $0
90   bx lr
91 END(cloudabi_sys_fd_create2)
92
93 ENTRY(cloudabi_sys_fd_datasync)
94   mov ip, #6
95   swi 0
96   bx lr
97 END(cloudabi_sys_fd_datasync)
98
99 ENTRY(cloudabi_sys_fd_dup)
100   str r1, [sp, #-4]
101   mov ip, #7
102   swi 0
103   ldrcc r2, [sp, #-4]
104   strcc r0, [r2]
105   movcc r0, $0
106   bx lr
107 END(cloudabi_sys_fd_dup)
108
109 ENTRY(cloudabi_sys_fd_pread)
110   mov ip, #8
111   swi 0
112   ldrcc r2, [sp, #8]
113   strcc r0, [r2]
114   movcc r0, $0
115   bx lr
116 END(cloudabi_sys_fd_pread)
117
118 ENTRY(cloudabi_sys_fd_pwrite)
119   mov ip, #9
120   swi 0
121   ldrcc r2, [sp, #8]
122   strcc r0, [r2]
123   movcc r0, $0
124   bx lr
125 END(cloudabi_sys_fd_pwrite)
126
127 ENTRY(cloudabi_sys_fd_read)
128   str r3, [sp, #-4]
129   mov ip, #10
130   swi 0
131   ldrcc r2, [sp, #-4]
132   strcc r0, [r2]
133   movcc r0, $0
134   bx lr
135 END(cloudabi_sys_fd_read)
136
137 ENTRY(cloudabi_sys_fd_replace)
138   mov ip, #11
139   swi 0
140   bx lr
141 END(cloudabi_sys_fd_replace)
142
143 ENTRY(cloudabi_sys_fd_seek)
144   mov ip, #12
145   swi 0
146   ldrcc r2, [sp, #4]
147   strcc r0, [r2, 0]
148   strcc r1, [r2, 4]
149   movcc r0, $0
150   bx lr
151 END(cloudabi_sys_fd_seek)
152
153 ENTRY(cloudabi_sys_fd_stat_get)
154   mov ip, #13
155   swi 0
156   bx lr
157 END(cloudabi_sys_fd_stat_get)
158
159 ENTRY(cloudabi_sys_fd_stat_put)
160   mov ip, #14
161   swi 0
162   bx lr
163 END(cloudabi_sys_fd_stat_put)
164
165 ENTRY(cloudabi_sys_fd_sync)
166   mov ip, #15
167   swi 0
168   bx lr
169 END(cloudabi_sys_fd_sync)
170
171 ENTRY(cloudabi_sys_fd_write)
172   str r3, [sp, #-4]
173   mov ip, #16
174   swi 0
175   ldrcc r2, [sp, #-4]
176   strcc r0, [r2]
177   movcc r0, $0
178   bx lr
179 END(cloudabi_sys_fd_write)
180
181 ENTRY(cloudabi_sys_file_advise)
182   mov ip, #17
183   swi 0
184   bx lr
185 END(cloudabi_sys_file_advise)
186
187 ENTRY(cloudabi_sys_file_allocate)
188   mov ip, #18
189   swi 0
190   bx lr
191 END(cloudabi_sys_file_allocate)
192
193 ENTRY(cloudabi_sys_file_create)
194   mov ip, #19
195   swi 0
196   bx lr
197 END(cloudabi_sys_file_create)
198
199 ENTRY(cloudabi_sys_file_link)
200   mov ip, #20
201   swi 0
202   bx lr
203 END(cloudabi_sys_file_link)
204
205 ENTRY(cloudabi_sys_file_open)
206   mov ip, #21
207   swi 0
208   ldrcc r2, [sp, #8]
209   strcc r0, [r2]
210   movcc r0, $0
211   bx lr
212 END(cloudabi_sys_file_open)
213
214 ENTRY(cloudabi_sys_file_readdir)
215   mov ip, #22
216   swi 0
217   ldrcc r2, [sp, #8]
218   strcc r0, [r2]
219   movcc r0, $0
220   bx lr
221 END(cloudabi_sys_file_readdir)
222
223 ENTRY(cloudabi_sys_file_readlink)
224   mov ip, #23
225   swi 0
226   ldrcc r2, [sp, #4]
227   strcc r0, [r2]
228   movcc r0, $0
229   bx lr
230 END(cloudabi_sys_file_readlink)
231
232 ENTRY(cloudabi_sys_file_rename)
233   mov ip, #24
234   swi 0
235   bx lr
236 END(cloudabi_sys_file_rename)
237
238 ENTRY(cloudabi_sys_file_stat_fget)
239   mov ip, #25
240   swi 0
241   bx lr
242 END(cloudabi_sys_file_stat_fget)
243
244 ENTRY(cloudabi_sys_file_stat_fput)
245   mov ip, #26
246   swi 0
247   bx lr
248 END(cloudabi_sys_file_stat_fput)
249
250 ENTRY(cloudabi_sys_file_stat_get)
251   mov ip, #27
252   swi 0
253   bx lr
254 END(cloudabi_sys_file_stat_get)
255
256 ENTRY(cloudabi_sys_file_stat_put)
257   mov ip, #28
258   swi 0
259   bx lr
260 END(cloudabi_sys_file_stat_put)
261
262 ENTRY(cloudabi_sys_file_symlink)
263   mov ip, #29
264   swi 0
265   bx lr
266 END(cloudabi_sys_file_symlink)
267
268 ENTRY(cloudabi_sys_file_unlink)
269   mov ip, #30
270   swi 0
271   bx lr
272 END(cloudabi_sys_file_unlink)
273
274 ENTRY(cloudabi_sys_lock_unlock)
275   mov ip, #31
276   swi 0
277   bx lr
278 END(cloudabi_sys_lock_unlock)
279
280 ENTRY(cloudabi_sys_mem_advise)
281   mov ip, #32
282   swi 0
283   bx lr
284 END(cloudabi_sys_mem_advise)
285
286 ENTRY(cloudabi_sys_mem_lock)
287   mov ip, #33
288   swi 0
289   bx lr
290 END(cloudabi_sys_mem_lock)
291
292 ENTRY(cloudabi_sys_mem_map)
293   mov ip, #34
294   swi 0
295   ldrcc r2, [sp, #16]
296   strcc r0, [r2]
297   movcc r0, $0
298   bx lr
299 END(cloudabi_sys_mem_map)
300
301 ENTRY(cloudabi_sys_mem_protect)
302   mov ip, #35
303   swi 0
304   bx lr
305 END(cloudabi_sys_mem_protect)
306
307 ENTRY(cloudabi_sys_mem_sync)
308   mov ip, #36
309   swi 0
310   bx lr
311 END(cloudabi_sys_mem_sync)
312
313 ENTRY(cloudabi_sys_mem_unlock)
314   mov ip, #37
315   swi 0
316   bx lr
317 END(cloudabi_sys_mem_unlock)
318
319 ENTRY(cloudabi_sys_mem_unmap)
320   mov ip, #38
321   swi 0
322   bx lr
323 END(cloudabi_sys_mem_unmap)
324
325 ENTRY(cloudabi_sys_poll)
326   str r3, [sp, #-4]
327   mov ip, #39
328   swi 0
329   ldrcc r2, [sp, #-4]
330   strcc r0, [r2]
331   movcc r0, $0
332   bx lr
333 END(cloudabi_sys_poll)
334
335 ENTRY(cloudabi_sys_poll_fd)
336   mov ip, #40
337   swi 0
338   ldrcc r2, [sp, #8]
339   strcc r0, [r2]
340   movcc r0, $0
341   bx lr
342 END(cloudabi_sys_poll_fd)
343
344 ENTRY(cloudabi_sys_proc_exec)
345   mov ip, #41
346   swi 0
347   bx lr
348 END(cloudabi_sys_proc_exec)
349
350 ENTRY(cloudabi_sys_proc_exit)
351   mov ip, #42
352   swi 0
353 END(cloudabi_sys_proc_exit)
354
355 ENTRY(cloudabi_sys_proc_fork)
356   str r0, [sp, #-4]
357   str r1, [sp, #-8]
358   mov ip, #43
359   swi 0
360   ldrcc r2, [sp, #-4]
361   ldrcc r3, [sp, #-8]
362   strcc r0, [r2]
363   strcc r1, [r3]
364   movcc r0, $0
365   bx lr
366 END(cloudabi_sys_proc_fork)
367
368 ENTRY(cloudabi_sys_proc_raise)
369   mov ip, #44
370   swi 0
371   bx lr
372 END(cloudabi_sys_proc_raise)
373
374 ENTRY(cloudabi_sys_random_get)
375   mov ip, #45
376   swi 0
377   bx lr
378 END(cloudabi_sys_random_get)
379
380 ENTRY(cloudabi_sys_sock_accept)
381   str r2, [sp, #-4]
382   mov ip, #46
383   swi 0
384   ldrcc r2, [sp, #-4]
385   strcc r0, [r2]
386   movcc r0, $0
387   bx lr
388 END(cloudabi_sys_sock_accept)
389
390 ENTRY(cloudabi_sys_sock_bind)
391   mov ip, #47
392   swi 0
393   bx lr
394 END(cloudabi_sys_sock_bind)
395
396 ENTRY(cloudabi_sys_sock_connect)
397   mov ip, #48
398   swi 0
399   bx lr
400 END(cloudabi_sys_sock_connect)
401
402 ENTRY(cloudabi_sys_sock_listen)
403   mov ip, #49
404   swi 0
405   bx lr
406 END(cloudabi_sys_sock_listen)
407
408 ENTRY(cloudabi_sys_sock_recv)
409   mov ip, #50
410   swi 0
411   bx lr
412 END(cloudabi_sys_sock_recv)
413
414 ENTRY(cloudabi_sys_sock_send)
415   mov ip, #51
416   swi 0
417   bx lr
418 END(cloudabi_sys_sock_send)
419
420 ENTRY(cloudabi_sys_sock_shutdown)
421   mov ip, #52
422   swi 0
423   bx lr
424 END(cloudabi_sys_sock_shutdown)
425
426 ENTRY(cloudabi_sys_sock_stat_get)
427   mov ip, #53
428   swi 0
429   bx lr
430 END(cloudabi_sys_sock_stat_get)
431
432 ENTRY(cloudabi_sys_thread_create)
433   str r1, [sp, #-4]
434   mov ip, #54
435   swi 0
436   ldrcc r2, [sp, #-4]
437   strcc r0, [r2]
438   movcc r0, $0
439   bx lr
440 END(cloudabi_sys_thread_create)
441
442 ENTRY(cloudabi_sys_thread_exit)
443   mov ip, #55
444   swi 0
445 END(cloudabi_sys_thread_exit)
446
447 ENTRY(cloudabi_sys_thread_yield)
448   mov ip, #56
449   swi 0
450   bx lr
451 END(cloudabi_sys_thread_yield)