svn commit: r326075 - head/sys/contrib/cloudabi
Ed Schouten
ed at FreeBSD.org
Tue Nov 21 20:46:22 UTC 2017
Author: ed
Date: Tue Nov 21 20:46:21 2017
New Revision: 326075
URL: https://svnweb.freebsd.org/changeset/base/326075
Log:
Import the latest CloudABI definitions, v0.18.
In addition to some small style fixes to the ARMv6 vDSO, this release
includes a new vDSO that can be used for the execution of ARMv6/ARMv7
code on 64-bit platforms.
Just like for i686 on x86-64, this new vDSO is responsible for padding
arguments and return values to 64-bit values, so that the kernel can
easily forward system calls to the native system calls.
Obtained from: https://github.com/NuxiNL/cloudabi
Added:
head/sys/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S (contents, props changed)
Modified:
head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S
Modified: head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S
==============================================================================
--- head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S Tue Nov 21 20:31:54 2017 (r326074)
+++ head/sys/contrib/cloudabi/cloudabi_vdso_armv6.S Tue Nov 21 20:46:21 2017 (r326075)
@@ -39,9 +39,9 @@ ENTRY(cloudabi_sys_clock_res_get)
mov ip, #0
swi 0
ldrcc r2, [sp, #-4]
- strcc r0, [r2, 0]
- strcc r1, [r2, 4]
- movcc r0, $0
+ strcc r0, [r2, #0]
+ strcc r1, [r2, #4]
+ movcc r0, #0
bx lr
END(cloudabi_sys_clock_res_get)
@@ -49,9 +49,9 @@ ENTRY(cloudabi_sys_clock_time_get)
mov ip, #1
swi 0
ldrcc r2, [sp, #0]
- strcc r0, [r2, 0]
- strcc r1, [r2, 4]
- movcc r0, $0
+ strcc r0, [r2, #0]
+ strcc r1, [r2, #4]
+ movcc r0, #0
bx lr
END(cloudabi_sys_clock_time_get)
@@ -73,7 +73,7 @@ ENTRY(cloudabi_sys_fd_create1)
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_fd_create1)
@@ -86,7 +86,7 @@ ENTRY(cloudabi_sys_fd_create2)
ldrcc r3, [sp, #-8]
strcc r0, [r2]
strcc r1, [r3]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_fd_create2)
@@ -102,7 +102,7 @@ ENTRY(cloudabi_sys_fd_dup)
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_fd_dup)
@@ -111,7 +111,7 @@ ENTRY(cloudabi_sys_fd_pread)
swi 0
ldrcc r2, [sp, #8]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_fd_pread)
@@ -120,7 +120,7 @@ ENTRY(cloudabi_sys_fd_pwrite)
swi 0
ldrcc r2, [sp, #8]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_fd_pwrite)
@@ -130,7 +130,7 @@ ENTRY(cloudabi_sys_fd_read)
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_fd_read)
@@ -144,9 +144,9 @@ ENTRY(cloudabi_sys_fd_seek)
mov ip, #12
swi 0
ldrcc r2, [sp, #4]
- strcc r0, [r2, 0]
- strcc r1, [r2, 4]
- movcc r0, $0
+ strcc r0, [r2, #0]
+ strcc r1, [r2, #4]
+ movcc r0, #0
bx lr
END(cloudabi_sys_fd_seek)
@@ -174,7 +174,7 @@ ENTRY(cloudabi_sys_fd_write)
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_fd_write)
@@ -207,7 +207,7 @@ ENTRY(cloudabi_sys_file_open)
swi 0
ldrcc r2, [sp, #8]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_file_open)
@@ -216,7 +216,7 @@ ENTRY(cloudabi_sys_file_readdir)
swi 0
ldrcc r2, [sp, #8]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_file_readdir)
@@ -225,7 +225,7 @@ ENTRY(cloudabi_sys_file_readlink)
swi 0
ldrcc r2, [sp, #4]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_file_readlink)
@@ -288,7 +288,7 @@ ENTRY(cloudabi_sys_mem_map)
swi 0
ldrcc r2, [sp, #16]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_mem_map)
@@ -316,7 +316,7 @@ ENTRY(cloudabi_sys_poll)
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_poll)
@@ -340,7 +340,7 @@ ENTRY(cloudabi_sys_proc_fork)
ldrcc r3, [sp, #-8]
strcc r0, [r2]
strcc r1, [r3]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_proc_fork)
@@ -380,7 +380,7 @@ ENTRY(cloudabi_sys_thread_create)
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
- movcc r0, $0
+ movcc r0, #0
bx lr
END(cloudabi_sys_thread_create)
Added: head/sys/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S Tue Nov 21 20:46:21 2017 (r326075)
@@ -0,0 +1,732 @@
+// Copyright (c) 2016 Nuxi (https://nuxi.nl/) and contributors.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE.
+//
+// This file is automatically generated. Do not edit.
+//
+// Source: https://github.com/NuxiNL/cloudabi
+
+#define ENTRY(name) \
+ .text; \
+ .p2align 2; \
+ .global name; \
+ .type name, %function; \
+name:
+
+#define END(name) .size name, . - name
+
+ENTRY(cloudabi_sys_clock_res_get)
+ str r0, [sp, #-16]
+ str r1, [sp, #-20]
+ mov r0, #0
+ sub r2, sp, #16
+ swi 0
+ ldrcc r1, [sp, #-20]
+ ldrcc r2, [sp, #-16]
+ strcc r2, [r1, #0]
+ ldrcc r2, [sp, #-12]
+ strcc r2, [r1, #4]
+ bx lr
+END(cloudabi_sys_clock_res_get)
+
+ENTRY(cloudabi_sys_clock_time_get)
+ str r0, [sp, #-16]
+ str r2, [sp, #-8]
+ str r3, [sp, #-4]
+ mov r0, #1
+ sub r2, sp, #16
+ swi 0
+ ldrcc r1, [sp, #0]
+ ldrcc r2, [sp, #-16]
+ strcc r2, [r1, #0]
+ ldrcc r2, [sp, #-12]
+ strcc r2, [r1, #4]
+ bx lr
+END(cloudabi_sys_clock_time_get)
+
+ENTRY(cloudabi_sys_condvar_signal)
+ str r0, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r1, [sp, #-16]
+ str r2, [sp, #-8]
+ mov r0, #2
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_condvar_signal)
+
+ENTRY(cloudabi_sys_fd_close)
+ str r0, [sp, #-16]
+ mov r0, #3
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_fd_close)
+
+ENTRY(cloudabi_sys_fd_create1)
+ str r0, [sp, #-16]
+ str r1, [sp, #-20]
+ mov r0, #4
+ sub r2, sp, #16
+ swi 0
+ ldrcc r1, [sp, #-20]
+ ldrcc r2, [sp, #-16]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_fd_create1)
+
+ENTRY(cloudabi_sys_fd_create2)
+ str r0, [sp, #-16]
+ str r1, [sp, #-20]
+ str r2, [sp, #-24]
+ mov r0, #5
+ sub r2, sp, #16
+ swi 0
+ ldrcc r1, [sp, #-20]
+ ldrcc r2, [sp, #-16]
+ strcc r2, [r1, #0]
+ ldrcc r1, [sp, #-24]
+ ldrcc r2, [sp, #-8]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_fd_create2)
+
+ENTRY(cloudabi_sys_fd_datasync)
+ str r0, [sp, #-16]
+ mov r0, #6
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_fd_datasync)
+
+ENTRY(cloudabi_sys_fd_dup)
+ str r0, [sp, #-16]
+ str r1, [sp, #-20]
+ mov r0, #7
+ sub r2, sp, #16
+ swi 0
+ ldrcc r1, [sp, #-20]
+ ldrcc r2, [sp, #-16]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_fd_dup)
+
+ENTRY(cloudabi_sys_fd_pread)
+ str r0, [sp, #-32]
+ str r1, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r2, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-4]
+ mov r0, #8
+ sub r2, sp, #32
+ swi 0
+ ldrcc r1, [sp, #8]
+ ldrcc r2, [sp, #-32]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_fd_pread)
+
+ENTRY(cloudabi_sys_fd_pwrite)
+ str r0, [sp, #-32]
+ str r1, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r2, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-4]
+ mov r0, #9
+ sub r2, sp, #32
+ swi 0
+ ldrcc r1, [sp, #8]
+ ldrcc r2, [sp, #-32]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_fd_pwrite)
+
+ENTRY(cloudabi_sys_fd_read)
+ str r0, [sp, #-24]
+ str r1, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ str r0, [sp, #-4]
+ str r3, [sp, #-28]
+ mov r0, #10
+ sub r2, sp, #24
+ swi 0
+ ldrcc r1, [sp, #-28]
+ ldrcc r2, [sp, #-24]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_fd_read)
+
+ENTRY(cloudabi_sys_fd_replace)
+ str r0, [sp, #-16]
+ str r1, [sp, #-8]
+ mov r0, #11
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_fd_replace)
+
+ENTRY(cloudabi_sys_fd_seek)
+ str r0, [sp, #-24]
+ str r2, [sp, #-16]
+ str r3, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ mov r0, #12
+ sub r2, sp, #24
+ swi 0
+ ldrcc r1, [sp, #4]
+ ldrcc r2, [sp, #-24]
+ strcc r2, [r1, #0]
+ ldrcc r2, [sp, #-20]
+ strcc r2, [r1, #4]
+ bx lr
+END(cloudabi_sys_fd_seek)
+
+ENTRY(cloudabi_sys_fd_stat_get)
+ str r0, [sp, #-16]
+ str r1, [sp, #-8]
+ mov r0, #0
+ str r0, [sp, #-4]
+ mov r0, #13
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_fd_stat_get)
+
+ENTRY(cloudabi_sys_fd_stat_put)
+ str r0, [sp, #-24]
+ str r1, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ mov r0, #14
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_fd_stat_put)
+
+ENTRY(cloudabi_sys_fd_sync)
+ str r0, [sp, #-16]
+ mov r0, #15
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_fd_sync)
+
+ENTRY(cloudabi_sys_fd_write)
+ str r0, [sp, #-24]
+ str r1, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ str r0, [sp, #-4]
+ str r3, [sp, #-28]
+ mov r0, #16
+ sub r2, sp, #24
+ swi 0
+ ldrcc r1, [sp, #-28]
+ ldrcc r2, [sp, #-24]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_fd_write)
+
+ENTRY(cloudabi_sys_file_advise)
+ str r0, [sp, #-32]
+ str r2, [sp, #-24]
+ str r3, [sp, #-20]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-16]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-12]
+ ldr r1, [sp, #8]
+ str r1, [sp, #-8]
+ mov r0, #17
+ sub r2, sp, #32
+ swi 0
+ bx lr
+END(cloudabi_sys_file_advise)
+
+ENTRY(cloudabi_sys_file_allocate)
+ str r0, [sp, #-24]
+ str r2, [sp, #-16]
+ str r3, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-4]
+ mov r0, #18
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_file_allocate)
+
+ENTRY(cloudabi_sys_file_create)
+ str r0, [sp, #-32]
+ str r1, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r2, [sp, #-16]
+ str r0, [sp, #-12]
+ str r3, [sp, #-8]
+ mov r0, #19
+ sub r2, sp, #32
+ swi 0
+ bx lr
+END(cloudabi_sys_file_create)
+
+ENTRY(cloudabi_sys_file_link)
+ str r0, [sp, #-48]
+ str r1, [sp, #-44]
+ str r2, [sp, #-40]
+ mov r0, #0
+ str r0, [sp, #-36]
+ str r3, [sp, #-32]
+ str r0, [sp, #-28]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-24]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #8]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #20
+ sub r2, sp, #48
+ swi 0
+ bx lr
+END(cloudabi_sys_file_link)
+
+ENTRY(cloudabi_sys_file_open)
+ str r0, [sp, #-40]
+ str r1, [sp, #-36]
+ str r2, [sp, #-32]
+ mov r0, #0
+ str r0, [sp, #-28]
+ str r3, [sp, #-24]
+ str r0, [sp, #-20]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-16]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #21
+ sub r2, sp, #40
+ swi 0
+ ldrcc r1, [sp, #8]
+ ldrcc r2, [sp, #-40]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_file_open)
+
+ENTRY(cloudabi_sys_file_readdir)
+ str r0, [sp, #-32]
+ str r1, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r2, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-4]
+ mov r0, #22
+ sub r2, sp, #32
+ swi 0
+ ldrcc r1, [sp, #8]
+ ldrcc r2, [sp, #-32]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_file_readdir)
+
+ENTRY(cloudabi_sys_file_readlink)
+ str r0, [sp, #-40]
+ str r1, [sp, #-32]
+ mov r0, #0
+ str r0, [sp, #-28]
+ str r2, [sp, #-24]
+ str r0, [sp, #-20]
+ str r3, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #23
+ sub r2, sp, #40
+ swi 0
+ ldrcc r1, [sp, #4]
+ ldrcc r2, [sp, #-40]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_file_readlink)
+
+ENTRY(cloudabi_sys_file_rename)
+ str r0, [sp, #-48]
+ str r1, [sp, #-40]
+ mov r0, #0
+ str r0, [sp, #-36]
+ str r2, [sp, #-32]
+ str r0, [sp, #-28]
+ str r3, [sp, #-24]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #24
+ sub r2, sp, #48
+ swi 0
+ bx lr
+END(cloudabi_sys_file_rename)
+
+ENTRY(cloudabi_sys_file_stat_fget)
+ str r0, [sp, #-16]
+ str r1, [sp, #-8]
+ mov r0, #0
+ str r0, [sp, #-4]
+ mov r0, #25
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_file_stat_fget)
+
+ENTRY(cloudabi_sys_file_stat_fput)
+ str r0, [sp, #-24]
+ str r1, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ mov r0, #26
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_file_stat_fput)
+
+ENTRY(cloudabi_sys_file_stat_get)
+ str r0, [sp, #-32]
+ str r1, [sp, #-28]
+ str r2, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r3, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #27
+ sub r2, sp, #32
+ swi 0
+ bx lr
+END(cloudabi_sys_file_stat_get)
+
+ENTRY(cloudabi_sys_file_stat_put)
+ str r0, [sp, #-40]
+ str r1, [sp, #-36]
+ str r2, [sp, #-32]
+ mov r0, #0
+ str r0, [sp, #-28]
+ str r3, [sp, #-24]
+ str r0, [sp, #-20]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #4]
+ str r1, [sp, #-8]
+ mov r0, #28
+ sub r2, sp, #40
+ swi 0
+ bx lr
+END(cloudabi_sys_file_stat_put)
+
+ENTRY(cloudabi_sys_file_symlink)
+ str r0, [sp, #-40]
+ mov r0, #0
+ str r0, [sp, #-36]
+ str r1, [sp, #-32]
+ str r0, [sp, #-28]
+ str r2, [sp, #-24]
+ str r3, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #29
+ sub r2, sp, #40
+ swi 0
+ bx lr
+END(cloudabi_sys_file_symlink)
+
+ENTRY(cloudabi_sys_file_unlink)
+ str r0, [sp, #-32]
+ str r1, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r2, [sp, #-16]
+ str r0, [sp, #-12]
+ str r3, [sp, #-8]
+ mov r0, #30
+ sub r2, sp, #32
+ swi 0
+ bx lr
+END(cloudabi_sys_file_unlink)
+
+ENTRY(cloudabi_sys_lock_unlock)
+ str r0, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r1, [sp, #-8]
+ mov r0, #31
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_lock_unlock)
+
+ENTRY(cloudabi_sys_mem_advise)
+ str r0, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r1, [sp, #-16]
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ mov r0, #32
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_mem_advise)
+
+ENTRY(cloudabi_sys_mem_map)
+ str r0, [sp, #-48]
+ mov r0, #0
+ str r0, [sp, #-44]
+ str r1, [sp, #-40]
+ str r0, [sp, #-36]
+ str r2, [sp, #-32]
+ str r3, [sp, #-24]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-16]
+ ldr r1, [sp, #8]
+ str r1, [sp, #-8]
+ ldr r1, [sp, #12]
+ str r1, [sp, #-4]
+ mov r0, #33
+ sub r2, sp, #48
+ swi 0
+ ldrcc r1, [sp, #16]
+ ldrcc r2, [sp, #-48]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_mem_map)
+
+ENTRY(cloudabi_sys_mem_protect)
+ str r0, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r1, [sp, #-16]
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ mov r0, #34
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_mem_protect)
+
+ENTRY(cloudabi_sys_mem_sync)
+ str r0, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r1, [sp, #-16]
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ mov r0, #35
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_mem_sync)
+
+ENTRY(cloudabi_sys_mem_unmap)
+ str r0, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #36
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_mem_unmap)
+
+ENTRY(cloudabi_sys_poll)
+ str r0, [sp, #-24]
+ mov r0, #0
+ str r0, [sp, #-20]
+ str r1, [sp, #-16]
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ str r0, [sp, #-4]
+ str r3, [sp, #-28]
+ mov r0, #37
+ sub r2, sp, #24
+ swi 0
+ ldrcc r1, [sp, #-28]
+ ldrcc r2, [sp, #-24]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_poll)
+
+ENTRY(cloudabi_sys_proc_exec)
+ str r0, [sp, #-40]
+ str r1, [sp, #-32]
+ mov r0, #0
+ str r0, [sp, #-28]
+ str r2, [sp, #-24]
+ str r0, [sp, #-20]
+ str r3, [sp, #-16]
+ str r0, [sp, #-12]
+ ldr r1, [sp, #0]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #38
+ sub r2, sp, #40
+ swi 0
+ bx lr
+END(cloudabi_sys_proc_exec)
+
+ENTRY(cloudabi_sys_proc_exit)
+ str r0, [sp, #-16]
+ mov r0, #39
+ sub r2, sp, #16
+ swi 0
+END(cloudabi_sys_proc_exit)
+
+ENTRY(cloudabi_sys_proc_fork)
+ str r0, [sp, #-20]
+ str r1, [sp, #-24]
+ mov r0, #40
+ sub r2, sp, #16
+ swi 0
+ ldrcc r1, [sp, #-20]
+ ldrcc r2, [sp, #-16]
+ strcc r2, [r1, #0]
+ ldrcc r1, [sp, #-24]
+ ldrcc r2, [sp, #-8]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_proc_fork)
+
+ENTRY(cloudabi_sys_proc_raise)
+ str r0, [sp, #-16]
+ mov r0, #41
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_proc_raise)
+
+ENTRY(cloudabi_sys_random_get)
+ str r0, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r1, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #42
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_random_get)
+
+ENTRY(cloudabi_sys_sock_recv)
+ str r0, [sp, #-24]
+ str r1, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #43
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_sock_recv)
+
+ENTRY(cloudabi_sys_sock_send)
+ str r0, [sp, #-24]
+ str r1, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r2, [sp, #-8]
+ str r0, [sp, #-4]
+ mov r0, #44
+ sub r2, sp, #24
+ swi 0
+ bx lr
+END(cloudabi_sys_sock_send)
+
+ENTRY(cloudabi_sys_sock_shutdown)
+ str r0, [sp, #-16]
+ str r1, [sp, #-8]
+ mov r0, #45
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_sock_shutdown)
+
+ENTRY(cloudabi_sys_thread_create)
+ str r0, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r1, [sp, #-20]
+ mov r0, #46
+ sub r2, sp, #16
+ swi 0
+ ldrcc r1, [sp, #-20]
+ ldrcc r2, [sp, #-16]
+ strcc r2, [r1, #0]
+ bx lr
+END(cloudabi_sys_thread_create)
+
+ENTRY(cloudabi_sys_thread_exit)
+ str r0, [sp, #-16]
+ mov r0, #0
+ str r0, [sp, #-12]
+ str r1, [sp, #-8]
+ mov r0, #47
+ sub r2, sp, #16
+ swi 0
+END(cloudabi_sys_thread_exit)
+
+ENTRY(cloudabi_sys_thread_yield)
+ mov r0, #48
+ sub r2, sp, #16
+ swi 0
+ bx lr
+END(cloudabi_sys_thread_yield)
More information about the svn-src-all
mailing list