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
This commit is contained in:
parent
71d5ff4391
commit
0a9cc964a1
@ -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)
|
||||
|
||||
|
732
sys/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S
Normal file
732
sys/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S
Normal file
@ -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)
|
Loading…
Reference in New Issue
Block a user