]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/contrib/cloudabi/cloudabi_vdso_armv6.S
THIS BRANCH IS OBSOLETE, PLEASE READ:
[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_map)
287   mov ip, #33
288   swi 0
289   ldrcc r2, [sp, #16]
290   strcc r0, [r2]
291   movcc r0, #0
292   bx lr
293 END(cloudabi_sys_mem_map)
294
295 ENTRY(cloudabi_sys_mem_protect)
296   mov ip, #34
297   swi 0
298   bx lr
299 END(cloudabi_sys_mem_protect)
300
301 ENTRY(cloudabi_sys_mem_sync)
302   mov ip, #35
303   swi 0
304   bx lr
305 END(cloudabi_sys_mem_sync)
306
307 ENTRY(cloudabi_sys_mem_unmap)
308   mov ip, #36
309   swi 0
310   bx lr
311 END(cloudabi_sys_mem_unmap)
312
313 ENTRY(cloudabi_sys_poll)
314   str r3, [sp, #-4]
315   mov ip, #37
316   swi 0
317   ldrcc r2, [sp, #-4]
318   strcc r0, [r2]
319   movcc r0, #0
320   bx lr
321 END(cloudabi_sys_poll)
322
323 ENTRY(cloudabi_sys_proc_exec)
324   mov ip, #38
325   swi 0
326   bx lr
327 END(cloudabi_sys_proc_exec)
328
329 ENTRY(cloudabi_sys_proc_exit)
330   mov ip, #39
331   swi 0
332 END(cloudabi_sys_proc_exit)
333
334 ENTRY(cloudabi_sys_proc_fork)
335   str r0, [sp, #-4]
336   str r1, [sp, #-8]
337   mov ip, #40
338   swi 0
339   ldrcc r2, [sp, #-4]
340   ldrcc r3, [sp, #-8]
341   strcc r0, [r2]
342   strcc r1, [r3]
343   movcc r0, #0
344   bx lr
345 END(cloudabi_sys_proc_fork)
346
347 ENTRY(cloudabi_sys_proc_raise)
348   mov ip, #41
349   swi 0
350   bx lr
351 END(cloudabi_sys_proc_raise)
352
353 ENTRY(cloudabi_sys_random_get)
354   mov ip, #42
355   swi 0
356   bx lr
357 END(cloudabi_sys_random_get)
358
359 ENTRY(cloudabi_sys_sock_recv)
360   mov ip, #43
361   swi 0
362   bx lr
363 END(cloudabi_sys_sock_recv)
364
365 ENTRY(cloudabi_sys_sock_send)
366   mov ip, #44
367   swi 0
368   bx lr
369 END(cloudabi_sys_sock_send)
370
371 ENTRY(cloudabi_sys_sock_shutdown)
372   mov ip, #45
373   swi 0
374   bx lr
375 END(cloudabi_sys_sock_shutdown)
376
377 ENTRY(cloudabi_sys_thread_create)
378   str r1, [sp, #-4]
379   mov ip, #46
380   swi 0
381   ldrcc r2, [sp, #-4]
382   strcc r0, [r2]
383   movcc r0, #0
384   bx lr
385 END(cloudabi_sys_thread_create)
386
387 ENTRY(cloudabi_sys_thread_exit)
388   mov ip, #47
389   swi 0
390 END(cloudabi_sys_thread_exit)
391
392 ENTRY(cloudabi_sys_thread_yield)
393   mov ip, #48
394   swi 0
395   bx lr
396 END(cloudabi_sys_thread_yield)