Upgrade to the latest sources generated from the CloudABI specification.

The CloudABI specification has had some minor changes over the last half
year. No substantial features have been added, but some features that
are deemed unnecessary in retrospect have been removed:

- mlock()/munlock():

  These calls tend to be used for two different purposes: real-time
  support and handling of sensitive (cryptographic) material that
  shouldn't end up in swap. The former use case is out of scope for
  CloudABI. The latter may also be handled by encrypting swap.

  Removing this has the advantage that we no longer need to worry about
  having resource limits put in place.

- SOCK_SEQPACKET:

  Support for SOCK_SEQPACKET is rather inconsistent across various
  operating systems. Some operating systems supported by CloudABI (e.g.,
  macOS) don't support it at all. Considering that they are rarely used,
  remove support for the time being.

- getsockname(), getpeername(), etc.:

  A shortcoming of the sockets API is that it doesn't allow you to
  create socket(pair)s, having fake socket addresses associated with
  them. This makes it harder to test applications or transparently
  forward (proxy) connections to them.

  With CloudABI, we're slowly moving networking connectivity into a
  separate daemon called Flower. In addition to passing around socket
  file descriptors, this daemon provides address information in the form
  of arbitrary string labels. There is thus no longer any need for
  requesting socket address information from the kernel itself.

This change also updates consumers of the generated code accordingly.
Even though system calls end up getting renumbered, this won't cause any
problems in practice. CloudABI programs always call into the kernel
through a kernel-supplied vDSO that has the numbers updated as well.

Obtained from:	https://github.com/NuxiNL/cloudabi
This commit is contained in:
Ed Schouten 2017-07-26 06:57:15 +00:00
parent bc5570421e
commit cea9310d4e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=321514
27 changed files with 501 additions and 883 deletions

View File

@ -111,8 +111,6 @@ cloudabi_sys_fd_create1(struct thread *td,
return (kern_shm_open(td, SHM_ANON, O_RDWR, 0, &fcaps));
case CLOUDABI_FILETYPE_SOCKET_DGRAM:
return (kern_socket(td, AF_UNIX, SOCK_DGRAM, 0));
case CLOUDABI_FILETYPE_SOCKET_SEQPACKET:
return (kern_socket(td, AF_UNIX, SOCK_SEQPACKET, 0));
case CLOUDABI_FILETYPE_SOCKET_STREAM:
return (kern_socket(td, AF_UNIX, SOCK_STREAM, 0));
default:
@ -145,9 +143,6 @@ cloudabi_sys_fd_create2(struct thread *td,
case CLOUDABI_FILETYPE_SOCKET_DGRAM:
error = kern_socketpair(td, AF_UNIX, SOCK_DGRAM, 0, fds);
break;
case CLOUDABI_FILETYPE_SOCKET_SEQPACKET:
error = kern_socketpair(td, AF_UNIX, SOCK_SEQPACKET, 0, fds);
break;
case CLOUDABI_FILETYPE_SOCKET_STREAM:
error = kern_socketpair(td, AF_UNIX, SOCK_STREAM, 0, fds);
break;
@ -245,8 +240,6 @@ cloudabi_convert_filetype(const struct file *fp)
switch (so->so_type) {
case SOCK_DGRAM:
return (CLOUDABI_FILETYPE_SOCKET_DGRAM);
case SOCK_SEQPACKET:
return (CLOUDABI_FILETYPE_SOCKET_SEQPACKET);
case SOCK_STREAM:
return (CLOUDABI_FILETYPE_SOCKET_STREAM);
default:
@ -400,7 +393,6 @@ cloudabi_remove_conflicting_rights(cloudabi_filetype_t filetype,
*inheriting = 0;
break;
case CLOUDABI_FILETYPE_SOCKET_DGRAM:
case CLOUDABI_FILETYPE_SOCKET_SEQPACKET:
case CLOUDABI_FILETYPE_SOCKET_STREAM:
*base &= CLOUDABI_RIGHT_FD_READ |
CLOUDABI_RIGHT_FD_STAT_PUT_FLAGS |

View File

@ -89,14 +89,6 @@ cloudabi_sys_mem_advise(struct thread *td,
behav));
}
int
cloudabi_sys_mem_lock(struct thread *td, struct cloudabi_sys_mem_lock_args *uap)
{
return (kern_mlock(td->td_proc, td->td_ucred,
__DECONST(uintptr_t, uap->mapping), uap->mapping_len));
}
int
cloudabi_sys_mem_map(struct thread *td, struct cloudabi_sys_mem_map_args *uap)
{
@ -160,15 +152,6 @@ cloudabi_sys_mem_sync(struct thread *td, struct cloudabi_sys_mem_sync_args *uap)
flags));
}
int
cloudabi_sys_mem_unlock(struct thread *td,
struct cloudabi_sys_mem_unlock_args *uap)
{
return (kern_munlock(td, __DECONST(uintptr_t, uap->mapping),
uap->mapping_len));
}
int
cloudabi_sys_mem_unmap(struct thread *td,
struct cloudabi_sys_mem_unmap_args *uap)

View File

@ -49,43 +49,6 @@ __FBSDID("$FreeBSD$");
#include <compat/cloudabi/cloudabi_proto.h>
#include <compat/cloudabi/cloudabi_util.h>
/* Converts FreeBSD's struct sockaddr to CloudABI's cloudabi_sockaddr_t. */
static void
cloudabi_convert_sockaddr(const struct sockaddr *sa, socklen_t sal,
cloudabi_sockaddr_t *rsa)
{
const struct sockaddr_in *sin;
const struct sockaddr_in6 *sin6;
/* Zero-sized socket address. */
if (sal < offsetof(struct sockaddr, sa_family) + sizeof(sa->sa_family))
return;
switch (sa->sa_family) {
case AF_INET:
if (sal < sizeof(struct sockaddr_in))
return;
sin = (const struct sockaddr_in *)sa;
rsa->sa_family = CLOUDABI_AF_INET;
memcpy(&rsa->sa_inet.addr, &sin->sin_addr,
sizeof(rsa->sa_inet.addr));
rsa->sa_inet.port = ntohs(sin->sin_port);
return;
case AF_INET6:
if (sal < sizeof(struct sockaddr_in6))
return;
sin6 = (const struct sockaddr_in6 *)sa;
rsa->sa_family = CLOUDABI_AF_INET6;
memcpy(&rsa->sa_inet6.addr, &sin6->sin6_addr,
sizeof(rsa->sa_inet6.addr));
rsa->sa_inet6.port = ntohs(sin6->sin6_port);
return;
case AF_UNIX:
rsa->sa_family = CLOUDABI_AF_UNIX;
return;
}
}
/* Copies a pathname into a UNIX socket address structure. */
static int
copyin_sockaddr_un(const char *path, size_t pathlen, struct sockaddr_un *sun)
@ -112,27 +75,8 @@ int
cloudabi_sys_sock_accept(struct thread *td,
struct cloudabi_sys_sock_accept_args *uap)
{
struct sockaddr *sa;
cloudabi_sockstat_t ss = {};
socklen_t sal;
int error;
if (uap->buf == NULL) {
/* Only return the new file descriptor number. */
return (kern_accept(td, uap->sock, NULL, NULL, NULL));
} else {
/* Also return properties of the new socket descriptor. */
sal = MAX(sizeof(struct sockaddr_in),
sizeof(struct sockaddr_in6));
error = kern_accept(td, uap->sock, (void *)&sa, &sal, NULL);
if (error != 0)
return (error);
/* TODO(ed): Fill the other members of cloudabi_sockstat_t. */
cloudabi_convert_sockaddr(sa, sal, &ss.ss_peername);
free(sa, M_SONAME);
return (copyout(&ss, uap->buf, sizeof(ss)));
}
return (kern_accept(td, uap->sock, NULL, NULL, NULL));
}
int
@ -200,7 +144,6 @@ cloudabi_sys_sock_stat_get(struct thread *td,
cloudabi_sockstat_t ss = {};
cap_rights_t rights;
struct file *fp;
struct sockaddr *sa;
struct socket *so;
int error;
@ -210,27 +153,6 @@ cloudabi_sys_sock_stat_get(struct thread *td,
return (error);
so = fp->f_data;
CURVNET_SET(so->so_vnet);
/* Set ss_sockname. */
error = so->so_proto->pr_usrreqs->pru_sockaddr(so, &sa);
if (error == 0) {
cloudabi_convert_sockaddr(sa, sa->sa_len, &ss.ss_sockname);
free(sa, M_SONAME);
}
/* Set ss_peername. */
if ((so->so_state & (SS_ISCONNECTED | SS_ISCONFIRMING)) != 0) {
error = so->so_proto->pr_usrreqs->pru_peeraddr(so, &sa);
if (error == 0) {
cloudabi_convert_sockaddr(sa, sa->sa_len,
&ss.ss_peername);
free(sa, M_SONAME);
}
}
CURVNET_RESTORE();
/* Set ss_error. */
SOCK_LOCK(so);
ss.ss_error = cloudabi_convert_errno(so->so_error);
@ -249,8 +171,8 @@ cloudabi_sys_sock_stat_get(struct thread *td,
int
cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
size_t datalen, cloudabi_fd_t *fds, size_t fdslen,
cloudabi_msgflags_t flags, size_t *rdatalen, size_t *rfdslen,
cloudabi_sockaddr_t *peername, cloudabi_msgflags_t *rflags)
cloudabi_riflags_t flags, size_t *rdatalen, size_t *rfdslen,
cloudabi_roflags_t *rflags)
{
struct sockaddr_storage ss;
struct msghdr hdr = {
@ -263,9 +185,9 @@ cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
int error;
/* Convert flags. */
if (flags & CLOUDABI_MSG_PEEK)
if (flags & CLOUDABI_SOCK_RECV_PEEK)
hdr.msg_flags |= MSG_PEEK;
if (flags & CLOUDABI_MSG_WAITALL)
if (flags & CLOUDABI_SOCK_RECV_WAITALL)
hdr.msg_flags |= MSG_WAITALL;
control = NULL;
@ -278,13 +200,9 @@ cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
*rdatalen = td->td_retval[0];
td->td_retval[0] = 0;
*rfdslen = 0;
cloudabi_convert_sockaddr((struct sockaddr *)&ss,
MIN(hdr.msg_namelen, sizeof(ss)), peername);
*rflags = 0;
if (hdr.msg_flags & MSG_EOR)
*rflags |= CLOUDABI_MSG_EOR;
if (hdr.msg_flags & MSG_TRUNC)
*rflags |= CLOUDABI_MSG_TRUNC;
*rflags |= CLOUDABI_SOCK_RECV_DATA_TRUNCATED;
/* Extract file descriptors from SCM_RIGHTS messages. */
if (control != NULL) {
@ -303,7 +221,8 @@ cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
if (nfds > fdslen) {
/* Unable to store file descriptors. */
nfds = fdslen;
*rflags |= CLOUDABI_MSG_CTRUNC;
*rflags |=
CLOUDABI_SOCK_RECV_FDS_TRUNCATED;
}
error = copyout(CMSG_DATA(chdr), fds,
nfds * sizeof(int));
@ -323,20 +242,14 @@ cloudabi_sock_recv(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
int
cloudabi_sock_send(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
size_t datalen, const cloudabi_fd_t *fds, size_t fdslen,
cloudabi_msgflags_t flags, size_t *rdatalen)
size_t datalen, const cloudabi_fd_t *fds, size_t fdslen, size_t *rdatalen)
{
struct msghdr hdr = {
.msg_iov = data,
.msg_iovlen = datalen,
};
struct mbuf *control;
int error, mflags;
/* Convert flags. */
mflags = MSG_NOSIGNAL;
if (flags & CLOUDABI_MSG_EOR)
mflags |= MSG_EOR;
int error;
/* Convert file descriptor array to an SCM_RIGHTS message. */
if (fdslen > MCLBYTES || CMSG_SPACE(fdslen * sizeof(int)) > MCLBYTES) {
@ -361,7 +274,7 @@ cloudabi_sock_send(struct thread *td, cloudabi_fd_t fd, struct iovec *data,
control = NULL;
}
error = kern_sendit(td, fd, &hdr, mflags, control, UIO_USERSPACE);
error = kern_sendit(td, fd, &hdr, MSG_NOSIGNAL, control, UIO_USERSPACE);
if (error != 0)
return (error);
*rdatalen = td->td_retval[0];

View File

@ -75,10 +75,10 @@ int cloudabi_futex_lock_wrlock(struct thread *, cloudabi_lock_t *,
/* Socket operations. */
int cloudabi_sock_recv(struct thread *, cloudabi_fd_t, struct iovec *, size_t,
cloudabi_fd_t *, size_t, cloudabi_msgflags_t, size_t *, size_t *,
cloudabi_sockaddr_t *, cloudabi_msgflags_t *);
cloudabi_fd_t *, size_t, cloudabi_riflags_t, size_t *, size_t *,
cloudabi_roflags_t *);
int cloudabi_sock_send(struct thread *, cloudabi_fd_t, struct iovec *, size_t,
const cloudabi_fd_t *, size_t, cloudabi_msgflags_t, size_t *);
const cloudabi_fd_t *, size_t, size_t *);
/* vDSO setup and teardown. */
void cloudabi_vdso_init(struct sysentvec *, char *, char *);

View File

@ -200,10 +200,6 @@ struct cloudabi_sys_mem_advise_args {
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
char advice_l_[PADL_(cloudabi_advice_t)]; cloudabi_advice_t advice; char advice_r_[PADR_(cloudabi_advice_t)];
};
struct cloudabi_sys_mem_lock_args {
char mapping_l_[PADL_(const void *)]; const void * mapping; char mapping_r_[PADR_(const void *)];
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
};
struct cloudabi_sys_mem_map_args {
char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)];
char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
@ -222,10 +218,6 @@ struct cloudabi_sys_mem_sync_args {
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
char flags_l_[PADL_(cloudabi_msflags_t)]; cloudabi_msflags_t flags; char flags_r_[PADR_(cloudabi_msflags_t)];
};
struct cloudabi_sys_mem_unlock_args {
char mapping_l_[PADL_(const void *)]; const void * mapping; char mapping_r_[PADR_(const void *)];
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
};
struct cloudabi_sys_mem_unmap_args {
char mapping_l_[PADL_(void *)]; void * mapping; char mapping_r_[PADR_(void *)];
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
@ -265,7 +257,7 @@ struct cloudabi_sys_random_get_args {
};
struct cloudabi_sys_sock_accept_args {
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
char buf_l_[PADL_(cloudabi_sockstat_t *)]; cloudabi_sockstat_t * buf; char buf_r_[PADR_(cloudabi_sockstat_t *)];
char unused_l_[PADL_(void *)]; void * unused; char unused_r_[PADR_(void *)];
};
struct cloudabi_sys_sock_bind_args {
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
@ -345,11 +337,9 @@ int cloudabi_sys_file_symlink(struct thread *, struct cloudabi_sys_file_symlink_
int cloudabi_sys_file_unlink(struct thread *, struct cloudabi_sys_file_unlink_args *);
int cloudabi_sys_lock_unlock(struct thread *, struct cloudabi_sys_lock_unlock_args *);
int cloudabi_sys_mem_advise(struct thread *, struct cloudabi_sys_mem_advise_args *);
int cloudabi_sys_mem_lock(struct thread *, struct cloudabi_sys_mem_lock_args *);
int cloudabi_sys_mem_map(struct thread *, struct cloudabi_sys_mem_map_args *);
int cloudabi_sys_mem_protect(struct thread *, struct cloudabi_sys_mem_protect_args *);
int cloudabi_sys_mem_sync(struct thread *, struct cloudabi_sys_mem_sync_args *);
int cloudabi_sys_mem_unlock(struct thread *, struct cloudabi_sys_mem_unlock_args *);
int cloudabi_sys_mem_unmap(struct thread *, struct cloudabi_sys_mem_unmap_args *);
int cloudabi32_sys_poll(struct thread *, struct cloudabi32_sys_poll_args *);
int cloudabi32_sys_poll_fd(struct thread *, struct cloudabi32_sys_poll_fd_args *);
@ -399,6 +389,12 @@ int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_
#endif /* COMPAT_FREEBSD10 */
#ifdef COMPAT_FREEBSD11
#endif /* COMPAT_FREEBSD11 */
#define CLOUDABI32_SYS_AUE_cloudabi_sys_clock_res_get AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_clock_time_get AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_condvar_signal AUE_NULL
@ -432,11 +428,9 @@ int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_
#define CLOUDABI32_SYS_AUE_cloudabi_sys_file_unlink AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_lock_unlock AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_mem_advise AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_mem_lock AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_mem_map AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_mem_protect AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_mem_sync AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_mem_unlock AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_mem_unmap AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi32_sys_poll AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi32_sys_poll_fd AUE_NULL

View File

@ -75,7 +75,7 @@ cloudabi32_sys_sock_recv(struct thread *td,
error = cloudabi_sock_recv(td, uap->sock, iov, ri.ri_data_len,
TO_PTR(ri.ri_fds), ri.ri_fds_len, ri.ri_flags, &rdatalen,
&rfdslen, &ro.ro_peername, &ro.ro_flags);
&rfdslen, &ro.ro_flags);
free(iov, M_SOCKET);
if (error != 0)
return (error);
@ -118,7 +118,7 @@ cloudabi32_sys_sock_send(struct thread *td,
}
error = cloudabi_sock_send(td, uap->sock, iov, si.si_data_len,
TO_PTR(si.si_fds), si.si_fds_len, si.si_flags, &datalen);
TO_PTR(si.si_fds), si.si_fds_len, &datalen);
free(iov, M_SOCKET);
if (error != 0)
return (error);

View File

@ -38,28 +38,26 @@
#define CLOUDABI32_SYS_cloudabi_sys_file_unlink 30
#define CLOUDABI32_SYS_cloudabi_sys_lock_unlock 31
#define CLOUDABI32_SYS_cloudabi_sys_mem_advise 32
#define CLOUDABI32_SYS_cloudabi_sys_mem_lock 33
#define CLOUDABI32_SYS_cloudabi_sys_mem_map 34
#define CLOUDABI32_SYS_cloudabi_sys_mem_protect 35
#define CLOUDABI32_SYS_cloudabi_sys_mem_sync 36
#define CLOUDABI32_SYS_cloudabi_sys_mem_unlock 37
#define CLOUDABI32_SYS_cloudabi_sys_mem_unmap 38
#define CLOUDABI32_SYS_cloudabi32_sys_poll 39
#define CLOUDABI32_SYS_cloudabi32_sys_poll_fd 40
#define CLOUDABI32_SYS_cloudabi_sys_proc_exec 41
#define CLOUDABI32_SYS_cloudabi_sys_proc_exit 42
#define CLOUDABI32_SYS_cloudabi_sys_proc_fork 43
#define CLOUDABI32_SYS_cloudabi_sys_proc_raise 44
#define CLOUDABI32_SYS_cloudabi_sys_random_get 45
#define CLOUDABI32_SYS_cloudabi_sys_sock_accept 46
#define CLOUDABI32_SYS_cloudabi_sys_sock_bind 47
#define CLOUDABI32_SYS_cloudabi_sys_sock_connect 48
#define CLOUDABI32_SYS_cloudabi_sys_sock_listen 49
#define CLOUDABI32_SYS_cloudabi32_sys_sock_recv 50
#define CLOUDABI32_SYS_cloudabi32_sys_sock_send 51
#define CLOUDABI32_SYS_cloudabi_sys_sock_shutdown 52
#define CLOUDABI32_SYS_cloudabi_sys_sock_stat_get 53
#define CLOUDABI32_SYS_cloudabi32_sys_thread_create 54
#define CLOUDABI32_SYS_cloudabi_sys_thread_exit 55
#define CLOUDABI32_SYS_cloudabi_sys_thread_yield 56
#define CLOUDABI32_SYS_MAXSYSCALL 57
#define CLOUDABI32_SYS_cloudabi_sys_mem_map 33
#define CLOUDABI32_SYS_cloudabi_sys_mem_protect 34
#define CLOUDABI32_SYS_cloudabi_sys_mem_sync 35
#define CLOUDABI32_SYS_cloudabi_sys_mem_unmap 36
#define CLOUDABI32_SYS_cloudabi32_sys_poll 37
#define CLOUDABI32_SYS_cloudabi32_sys_poll_fd 38
#define CLOUDABI32_SYS_cloudabi_sys_proc_exec 39
#define CLOUDABI32_SYS_cloudabi_sys_proc_exit 40
#define CLOUDABI32_SYS_cloudabi_sys_proc_fork 41
#define CLOUDABI32_SYS_cloudabi_sys_proc_raise 42
#define CLOUDABI32_SYS_cloudabi_sys_random_get 43
#define CLOUDABI32_SYS_cloudabi_sys_sock_accept 44
#define CLOUDABI32_SYS_cloudabi_sys_sock_bind 45
#define CLOUDABI32_SYS_cloudabi_sys_sock_connect 46
#define CLOUDABI32_SYS_cloudabi_sys_sock_listen 47
#define CLOUDABI32_SYS_cloudabi32_sys_sock_recv 48
#define CLOUDABI32_SYS_cloudabi32_sys_sock_send 49
#define CLOUDABI32_SYS_cloudabi_sys_sock_shutdown 50
#define CLOUDABI32_SYS_cloudabi_sys_sock_stat_get 51
#define CLOUDABI32_SYS_cloudabi32_sys_thread_create 52
#define CLOUDABI32_SYS_cloudabi_sys_thread_exit 53
#define CLOUDABI32_SYS_cloudabi_sys_thread_yield 54
#define CLOUDABI32_SYS_MAXSYSCALL 55

View File

@ -39,28 +39,26 @@ const char *cloudabi32_syscallnames[] = {
"cloudabi_sys_file_unlink", /* 30 = cloudabi_sys_file_unlink */
"cloudabi_sys_lock_unlock", /* 31 = cloudabi_sys_lock_unlock */
"cloudabi_sys_mem_advise", /* 32 = cloudabi_sys_mem_advise */
"cloudabi_sys_mem_lock", /* 33 = cloudabi_sys_mem_lock */
"cloudabi_sys_mem_map", /* 34 = cloudabi_sys_mem_map */
"cloudabi_sys_mem_protect", /* 35 = cloudabi_sys_mem_protect */
"cloudabi_sys_mem_sync", /* 36 = cloudabi_sys_mem_sync */
"cloudabi_sys_mem_unlock", /* 37 = cloudabi_sys_mem_unlock */
"cloudabi_sys_mem_unmap", /* 38 = cloudabi_sys_mem_unmap */
"cloudabi32_sys_poll", /* 39 = cloudabi32_sys_poll */
"cloudabi32_sys_poll_fd", /* 40 = cloudabi32_sys_poll_fd */
"cloudabi_sys_proc_exec", /* 41 = cloudabi_sys_proc_exec */
"cloudabi_sys_proc_exit", /* 42 = cloudabi_sys_proc_exit */
"cloudabi_sys_proc_fork", /* 43 = cloudabi_sys_proc_fork */
"cloudabi_sys_proc_raise", /* 44 = cloudabi_sys_proc_raise */
"cloudabi_sys_random_get", /* 45 = cloudabi_sys_random_get */
"cloudabi_sys_sock_accept", /* 46 = cloudabi_sys_sock_accept */
"cloudabi_sys_sock_bind", /* 47 = cloudabi_sys_sock_bind */
"cloudabi_sys_sock_connect", /* 48 = cloudabi_sys_sock_connect */
"cloudabi_sys_sock_listen", /* 49 = cloudabi_sys_sock_listen */
"cloudabi32_sys_sock_recv", /* 50 = cloudabi32_sys_sock_recv */
"cloudabi32_sys_sock_send", /* 51 = cloudabi32_sys_sock_send */
"cloudabi_sys_sock_shutdown", /* 52 = cloudabi_sys_sock_shutdown */
"cloudabi_sys_sock_stat_get", /* 53 = cloudabi_sys_sock_stat_get */
"cloudabi32_sys_thread_create", /* 54 = cloudabi32_sys_thread_create */
"cloudabi_sys_thread_exit", /* 55 = cloudabi_sys_thread_exit */
"cloudabi_sys_thread_yield", /* 56 = cloudabi_sys_thread_yield */
"cloudabi_sys_mem_map", /* 33 = cloudabi_sys_mem_map */
"cloudabi_sys_mem_protect", /* 34 = cloudabi_sys_mem_protect */
"cloudabi_sys_mem_sync", /* 35 = cloudabi_sys_mem_sync */
"cloudabi_sys_mem_unmap", /* 36 = cloudabi_sys_mem_unmap */
"cloudabi32_sys_poll", /* 37 = cloudabi32_sys_poll */
"cloudabi32_sys_poll_fd", /* 38 = cloudabi32_sys_poll_fd */
"cloudabi_sys_proc_exec", /* 39 = cloudabi_sys_proc_exec */
"cloudabi_sys_proc_exit", /* 40 = cloudabi_sys_proc_exit */
"cloudabi_sys_proc_fork", /* 41 = cloudabi_sys_proc_fork */
"cloudabi_sys_proc_raise", /* 42 = cloudabi_sys_proc_raise */
"cloudabi_sys_random_get", /* 43 = cloudabi_sys_random_get */
"cloudabi_sys_sock_accept", /* 44 = cloudabi_sys_sock_accept */
"cloudabi_sys_sock_bind", /* 45 = cloudabi_sys_sock_bind */
"cloudabi_sys_sock_connect", /* 46 = cloudabi_sys_sock_connect */
"cloudabi_sys_sock_listen", /* 47 = cloudabi_sys_sock_listen */
"cloudabi32_sys_sock_recv", /* 48 = cloudabi32_sys_sock_recv */
"cloudabi32_sys_sock_send", /* 49 = cloudabi32_sys_sock_send */
"cloudabi_sys_sock_shutdown", /* 50 = cloudabi_sys_sock_shutdown */
"cloudabi_sys_sock_stat_get", /* 51 = cloudabi_sys_sock_stat_get */
"cloudabi32_sys_thread_create", /* 52 = cloudabi32_sys_thread_create */
"cloudabi_sys_thread_exit", /* 53 = cloudabi_sys_thread_exit */
"cloudabi_sys_thread_yield", /* 54 = cloudabi_sys_thread_yield */
};

View File

@ -47,28 +47,26 @@ struct sysent cloudabi32_sysent[] = {
{ AS(cloudabi_sys_file_unlink_args), (sy_call_t *)cloudabi_sys_file_unlink, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 30 = cloudabi_sys_file_unlink */
{ AS(cloudabi_sys_lock_unlock_args), (sy_call_t *)cloudabi_sys_lock_unlock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 31 = cloudabi_sys_lock_unlock */
{ AS(cloudabi_sys_mem_advise_args), (sy_call_t *)cloudabi_sys_mem_advise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 32 = cloudabi_sys_mem_advise */
{ AS(cloudabi_sys_mem_lock_args), (sy_call_t *)cloudabi_sys_mem_lock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 33 = cloudabi_sys_mem_lock */
{ AS(cloudabi_sys_mem_map_args), (sy_call_t *)cloudabi_sys_mem_map, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 34 = cloudabi_sys_mem_map */
{ AS(cloudabi_sys_mem_protect_args), (sy_call_t *)cloudabi_sys_mem_protect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 35 = cloudabi_sys_mem_protect */
{ AS(cloudabi_sys_mem_sync_args), (sy_call_t *)cloudabi_sys_mem_sync, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 36 = cloudabi_sys_mem_sync */
{ AS(cloudabi_sys_mem_unlock_args), (sy_call_t *)cloudabi_sys_mem_unlock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 37 = cloudabi_sys_mem_unlock */
{ AS(cloudabi_sys_mem_unmap_args), (sy_call_t *)cloudabi_sys_mem_unmap, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 38 = cloudabi_sys_mem_unmap */
{ AS(cloudabi32_sys_poll_args), (sy_call_t *)cloudabi32_sys_poll, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 39 = cloudabi32_sys_poll */
{ AS(cloudabi32_sys_poll_fd_args), (sy_call_t *)cloudabi32_sys_poll_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 40 = cloudabi32_sys_poll_fd */
{ AS(cloudabi_sys_proc_exec_args), (sy_call_t *)cloudabi_sys_proc_exec, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 41 = cloudabi_sys_proc_exec */
{ AS(cloudabi_sys_proc_exit_args), (sy_call_t *)cloudabi_sys_proc_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 42 = cloudabi_sys_proc_exit */
{ 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 43 = cloudabi_sys_proc_fork */
{ AS(cloudabi_sys_proc_raise_args), (sy_call_t *)cloudabi_sys_proc_raise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = cloudabi_sys_proc_raise */
{ AS(cloudabi_sys_random_get_args), (sy_call_t *)cloudabi_sys_random_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 45 = cloudabi_sys_random_get */
{ AS(cloudabi_sys_sock_accept_args), (sy_call_t *)cloudabi_sys_sock_accept, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = cloudabi_sys_sock_accept */
{ AS(cloudabi_sys_sock_bind_args), (sy_call_t *)cloudabi_sys_sock_bind, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = cloudabi_sys_sock_bind */
{ AS(cloudabi_sys_sock_connect_args), (sy_call_t *)cloudabi_sys_sock_connect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi_sys_sock_connect */
{ AS(cloudabi_sys_sock_listen_args), (sy_call_t *)cloudabi_sys_sock_listen, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi_sys_sock_listen */
{ AS(cloudabi32_sys_sock_recv_args), (sy_call_t *)cloudabi32_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 50 = cloudabi32_sys_sock_recv */
{ AS(cloudabi32_sys_sock_send_args), (sy_call_t *)cloudabi32_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 51 = cloudabi32_sys_sock_send */
{ AS(cloudabi_sys_sock_shutdown_args), (sy_call_t *)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 52 = cloudabi_sys_sock_shutdown */
{ AS(cloudabi_sys_sock_stat_get_args), (sy_call_t *)cloudabi_sys_sock_stat_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 53 = cloudabi_sys_sock_stat_get */
{ AS(cloudabi32_sys_thread_create_args), (sy_call_t *)cloudabi32_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 54 = cloudabi32_sys_thread_create */
{ AS(cloudabi_sys_thread_exit_args), (sy_call_t *)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 55 = cloudabi_sys_thread_exit */
{ 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 56 = cloudabi_sys_thread_yield */
{ AS(cloudabi_sys_mem_map_args), (sy_call_t *)cloudabi_sys_mem_map, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 33 = cloudabi_sys_mem_map */
{ AS(cloudabi_sys_mem_protect_args), (sy_call_t *)cloudabi_sys_mem_protect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 34 = cloudabi_sys_mem_protect */
{ AS(cloudabi_sys_mem_sync_args), (sy_call_t *)cloudabi_sys_mem_sync, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 35 = cloudabi_sys_mem_sync */
{ AS(cloudabi_sys_mem_unmap_args), (sy_call_t *)cloudabi_sys_mem_unmap, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 36 = cloudabi_sys_mem_unmap */
{ AS(cloudabi32_sys_poll_args), (sy_call_t *)cloudabi32_sys_poll, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 37 = cloudabi32_sys_poll */
{ AS(cloudabi32_sys_poll_fd_args), (sy_call_t *)cloudabi32_sys_poll_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 38 = cloudabi32_sys_poll_fd */
{ AS(cloudabi_sys_proc_exec_args), (sy_call_t *)cloudabi_sys_proc_exec, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 39 = cloudabi_sys_proc_exec */
{ AS(cloudabi_sys_proc_exit_args), (sy_call_t *)cloudabi_sys_proc_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 40 = cloudabi_sys_proc_exit */
{ 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 41 = cloudabi_sys_proc_fork */
{ AS(cloudabi_sys_proc_raise_args), (sy_call_t *)cloudabi_sys_proc_raise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 42 = cloudabi_sys_proc_raise */
{ AS(cloudabi_sys_random_get_args), (sy_call_t *)cloudabi_sys_random_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 43 = cloudabi_sys_random_get */
{ AS(cloudabi_sys_sock_accept_args), (sy_call_t *)cloudabi_sys_sock_accept, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = cloudabi_sys_sock_accept */
{ AS(cloudabi_sys_sock_bind_args), (sy_call_t *)cloudabi_sys_sock_bind, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 45 = cloudabi_sys_sock_bind */
{ AS(cloudabi_sys_sock_connect_args), (sy_call_t *)cloudabi_sys_sock_connect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = cloudabi_sys_sock_connect */
{ AS(cloudabi_sys_sock_listen_args), (sy_call_t *)cloudabi_sys_sock_listen, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = cloudabi_sys_sock_listen */
{ AS(cloudabi32_sys_sock_recv_args), (sy_call_t *)cloudabi32_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi32_sys_sock_recv */
{ AS(cloudabi32_sys_sock_send_args), (sy_call_t *)cloudabi32_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi32_sys_sock_send */
{ AS(cloudabi_sys_sock_shutdown_args), (sy_call_t *)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 50 = cloudabi_sys_sock_shutdown */
{ AS(cloudabi_sys_sock_stat_get_args), (sy_call_t *)cloudabi_sys_sock_stat_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 51 = cloudabi_sys_sock_stat_get */
{ AS(cloudabi32_sys_thread_create_args), (sy_call_t *)cloudabi32_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 52 = cloudabi32_sys_thread_create */
{ AS(cloudabi_sys_thread_exit_args), (sy_call_t *)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 53 = cloudabi_sys_thread_exit */
{ 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 54 = cloudabi_sys_thread_yield */
};

View File

@ -310,16 +310,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
/* cloudabi_sys_mem_lock */
case 33: {
struct cloudabi_sys_mem_lock_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* const void * */
uarg[1] = p->mapping_len; /* size_t */
*n_args = 2;
break;
}
/* cloudabi_sys_mem_map */
case 34: {
case 33: {
struct cloudabi_sys_mem_map_args *p = params;
uarg[0] = (intptr_t) p->addr; /* void * */
uarg[1] = p->len; /* size_t */
@ -331,7 +323,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_mem_protect */
case 35: {
case 34: {
struct cloudabi_sys_mem_protect_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* void * */
uarg[1] = p->mapping_len; /* size_t */
@ -340,7 +332,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_mem_sync */
case 36: {
case 35: {
struct cloudabi_sys_mem_sync_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* void * */
uarg[1] = p->mapping_len; /* size_t */
@ -348,16 +340,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
/* cloudabi_sys_mem_unlock */
case 37: {
struct cloudabi_sys_mem_unlock_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* const void * */
uarg[1] = p->mapping_len; /* size_t */
*n_args = 2;
break;
}
/* cloudabi_sys_mem_unmap */
case 38: {
case 36: {
struct cloudabi_sys_mem_unmap_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* void * */
uarg[1] = p->mapping_len; /* size_t */
@ -365,7 +349,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi32_sys_poll */
case 39: {
case 37: {
struct cloudabi32_sys_poll_args *p = params;
uarg[0] = (intptr_t) p->in; /* const cloudabi32_subscription_t * */
uarg[1] = (intptr_t) p->out; /* cloudabi32_event_t * */
@ -374,7 +358,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi32_sys_poll_fd */
case 40: {
case 38: {
struct cloudabi32_sys_poll_fd_args *p = params;
iarg[0] = p->fd; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->in; /* const cloudabi32_subscription_t * */
@ -386,7 +370,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_proc_exec */
case 41: {
case 39: {
struct cloudabi_sys_proc_exec_args *p = params;
iarg[0] = p->fd; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->data; /* const void * */
@ -397,26 +381,26 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_proc_exit */
case 42: {
case 40: {
struct cloudabi_sys_proc_exit_args *p = params;
iarg[0] = p->rval; /* cloudabi_exitcode_t */
*n_args = 1;
break;
}
/* cloudabi_sys_proc_fork */
case 43: {
case 41: {
*n_args = 0;
break;
}
/* cloudabi_sys_proc_raise */
case 44: {
case 42: {
struct cloudabi_sys_proc_raise_args *p = params;
iarg[0] = p->sig; /* cloudabi_signal_t */
*n_args = 1;
break;
}
/* cloudabi_sys_random_get */
case 45: {
case 43: {
struct cloudabi_sys_random_get_args *p = params;
uarg[0] = (intptr_t) p->buf; /* void * */
uarg[1] = p->buf_len; /* size_t */
@ -424,15 +408,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_accept */
case 46: {
case 44: {
struct cloudabi_sys_sock_accept_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->buf; /* cloudabi_sockstat_t * */
uarg[1] = (intptr_t) p->unused; /* void * */
*n_args = 2;
break;
}
/* cloudabi_sys_sock_bind */
case 47: {
case 45: {
struct cloudabi_sys_sock_bind_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->fd; /* cloudabi_fd_t */
@ -442,7 +426,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_connect */
case 48: {
case 46: {
struct cloudabi_sys_sock_connect_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->fd; /* cloudabi_fd_t */
@ -452,7 +436,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_listen */
case 49: {
case 47: {
struct cloudabi_sys_sock_listen_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->backlog; /* cloudabi_backlog_t */
@ -460,7 +444,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi32_sys_sock_recv */
case 50: {
case 48: {
struct cloudabi32_sys_sock_recv_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->in; /* const cloudabi32_recv_in_t * */
@ -469,7 +453,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi32_sys_sock_send */
case 51: {
case 49: {
struct cloudabi32_sys_sock_send_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->in; /* const cloudabi32_send_in_t * */
@ -478,7 +462,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_shutdown */
case 52: {
case 50: {
struct cloudabi_sys_sock_shutdown_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->how; /* cloudabi_sdflags_t */
@ -486,7 +470,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_stat_get */
case 53: {
case 51: {
struct cloudabi_sys_sock_stat_get_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->buf; /* cloudabi_sockstat_t * */
@ -495,14 +479,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi32_sys_thread_create */
case 54: {
case 52: {
struct cloudabi32_sys_thread_create_args *p = params;
uarg[0] = (intptr_t) p->attr; /* cloudabi32_threadattr_t * */
*n_args = 1;
break;
}
/* cloudabi_sys_thread_exit */
case 55: {
case 53: {
struct cloudabi_sys_thread_exit_args *p = params;
uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
iarg[1] = p->scope; /* cloudabi_scope_t */
@ -510,7 +494,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_thread_yield */
case 56: {
case 54: {
*n_args = 0;
break;
}
@ -1058,21 +1042,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* cloudabi_sys_mem_lock */
case 33:
switch(ndx) {
case 0:
p = "userland const void *";
break;
case 1:
p = "size_t";
break;
default:
break;
};
break;
/* cloudabi_sys_mem_map */
case 34:
case 33:
switch(ndx) {
case 0:
p = "userland void *";
@ -1097,7 +1068,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_mem_protect */
case 35:
case 34:
switch(ndx) {
case 0:
p = "userland void *";
@ -1113,7 +1084,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_mem_sync */
case 36:
case 35:
switch(ndx) {
case 0:
p = "userland void *";
@ -1128,21 +1099,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* cloudabi_sys_mem_unlock */
case 37:
switch(ndx) {
case 0:
p = "userland const void *";
break;
case 1:
p = "size_t";
break;
default:
break;
};
break;
/* cloudabi_sys_mem_unmap */
case 38:
case 36:
switch(ndx) {
case 0:
p = "userland void *";
@ -1155,7 +1113,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi32_sys_poll */
case 39:
case 37:
switch(ndx) {
case 0:
p = "userland const cloudabi32_subscription_t *";
@ -1171,7 +1129,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi32_sys_poll_fd */
case 40:
case 38:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1196,7 +1154,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_exec */
case 41:
case 39:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1218,7 +1176,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_exit */
case 42:
case 40:
switch(ndx) {
case 0:
p = "cloudabi_exitcode_t";
@ -1228,10 +1186,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_fork */
case 43:
case 41:
break;
/* cloudabi_sys_proc_raise */
case 44:
case 42:
switch(ndx) {
case 0:
p = "cloudabi_signal_t";
@ -1241,7 +1199,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_random_get */
case 45:
case 43:
switch(ndx) {
case 0:
p = "userland void *";
@ -1254,20 +1212,20 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_accept */
case 46:
case 44:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
break;
case 1:
p = "userland cloudabi_sockstat_t *";
p = "userland void *";
break;
default:
break;
};
break;
/* cloudabi_sys_sock_bind */
case 47:
case 45:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1286,7 +1244,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_connect */
case 48:
case 46:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1305,7 +1263,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_listen */
case 49:
case 47:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1318,7 +1276,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi32_sys_sock_recv */
case 50:
case 48:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1334,7 +1292,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi32_sys_sock_send */
case 51:
case 49:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1350,7 +1308,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_shutdown */
case 52:
case 50:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1363,7 +1321,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_stat_get */
case 53:
case 51:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1379,7 +1337,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi32_sys_thread_create */
case 54:
case 52:
switch(ndx) {
case 0:
p = "userland cloudabi32_threadattr_t *";
@ -1389,7 +1347,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_thread_exit */
case 55:
case 53:
switch(ndx) {
case 0:
p = "userland cloudabi_lock_t *";
@ -1402,7 +1360,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_thread_yield */
case 56:
case 54:
break;
default:
break;
@ -1580,120 +1538,110 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_lock */
/* cloudabi_sys_mem_map */
case 33:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_map */
/* cloudabi_sys_mem_protect */
case 34:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_protect */
/* cloudabi_sys_mem_sync */
case 35:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_sync */
/* cloudabi_sys_mem_unmap */
case 36:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_unlock */
case 37:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_unmap */
case 38:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi32_sys_poll */
case 39:
case 37:
if (ndx == 0 || ndx == 1)
p = "size_t";
break;
/* cloudabi32_sys_poll_fd */
case 40:
case 38:
if (ndx == 0 || ndx == 1)
p = "size_t";
break;
/* cloudabi_sys_proc_exec */
case 41:
case 39:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_proc_exit */
case 42:
case 40:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_proc_fork */
case 43:
case 41:
/* cloudabi_sys_proc_raise */
case 44:
case 42:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_random_get */
case 45:
case 43:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_accept */
case 46:
case 44:
if (ndx == 0 || ndx == 1)
p = "cloudabi_fd_t";
break;
/* cloudabi_sys_sock_bind */
case 47:
case 45:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_connect */
case 48:
case 46:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_listen */
case 49:
case 47:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi32_sys_sock_recv */
case 50:
case 48:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi32_sys_sock_send */
case 51:
case 49:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_shutdown */
case 52:
case 50:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_stat_get */
case 53:
case 51:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi32_sys_thread_create */
case 54:
case 52:
if (ndx == 0 || ndx == 1)
p = "cloudabi_tid_t";
break;
/* cloudabi_sys_thread_exit */
case 55:
case 53:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_thread_yield */
case 56:
case 54:
default:
break;
};

View File

@ -200,10 +200,6 @@ struct cloudabi_sys_mem_advise_args {
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
char advice_l_[PADL_(cloudabi_advice_t)]; cloudabi_advice_t advice; char advice_r_[PADR_(cloudabi_advice_t)];
};
struct cloudabi_sys_mem_lock_args {
char mapping_l_[PADL_(const void *)]; const void * mapping; char mapping_r_[PADR_(const void *)];
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
};
struct cloudabi_sys_mem_map_args {
char addr_l_[PADL_(void *)]; void * addr; char addr_r_[PADR_(void *)];
char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
@ -222,10 +218,6 @@ struct cloudabi_sys_mem_sync_args {
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
char flags_l_[PADL_(cloudabi_msflags_t)]; cloudabi_msflags_t flags; char flags_r_[PADR_(cloudabi_msflags_t)];
};
struct cloudabi_sys_mem_unlock_args {
char mapping_l_[PADL_(const void *)]; const void * mapping; char mapping_r_[PADR_(const void *)];
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
};
struct cloudabi_sys_mem_unmap_args {
char mapping_l_[PADL_(void *)]; void * mapping; char mapping_r_[PADR_(void *)];
char mapping_len_l_[PADL_(size_t)]; size_t mapping_len; char mapping_len_r_[PADR_(size_t)];
@ -265,7 +257,7 @@ struct cloudabi_sys_random_get_args {
};
struct cloudabi_sys_sock_accept_args {
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
char buf_l_[PADL_(cloudabi_sockstat_t *)]; cloudabi_sockstat_t * buf; char buf_r_[PADR_(cloudabi_sockstat_t *)];
char unused_l_[PADL_(void *)]; void * unused; char unused_r_[PADR_(void *)];
};
struct cloudabi_sys_sock_bind_args {
char sock_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t sock; char sock_r_[PADR_(cloudabi_fd_t)];
@ -345,11 +337,9 @@ int cloudabi_sys_file_symlink(struct thread *, struct cloudabi_sys_file_symlink_
int cloudabi_sys_file_unlink(struct thread *, struct cloudabi_sys_file_unlink_args *);
int cloudabi_sys_lock_unlock(struct thread *, struct cloudabi_sys_lock_unlock_args *);
int cloudabi_sys_mem_advise(struct thread *, struct cloudabi_sys_mem_advise_args *);
int cloudabi_sys_mem_lock(struct thread *, struct cloudabi_sys_mem_lock_args *);
int cloudabi_sys_mem_map(struct thread *, struct cloudabi_sys_mem_map_args *);
int cloudabi_sys_mem_protect(struct thread *, struct cloudabi_sys_mem_protect_args *);
int cloudabi_sys_mem_sync(struct thread *, struct cloudabi_sys_mem_sync_args *);
int cloudabi_sys_mem_unlock(struct thread *, struct cloudabi_sys_mem_unlock_args *);
int cloudabi_sys_mem_unmap(struct thread *, struct cloudabi_sys_mem_unmap_args *);
int cloudabi64_sys_poll(struct thread *, struct cloudabi64_sys_poll_args *);
int cloudabi64_sys_poll_fd(struct thread *, struct cloudabi64_sys_poll_fd_args *);
@ -399,6 +389,12 @@ int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_
#endif /* COMPAT_FREEBSD10 */
#ifdef COMPAT_FREEBSD11
#endif /* COMPAT_FREEBSD11 */
#define CLOUDABI64_SYS_AUE_cloudabi_sys_clock_res_get AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_clock_time_get AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_condvar_signal AUE_NULL
@ -432,11 +428,9 @@ int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_
#define CLOUDABI64_SYS_AUE_cloudabi_sys_file_unlink AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_lock_unlock AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_mem_advise AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_mem_lock AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_mem_map AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_mem_protect AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_mem_sync AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_mem_unlock AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_mem_unmap AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi64_sys_poll AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi64_sys_poll_fd AUE_NULL

View File

@ -75,7 +75,7 @@ cloudabi64_sys_sock_recv(struct thread *td,
error = cloudabi_sock_recv(td, uap->sock, iov, ri.ri_data_len,
TO_PTR(ri.ri_fds), ri.ri_fds_len, ri.ri_flags, &rdatalen,
&rfdslen, &ro.ro_peername, &ro.ro_flags);
&rfdslen, &ro.ro_flags);
free(iov, M_SOCKET);
if (error != 0)
return (error);
@ -118,7 +118,7 @@ cloudabi64_sys_sock_send(struct thread *td,
}
error = cloudabi_sock_send(td, uap->sock, iov, si.si_data_len,
TO_PTR(si.si_fds), si.si_fds_len, si.si_flags, &datalen);
TO_PTR(si.si_fds), si.si_fds_len, &datalen);
free(iov, M_SOCKET);
if (error != 0)
return (error);

View File

@ -38,28 +38,26 @@
#define CLOUDABI64_SYS_cloudabi_sys_file_unlink 30
#define CLOUDABI64_SYS_cloudabi_sys_lock_unlock 31
#define CLOUDABI64_SYS_cloudabi_sys_mem_advise 32
#define CLOUDABI64_SYS_cloudabi_sys_mem_lock 33
#define CLOUDABI64_SYS_cloudabi_sys_mem_map 34
#define CLOUDABI64_SYS_cloudabi_sys_mem_protect 35
#define CLOUDABI64_SYS_cloudabi_sys_mem_sync 36
#define CLOUDABI64_SYS_cloudabi_sys_mem_unlock 37
#define CLOUDABI64_SYS_cloudabi_sys_mem_unmap 38
#define CLOUDABI64_SYS_cloudabi64_sys_poll 39
#define CLOUDABI64_SYS_cloudabi64_sys_poll_fd 40
#define CLOUDABI64_SYS_cloudabi_sys_proc_exec 41
#define CLOUDABI64_SYS_cloudabi_sys_proc_exit 42
#define CLOUDABI64_SYS_cloudabi_sys_proc_fork 43
#define CLOUDABI64_SYS_cloudabi_sys_proc_raise 44
#define CLOUDABI64_SYS_cloudabi_sys_random_get 45
#define CLOUDABI64_SYS_cloudabi_sys_sock_accept 46
#define CLOUDABI64_SYS_cloudabi_sys_sock_bind 47
#define CLOUDABI64_SYS_cloudabi_sys_sock_connect 48
#define CLOUDABI64_SYS_cloudabi_sys_sock_listen 49
#define CLOUDABI64_SYS_cloudabi64_sys_sock_recv 50
#define CLOUDABI64_SYS_cloudabi64_sys_sock_send 51
#define CLOUDABI64_SYS_cloudabi_sys_sock_shutdown 52
#define CLOUDABI64_SYS_cloudabi_sys_sock_stat_get 53
#define CLOUDABI64_SYS_cloudabi64_sys_thread_create 54
#define CLOUDABI64_SYS_cloudabi_sys_thread_exit 55
#define CLOUDABI64_SYS_cloudabi_sys_thread_yield 56
#define CLOUDABI64_SYS_MAXSYSCALL 57
#define CLOUDABI64_SYS_cloudabi_sys_mem_map 33
#define CLOUDABI64_SYS_cloudabi_sys_mem_protect 34
#define CLOUDABI64_SYS_cloudabi_sys_mem_sync 35
#define CLOUDABI64_SYS_cloudabi_sys_mem_unmap 36
#define CLOUDABI64_SYS_cloudabi64_sys_poll 37
#define CLOUDABI64_SYS_cloudabi64_sys_poll_fd 38
#define CLOUDABI64_SYS_cloudabi_sys_proc_exec 39
#define CLOUDABI64_SYS_cloudabi_sys_proc_exit 40
#define CLOUDABI64_SYS_cloudabi_sys_proc_fork 41
#define CLOUDABI64_SYS_cloudabi_sys_proc_raise 42
#define CLOUDABI64_SYS_cloudabi_sys_random_get 43
#define CLOUDABI64_SYS_cloudabi_sys_sock_accept 44
#define CLOUDABI64_SYS_cloudabi_sys_sock_bind 45
#define CLOUDABI64_SYS_cloudabi_sys_sock_connect 46
#define CLOUDABI64_SYS_cloudabi_sys_sock_listen 47
#define CLOUDABI64_SYS_cloudabi64_sys_sock_recv 48
#define CLOUDABI64_SYS_cloudabi64_sys_sock_send 49
#define CLOUDABI64_SYS_cloudabi_sys_sock_shutdown 50
#define CLOUDABI64_SYS_cloudabi_sys_sock_stat_get 51
#define CLOUDABI64_SYS_cloudabi64_sys_thread_create 52
#define CLOUDABI64_SYS_cloudabi_sys_thread_exit 53
#define CLOUDABI64_SYS_cloudabi_sys_thread_yield 54
#define CLOUDABI64_SYS_MAXSYSCALL 55

View File

@ -39,28 +39,26 @@ const char *cloudabi64_syscallnames[] = {
"cloudabi_sys_file_unlink", /* 30 = cloudabi_sys_file_unlink */
"cloudabi_sys_lock_unlock", /* 31 = cloudabi_sys_lock_unlock */
"cloudabi_sys_mem_advise", /* 32 = cloudabi_sys_mem_advise */
"cloudabi_sys_mem_lock", /* 33 = cloudabi_sys_mem_lock */
"cloudabi_sys_mem_map", /* 34 = cloudabi_sys_mem_map */
"cloudabi_sys_mem_protect", /* 35 = cloudabi_sys_mem_protect */
"cloudabi_sys_mem_sync", /* 36 = cloudabi_sys_mem_sync */
"cloudabi_sys_mem_unlock", /* 37 = cloudabi_sys_mem_unlock */
"cloudabi_sys_mem_unmap", /* 38 = cloudabi_sys_mem_unmap */
"cloudabi64_sys_poll", /* 39 = cloudabi64_sys_poll */
"cloudabi64_sys_poll_fd", /* 40 = cloudabi64_sys_poll_fd */
"cloudabi_sys_proc_exec", /* 41 = cloudabi_sys_proc_exec */
"cloudabi_sys_proc_exit", /* 42 = cloudabi_sys_proc_exit */
"cloudabi_sys_proc_fork", /* 43 = cloudabi_sys_proc_fork */
"cloudabi_sys_proc_raise", /* 44 = cloudabi_sys_proc_raise */
"cloudabi_sys_random_get", /* 45 = cloudabi_sys_random_get */
"cloudabi_sys_sock_accept", /* 46 = cloudabi_sys_sock_accept */
"cloudabi_sys_sock_bind", /* 47 = cloudabi_sys_sock_bind */
"cloudabi_sys_sock_connect", /* 48 = cloudabi_sys_sock_connect */
"cloudabi_sys_sock_listen", /* 49 = cloudabi_sys_sock_listen */
"cloudabi64_sys_sock_recv", /* 50 = cloudabi64_sys_sock_recv */
"cloudabi64_sys_sock_send", /* 51 = cloudabi64_sys_sock_send */
"cloudabi_sys_sock_shutdown", /* 52 = cloudabi_sys_sock_shutdown */
"cloudabi_sys_sock_stat_get", /* 53 = cloudabi_sys_sock_stat_get */
"cloudabi64_sys_thread_create", /* 54 = cloudabi64_sys_thread_create */
"cloudabi_sys_thread_exit", /* 55 = cloudabi_sys_thread_exit */
"cloudabi_sys_thread_yield", /* 56 = cloudabi_sys_thread_yield */
"cloudabi_sys_mem_map", /* 33 = cloudabi_sys_mem_map */
"cloudabi_sys_mem_protect", /* 34 = cloudabi_sys_mem_protect */
"cloudabi_sys_mem_sync", /* 35 = cloudabi_sys_mem_sync */
"cloudabi_sys_mem_unmap", /* 36 = cloudabi_sys_mem_unmap */
"cloudabi64_sys_poll", /* 37 = cloudabi64_sys_poll */
"cloudabi64_sys_poll_fd", /* 38 = cloudabi64_sys_poll_fd */
"cloudabi_sys_proc_exec", /* 39 = cloudabi_sys_proc_exec */
"cloudabi_sys_proc_exit", /* 40 = cloudabi_sys_proc_exit */
"cloudabi_sys_proc_fork", /* 41 = cloudabi_sys_proc_fork */
"cloudabi_sys_proc_raise", /* 42 = cloudabi_sys_proc_raise */
"cloudabi_sys_random_get", /* 43 = cloudabi_sys_random_get */
"cloudabi_sys_sock_accept", /* 44 = cloudabi_sys_sock_accept */
"cloudabi_sys_sock_bind", /* 45 = cloudabi_sys_sock_bind */
"cloudabi_sys_sock_connect", /* 46 = cloudabi_sys_sock_connect */
"cloudabi_sys_sock_listen", /* 47 = cloudabi_sys_sock_listen */
"cloudabi64_sys_sock_recv", /* 48 = cloudabi64_sys_sock_recv */
"cloudabi64_sys_sock_send", /* 49 = cloudabi64_sys_sock_send */
"cloudabi_sys_sock_shutdown", /* 50 = cloudabi_sys_sock_shutdown */
"cloudabi_sys_sock_stat_get", /* 51 = cloudabi_sys_sock_stat_get */
"cloudabi64_sys_thread_create", /* 52 = cloudabi64_sys_thread_create */
"cloudabi_sys_thread_exit", /* 53 = cloudabi_sys_thread_exit */
"cloudabi_sys_thread_yield", /* 54 = cloudabi_sys_thread_yield */
};

View File

@ -47,28 +47,26 @@ struct sysent cloudabi64_sysent[] = {
{ AS(cloudabi_sys_file_unlink_args), (sy_call_t *)cloudabi_sys_file_unlink, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 30 = cloudabi_sys_file_unlink */
{ AS(cloudabi_sys_lock_unlock_args), (sy_call_t *)cloudabi_sys_lock_unlock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 31 = cloudabi_sys_lock_unlock */
{ AS(cloudabi_sys_mem_advise_args), (sy_call_t *)cloudabi_sys_mem_advise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 32 = cloudabi_sys_mem_advise */
{ AS(cloudabi_sys_mem_lock_args), (sy_call_t *)cloudabi_sys_mem_lock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 33 = cloudabi_sys_mem_lock */
{ AS(cloudabi_sys_mem_map_args), (sy_call_t *)cloudabi_sys_mem_map, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 34 = cloudabi_sys_mem_map */
{ AS(cloudabi_sys_mem_protect_args), (sy_call_t *)cloudabi_sys_mem_protect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 35 = cloudabi_sys_mem_protect */
{ AS(cloudabi_sys_mem_sync_args), (sy_call_t *)cloudabi_sys_mem_sync, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 36 = cloudabi_sys_mem_sync */
{ AS(cloudabi_sys_mem_unlock_args), (sy_call_t *)cloudabi_sys_mem_unlock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 37 = cloudabi_sys_mem_unlock */
{ AS(cloudabi_sys_mem_unmap_args), (sy_call_t *)cloudabi_sys_mem_unmap, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 38 = cloudabi_sys_mem_unmap */
{ AS(cloudabi64_sys_poll_args), (sy_call_t *)cloudabi64_sys_poll, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 39 = cloudabi64_sys_poll */
{ AS(cloudabi64_sys_poll_fd_args), (sy_call_t *)cloudabi64_sys_poll_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 40 = cloudabi64_sys_poll_fd */
{ AS(cloudabi_sys_proc_exec_args), (sy_call_t *)cloudabi_sys_proc_exec, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 41 = cloudabi_sys_proc_exec */
{ AS(cloudabi_sys_proc_exit_args), (sy_call_t *)cloudabi_sys_proc_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 42 = cloudabi_sys_proc_exit */
{ 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 43 = cloudabi_sys_proc_fork */
{ AS(cloudabi_sys_proc_raise_args), (sy_call_t *)cloudabi_sys_proc_raise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = cloudabi_sys_proc_raise */
{ AS(cloudabi_sys_random_get_args), (sy_call_t *)cloudabi_sys_random_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 45 = cloudabi_sys_random_get */
{ AS(cloudabi_sys_sock_accept_args), (sy_call_t *)cloudabi_sys_sock_accept, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = cloudabi_sys_sock_accept */
{ AS(cloudabi_sys_sock_bind_args), (sy_call_t *)cloudabi_sys_sock_bind, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = cloudabi_sys_sock_bind */
{ AS(cloudabi_sys_sock_connect_args), (sy_call_t *)cloudabi_sys_sock_connect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi_sys_sock_connect */
{ AS(cloudabi_sys_sock_listen_args), (sy_call_t *)cloudabi_sys_sock_listen, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi_sys_sock_listen */
{ AS(cloudabi64_sys_sock_recv_args), (sy_call_t *)cloudabi64_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 50 = cloudabi64_sys_sock_recv */
{ AS(cloudabi64_sys_sock_send_args), (sy_call_t *)cloudabi64_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 51 = cloudabi64_sys_sock_send */
{ AS(cloudabi_sys_sock_shutdown_args), (sy_call_t *)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 52 = cloudabi_sys_sock_shutdown */
{ AS(cloudabi_sys_sock_stat_get_args), (sy_call_t *)cloudabi_sys_sock_stat_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 53 = cloudabi_sys_sock_stat_get */
{ AS(cloudabi64_sys_thread_create_args), (sy_call_t *)cloudabi64_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 54 = cloudabi64_sys_thread_create */
{ AS(cloudabi_sys_thread_exit_args), (sy_call_t *)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 55 = cloudabi_sys_thread_exit */
{ 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 56 = cloudabi_sys_thread_yield */
{ AS(cloudabi_sys_mem_map_args), (sy_call_t *)cloudabi_sys_mem_map, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 33 = cloudabi_sys_mem_map */
{ AS(cloudabi_sys_mem_protect_args), (sy_call_t *)cloudabi_sys_mem_protect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 34 = cloudabi_sys_mem_protect */
{ AS(cloudabi_sys_mem_sync_args), (sy_call_t *)cloudabi_sys_mem_sync, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 35 = cloudabi_sys_mem_sync */
{ AS(cloudabi_sys_mem_unmap_args), (sy_call_t *)cloudabi_sys_mem_unmap, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 36 = cloudabi_sys_mem_unmap */
{ AS(cloudabi64_sys_poll_args), (sy_call_t *)cloudabi64_sys_poll, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 37 = cloudabi64_sys_poll */
{ AS(cloudabi64_sys_poll_fd_args), (sy_call_t *)cloudabi64_sys_poll_fd, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 38 = cloudabi64_sys_poll_fd */
{ AS(cloudabi_sys_proc_exec_args), (sy_call_t *)cloudabi_sys_proc_exec, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 39 = cloudabi_sys_proc_exec */
{ AS(cloudabi_sys_proc_exit_args), (sy_call_t *)cloudabi_sys_proc_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 40 = cloudabi_sys_proc_exit */
{ 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 41 = cloudabi_sys_proc_fork */
{ AS(cloudabi_sys_proc_raise_args), (sy_call_t *)cloudabi_sys_proc_raise, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 42 = cloudabi_sys_proc_raise */
{ AS(cloudabi_sys_random_get_args), (sy_call_t *)cloudabi_sys_random_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 43 = cloudabi_sys_random_get */
{ AS(cloudabi_sys_sock_accept_args), (sy_call_t *)cloudabi_sys_sock_accept, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = cloudabi_sys_sock_accept */
{ AS(cloudabi_sys_sock_bind_args), (sy_call_t *)cloudabi_sys_sock_bind, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 45 = cloudabi_sys_sock_bind */
{ AS(cloudabi_sys_sock_connect_args), (sy_call_t *)cloudabi_sys_sock_connect, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = cloudabi_sys_sock_connect */
{ AS(cloudabi_sys_sock_listen_args), (sy_call_t *)cloudabi_sys_sock_listen, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = cloudabi_sys_sock_listen */
{ AS(cloudabi64_sys_sock_recv_args), (sy_call_t *)cloudabi64_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi64_sys_sock_recv */
{ AS(cloudabi64_sys_sock_send_args), (sy_call_t *)cloudabi64_sys_sock_send, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi64_sys_sock_send */
{ AS(cloudabi_sys_sock_shutdown_args), (sy_call_t *)cloudabi_sys_sock_shutdown, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 50 = cloudabi_sys_sock_shutdown */
{ AS(cloudabi_sys_sock_stat_get_args), (sy_call_t *)cloudabi_sys_sock_stat_get, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 51 = cloudabi_sys_sock_stat_get */
{ AS(cloudabi64_sys_thread_create_args), (sy_call_t *)cloudabi64_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 52 = cloudabi64_sys_thread_create */
{ AS(cloudabi_sys_thread_exit_args), (sy_call_t *)cloudabi_sys_thread_exit, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 53 = cloudabi_sys_thread_exit */
{ 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 54 = cloudabi_sys_thread_yield */
};

View File

@ -310,16 +310,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
/* cloudabi_sys_mem_lock */
case 33: {
struct cloudabi_sys_mem_lock_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* const void * */
uarg[1] = p->mapping_len; /* size_t */
*n_args = 2;
break;
}
/* cloudabi_sys_mem_map */
case 34: {
case 33: {
struct cloudabi_sys_mem_map_args *p = params;
uarg[0] = (intptr_t) p->addr; /* void * */
uarg[1] = p->len; /* size_t */
@ -331,7 +323,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_mem_protect */
case 35: {
case 34: {
struct cloudabi_sys_mem_protect_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* void * */
uarg[1] = p->mapping_len; /* size_t */
@ -340,7 +332,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_mem_sync */
case 36: {
case 35: {
struct cloudabi_sys_mem_sync_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* void * */
uarg[1] = p->mapping_len; /* size_t */
@ -348,16 +340,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
/* cloudabi_sys_mem_unlock */
case 37: {
struct cloudabi_sys_mem_unlock_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* const void * */
uarg[1] = p->mapping_len; /* size_t */
*n_args = 2;
break;
}
/* cloudabi_sys_mem_unmap */
case 38: {
case 36: {
struct cloudabi_sys_mem_unmap_args *p = params;
uarg[0] = (intptr_t) p->mapping; /* void * */
uarg[1] = p->mapping_len; /* size_t */
@ -365,7 +349,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi64_sys_poll */
case 39: {
case 37: {
struct cloudabi64_sys_poll_args *p = params;
uarg[0] = (intptr_t) p->in; /* const cloudabi64_subscription_t * */
uarg[1] = (intptr_t) p->out; /* cloudabi64_event_t * */
@ -374,7 +358,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi64_sys_poll_fd */
case 40: {
case 38: {
struct cloudabi64_sys_poll_fd_args *p = params;
iarg[0] = p->fd; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->in; /* const cloudabi64_subscription_t * */
@ -386,7 +370,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_proc_exec */
case 41: {
case 39: {
struct cloudabi_sys_proc_exec_args *p = params;
iarg[0] = p->fd; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->data; /* const void * */
@ -397,26 +381,26 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_proc_exit */
case 42: {
case 40: {
struct cloudabi_sys_proc_exit_args *p = params;
iarg[0] = p->rval; /* cloudabi_exitcode_t */
*n_args = 1;
break;
}
/* cloudabi_sys_proc_fork */
case 43: {
case 41: {
*n_args = 0;
break;
}
/* cloudabi_sys_proc_raise */
case 44: {
case 42: {
struct cloudabi_sys_proc_raise_args *p = params;
iarg[0] = p->sig; /* cloudabi_signal_t */
*n_args = 1;
break;
}
/* cloudabi_sys_random_get */
case 45: {
case 43: {
struct cloudabi_sys_random_get_args *p = params;
uarg[0] = (intptr_t) p->buf; /* void * */
uarg[1] = p->buf_len; /* size_t */
@ -424,15 +408,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_accept */
case 46: {
case 44: {
struct cloudabi_sys_sock_accept_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->buf; /* cloudabi_sockstat_t * */
uarg[1] = (intptr_t) p->unused; /* void * */
*n_args = 2;
break;
}
/* cloudabi_sys_sock_bind */
case 47: {
case 45: {
struct cloudabi_sys_sock_bind_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->fd; /* cloudabi_fd_t */
@ -442,7 +426,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_connect */
case 48: {
case 46: {
struct cloudabi_sys_sock_connect_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->fd; /* cloudabi_fd_t */
@ -452,7 +436,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_listen */
case 49: {
case 47: {
struct cloudabi_sys_sock_listen_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->backlog; /* cloudabi_backlog_t */
@ -460,7 +444,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi64_sys_sock_recv */
case 50: {
case 48: {
struct cloudabi64_sys_sock_recv_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->in; /* const cloudabi64_recv_in_t * */
@ -469,7 +453,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi64_sys_sock_send */
case 51: {
case 49: {
struct cloudabi64_sys_sock_send_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->in; /* const cloudabi64_send_in_t * */
@ -478,7 +462,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_shutdown */
case 52: {
case 50: {
struct cloudabi_sys_sock_shutdown_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->how; /* cloudabi_sdflags_t */
@ -486,7 +470,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_stat_get */
case 53: {
case 51: {
struct cloudabi_sys_sock_stat_get_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->buf; /* cloudabi_sockstat_t * */
@ -495,14 +479,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi64_sys_thread_create */
case 54: {
case 52: {
struct cloudabi64_sys_thread_create_args *p = params;
uarg[0] = (intptr_t) p->attr; /* cloudabi64_threadattr_t * */
*n_args = 1;
break;
}
/* cloudabi_sys_thread_exit */
case 55: {
case 53: {
struct cloudabi_sys_thread_exit_args *p = params;
uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
iarg[1] = p->scope; /* cloudabi_scope_t */
@ -510,7 +494,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_thread_yield */
case 56: {
case 54: {
*n_args = 0;
break;
}
@ -1058,21 +1042,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* cloudabi_sys_mem_lock */
case 33:
switch(ndx) {
case 0:
p = "userland const void *";
break;
case 1:
p = "size_t";
break;
default:
break;
};
break;
/* cloudabi_sys_mem_map */
case 34:
case 33:
switch(ndx) {
case 0:
p = "userland void *";
@ -1097,7 +1068,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_mem_protect */
case 35:
case 34:
switch(ndx) {
case 0:
p = "userland void *";
@ -1113,7 +1084,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_mem_sync */
case 36:
case 35:
switch(ndx) {
case 0:
p = "userland void *";
@ -1128,21 +1099,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* cloudabi_sys_mem_unlock */
case 37:
switch(ndx) {
case 0:
p = "userland const void *";
break;
case 1:
p = "size_t";
break;
default:
break;
};
break;
/* cloudabi_sys_mem_unmap */
case 38:
case 36:
switch(ndx) {
case 0:
p = "userland void *";
@ -1155,7 +1113,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi64_sys_poll */
case 39:
case 37:
switch(ndx) {
case 0:
p = "userland const cloudabi64_subscription_t *";
@ -1171,7 +1129,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi64_sys_poll_fd */
case 40:
case 38:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1196,7 +1154,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_exec */
case 41:
case 39:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1218,7 +1176,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_exit */
case 42:
case 40:
switch(ndx) {
case 0:
p = "cloudabi_exitcode_t";
@ -1228,10 +1186,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_fork */
case 43:
case 41:
break;
/* cloudabi_sys_proc_raise */
case 44:
case 42:
switch(ndx) {
case 0:
p = "cloudabi_signal_t";
@ -1241,7 +1199,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_random_get */
case 45:
case 43:
switch(ndx) {
case 0:
p = "userland void *";
@ -1254,20 +1212,20 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_accept */
case 46:
case 44:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
break;
case 1:
p = "userland cloudabi_sockstat_t *";
p = "userland void *";
break;
default:
break;
};
break;
/* cloudabi_sys_sock_bind */
case 47:
case 45:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1286,7 +1244,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_connect */
case 48:
case 46:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1305,7 +1263,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_listen */
case 49:
case 47:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1318,7 +1276,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi64_sys_sock_recv */
case 50:
case 48:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1334,7 +1292,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi64_sys_sock_send */
case 51:
case 49:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1350,7 +1308,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_shutdown */
case 52:
case 50:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1363,7 +1321,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_stat_get */
case 53:
case 51:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@ -1379,7 +1337,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi64_sys_thread_create */
case 54:
case 52:
switch(ndx) {
case 0:
p = "userland cloudabi64_threadattr_t *";
@ -1389,7 +1347,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_thread_exit */
case 55:
case 53:
switch(ndx) {
case 0:
p = "userland cloudabi_lock_t *";
@ -1402,7 +1360,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_thread_yield */
case 56:
case 54:
break;
default:
break;
@ -1580,120 +1538,110 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_lock */
/* cloudabi_sys_mem_map */
case 33:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_map */
/* cloudabi_sys_mem_protect */
case 34:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_protect */
/* cloudabi_sys_mem_sync */
case 35:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_sync */
/* cloudabi_sys_mem_unmap */
case 36:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_unlock */
case 37:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_mem_unmap */
case 38:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi64_sys_poll */
case 39:
case 37:
if (ndx == 0 || ndx == 1)
p = "size_t";
break;
/* cloudabi64_sys_poll_fd */
case 40:
case 38:
if (ndx == 0 || ndx == 1)
p = "size_t";
break;
/* cloudabi_sys_proc_exec */
case 41:
case 39:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_proc_exit */
case 42:
case 40:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_proc_fork */
case 43:
case 41:
/* cloudabi_sys_proc_raise */
case 44:
case 42:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_random_get */
case 45:
case 43:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_accept */
case 46:
case 44:
if (ndx == 0 || ndx == 1)
p = "cloudabi_fd_t";
break;
/* cloudabi_sys_sock_bind */
case 47:
case 45:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_connect */
case 48:
case 46:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_listen */
case 49:
case 47:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi64_sys_sock_recv */
case 50:
case 48:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi64_sys_sock_send */
case 51:
case 49:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_shutdown */
case 52:
case 50:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_stat_get */
case 53:
case 51:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi64_sys_thread_create */
case 54:
case 52:
if (ndx == 0 || ndx == 1)
p = "cloudabi_tid_t";
break;
/* cloudabi_sys_thread_exit */
case 55:
case 53:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_thread_yield */
case 56:
case 54:
default:
break;
};

View File

@ -109,7 +109,7 @@ typedef struct {
_Alignas(4) uint32_t ri_data_len;
_Alignas(4) uint32_t ri_fds;
_Alignas(4) uint32_t ri_fds_len;
_Alignas(2) cloudabi_msgflags_t ri_flags;
_Alignas(2) cloudabi_riflags_t ri_flags;
} cloudabi32_recv_in_t;
_Static_assert(offsetof(cloudabi32_recv_in_t, ri_data) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_recv_in_t, ri_data_len) == 4, "Incorrect layout");
@ -119,12 +119,25 @@ _Static_assert(offsetof(cloudabi32_recv_in_t, ri_flags) == 16, "Incorrect layout
_Static_assert(sizeof(cloudabi32_recv_in_t) == 20, "Incorrect layout");
_Static_assert(_Alignof(cloudabi32_recv_in_t) == 4, "Incorrect layout");
typedef struct {
_Alignas(4) uint32_t ro_datalen;
_Alignas(4) uint32_t ro_fdslen;
_Alignas(1) char ro_unused[40];
_Alignas(2) cloudabi_roflags_t ro_flags;
} cloudabi32_recv_out_t;
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_datalen) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_fdslen) == 4, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_unused) == 8, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_flags) == 48, "Incorrect layout");
_Static_assert(sizeof(cloudabi32_recv_out_t) == 52, "Incorrect layout");
_Static_assert(_Alignof(cloudabi32_recv_out_t) == 4, "Incorrect layout");
typedef struct {
_Alignas(4) uint32_t si_data;
_Alignas(4) uint32_t si_data_len;
_Alignas(4) uint32_t si_fds;
_Alignas(4) uint32_t si_fds_len;
_Alignas(2) cloudabi_msgflags_t si_flags;
_Alignas(2) cloudabi_siflags_t si_flags;
} cloudabi32_send_in_t;
_Static_assert(offsetof(cloudabi32_send_in_t, si_data) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_send_in_t, si_data_len) == 4, "Incorrect layout");
@ -201,21 +214,6 @@ _Static_assert(_Alignof(cloudabi32_tcb_t) == 4, "Incorrect layout");
typedef void cloudabi32_threadentry_t(cloudabi_tid_t tid, uint32_t aux);
typedef struct {
_Alignas(4) uint32_t ro_datalen;
_Alignas(4) uint32_t ro_fdslen;
_Alignas(2) cloudabi_sockaddr_t ro_sockname;
_Alignas(2) cloudabi_sockaddr_t ro_peername;
_Alignas(2) cloudabi_msgflags_t ro_flags;
} cloudabi32_recv_out_t;
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_datalen) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_fdslen) == 4, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_sockname) == 8, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_peername) == 28, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_recv_out_t, ro_flags) == 48, "Incorrect layout");
_Static_assert(sizeof(cloudabi32_recv_out_t) == 52, "Incorrect layout");
_Static_assert(_Alignof(cloudabi32_recv_out_t) == 4, "Incorrect layout");
typedef struct {
_Alignas(4) uint32_t entry_point;
_Alignas(4) uint32_t stack;

View File

@ -109,7 +109,7 @@ typedef struct {
_Alignas(8) uint64_t ri_data_len;
_Alignas(8) uint64_t ri_fds;
_Alignas(8) uint64_t ri_fds_len;
_Alignas(2) cloudabi_msgflags_t ri_flags;
_Alignas(2) cloudabi_riflags_t ri_flags;
} cloudabi64_recv_in_t;
_Static_assert(offsetof(cloudabi64_recv_in_t, ri_data) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_recv_in_t, ri_data_len) == 8, "Incorrect layout");
@ -119,12 +119,25 @@ _Static_assert(offsetof(cloudabi64_recv_in_t, ri_flags) == 32, "Incorrect layout
_Static_assert(sizeof(cloudabi64_recv_in_t) == 40, "Incorrect layout");
_Static_assert(_Alignof(cloudabi64_recv_in_t) == 8, "Incorrect layout");
typedef struct {
_Alignas(8) uint64_t ro_datalen;
_Alignas(8) uint64_t ro_fdslen;
_Alignas(1) char ro_unused[40];
_Alignas(2) cloudabi_roflags_t ro_flags;
} cloudabi64_recv_out_t;
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_datalen) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_fdslen) == 8, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_unused) == 16, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_flags) == 56, "Incorrect layout");
_Static_assert(sizeof(cloudabi64_recv_out_t) == 64, "Incorrect layout");
_Static_assert(_Alignof(cloudabi64_recv_out_t) == 8, "Incorrect layout");
typedef struct {
_Alignas(8) uint64_t si_data;
_Alignas(8) uint64_t si_data_len;
_Alignas(8) uint64_t si_fds;
_Alignas(8) uint64_t si_fds_len;
_Alignas(2) cloudabi_msgflags_t si_flags;
_Alignas(2) cloudabi_siflags_t si_flags;
} cloudabi64_send_in_t;
_Static_assert(offsetof(cloudabi64_send_in_t, si_data) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_send_in_t, si_data_len) == 8, "Incorrect layout");
@ -201,21 +214,6 @@ _Static_assert(_Alignof(cloudabi64_tcb_t) == 8, "Incorrect layout");
typedef void cloudabi64_threadentry_t(cloudabi_tid_t tid, uint64_t aux);
typedef struct {
_Alignas(8) uint64_t ro_datalen;
_Alignas(8) uint64_t ro_fdslen;
_Alignas(2) cloudabi_sockaddr_t ro_sockname;
_Alignas(2) cloudabi_sockaddr_t ro_peername;
_Alignas(2) cloudabi_msgflags_t ro_flags;
} cloudabi64_recv_out_t;
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_datalen) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_fdslen) == 8, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_sockname) == 16, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_peername) == 36, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_recv_out_t, ro_flags) == 56, "Incorrect layout");
_Static_assert(sizeof(cloudabi64_recv_out_t) == 64, "Incorrect layout");
_Static_assert(_Alignof(cloudabi64_recv_out_t) == 8, "Incorrect layout");
typedef struct {
_Alignas(8) uint64_t entry_point;
_Alignas(8) uint64_t stack;

View File

@ -197,7 +197,6 @@ typedef uint8_t cloudabi_filetype_t;
#define CLOUDABI_FILETYPE_REGULAR_FILE 96
#define CLOUDABI_FILETYPE_SHARED_MEMORY 112
#define CLOUDABI_FILETYPE_SOCKET_DGRAM 128
#define CLOUDABI_FILETYPE_SOCKET_SEQPACKET 129
#define CLOUDABI_FILETYPE_SOCKET_STREAM 130
#define CLOUDABI_FILETYPE_SYMBOLIC_LINK 144
@ -237,13 +236,6 @@ typedef uint8_t cloudabi_msflags_t;
#define CLOUDABI_MS_INVALIDATE 0x02
#define CLOUDABI_MS_SYNC 0x04
typedef uint16_t cloudabi_msgflags_t;
#define CLOUDABI_MSG_CTRUNC 0x0001
#define CLOUDABI_MSG_EOR 0x0002
#define CLOUDABI_MSG_PEEK 0x0004
#define CLOUDABI_MSG_TRUNC 0x0008
#define CLOUDABI_MSG_WAITALL 0x0010
typedef uint32_t cloudabi_nthreads_t;
typedef uint16_t cloudabi_oflags_t;
@ -252,6 +244,10 @@ typedef uint16_t cloudabi_oflags_t;
#define CLOUDABI_O_EXCL 0x0004
#define CLOUDABI_O_TRUNC 0x0008
typedef uint16_t cloudabi_riflags_t;
#define CLOUDABI_SOCK_RECV_PEEK 0x0004
#define CLOUDABI_SOCK_RECV_WAITALL 0x0010
typedef uint64_t cloudabi_rights_t;
#define CLOUDABI_RIGHT_FD_DATASYNC 0x0000000000000001
#define CLOUDABI_RIGHT_FD_READ 0x0000000000000002
@ -295,11 +291,9 @@ typedef uint64_t cloudabi_rights_t;
#define CLOUDABI_RIGHT_SOCK_SHUTDOWN 0x0000008000000000
#define CLOUDABI_RIGHT_SOCK_STAT_GET 0x0000010000000000
typedef uint8_t cloudabi_sa_family_t;
#define CLOUDABI_AF_UNSPEC 0
#define CLOUDABI_AF_INET 1
#define CLOUDABI_AF_INET6 2
#define CLOUDABI_AF_UNIX 3
typedef uint16_t cloudabi_roflags_t;
#define CLOUDABI_SOCK_RECV_FDS_TRUNCATED 0x0001
#define CLOUDABI_SOCK_RECV_DATA_TRUNCATED 0x0008
typedef uint8_t cloudabi_scope_t;
#define CLOUDABI_SCOPE_PRIVATE 4
@ -309,6 +303,8 @@ typedef uint8_t cloudabi_sdflags_t;
#define CLOUDABI_SHUT_RD 0x01
#define CLOUDABI_SHUT_WR 0x02
typedef uint16_t cloudabi_siflags_t;
typedef uint8_t cloudabi_signal_t;
#define CLOUDABI_SIGABRT 1
#define CLOUDABI_SIGALRM 2
@ -428,34 +424,11 @@ _Static_assert(sizeof(cloudabi_lookup_t) == 8, "Incorrect layout");
_Static_assert(_Alignof(cloudabi_lookup_t) == 4, "Incorrect layout");
typedef struct {
_Alignas(1) cloudabi_sa_family_t sa_family;
union {
struct {
_Alignas(1) uint8_t addr[4];
_Alignas(2) uint16_t port;
} sa_inet;
struct {
_Alignas(1) uint8_t addr[16];
_Alignas(2) uint16_t port;
} sa_inet6;
};
} cloudabi_sockaddr_t;
_Static_assert(offsetof(cloudabi_sockaddr_t, sa_family) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi_sockaddr_t, sa_inet.addr) == 2, "Incorrect layout");
_Static_assert(offsetof(cloudabi_sockaddr_t, sa_inet.port) == 6, "Incorrect layout");
_Static_assert(offsetof(cloudabi_sockaddr_t, sa_inet6.addr) == 2, "Incorrect layout");
_Static_assert(offsetof(cloudabi_sockaddr_t, sa_inet6.port) == 18, "Incorrect layout");
_Static_assert(sizeof(cloudabi_sockaddr_t) == 20, "Incorrect layout");
_Static_assert(_Alignof(cloudabi_sockaddr_t) == 2, "Incorrect layout");
typedef struct {
_Alignas(2) cloudabi_sockaddr_t ss_sockname;
_Alignas(2) cloudabi_sockaddr_t ss_peername;
_Alignas(1) char ss_unused[40];
_Alignas(2) cloudabi_errno_t ss_error;
_Alignas(4) cloudabi_sstate_t ss_state;
} cloudabi_sockstat_t;
_Static_assert(offsetof(cloudabi_sockstat_t, ss_sockname) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi_sockstat_t, ss_peername) == 20, "Incorrect layout");
_Static_assert(offsetof(cloudabi_sockstat_t, ss_unused) == 0, "Incorrect layout");
_Static_assert(offsetof(cloudabi_sockstat_t, ss_error) == 40, "Incorrect layout");
_Static_assert(offsetof(cloudabi_sockstat_t, ss_state) == 44, "Incorrect layout");
_Static_assert(sizeof(cloudabi_sockstat_t) == 48, "Incorrect layout");

View File

@ -311,15 +311,9 @@ ENTRY(cloudabi_sys_mem_advise)
ret
END(cloudabi_sys_mem_advise)
ENTRY(cloudabi_sys_mem_lock)
mov w8, #33
svc #0
ret
END(cloudabi_sys_mem_lock)
ENTRY(cloudabi_sys_mem_map)
str x6, [sp, #-8]
mov w8, #34
mov w8, #33
svc #0
ldr x2, [sp, #-8]
b.cs 1f
@ -330,32 +324,26 @@ ENTRY(cloudabi_sys_mem_map)
END(cloudabi_sys_mem_map)
ENTRY(cloudabi_sys_mem_protect)
mov w8, #35
mov w8, #34
svc #0
ret
END(cloudabi_sys_mem_protect)
ENTRY(cloudabi_sys_mem_sync)
mov w8, #36
mov w8, #35
svc #0
ret
END(cloudabi_sys_mem_sync)
ENTRY(cloudabi_sys_mem_unlock)
mov w8, #37
svc #0
ret
END(cloudabi_sys_mem_unlock)
ENTRY(cloudabi_sys_mem_unmap)
mov w8, #38
mov w8, #36
svc #0
ret
END(cloudabi_sys_mem_unmap)
ENTRY(cloudabi_sys_poll)
str x3, [sp, #-8]
mov w8, #39
mov w8, #37
svc #0
ldr x2, [sp, #-8]
b.cs 1f
@ -367,7 +355,7 @@ END(cloudabi_sys_poll)
ENTRY(cloudabi_sys_poll_fd)
str x6, [sp, #-8]
mov w8, #40
mov w8, #38
svc #0
ldr x2, [sp, #-8]
b.cs 1f
@ -378,19 +366,19 @@ ENTRY(cloudabi_sys_poll_fd)
END(cloudabi_sys_poll_fd)
ENTRY(cloudabi_sys_proc_exec)
mov w8, #41
mov w8, #39
svc #0
ret
END(cloudabi_sys_proc_exec)
ENTRY(cloudabi_sys_proc_exit)
mov w8, #42
mov w8, #40
svc #0
END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
stp x0, x1, [sp, #-16]
mov w8, #43
mov w8, #41
svc #0
ldp x2, x3, [sp, #-16]
b.cs 1f
@ -402,20 +390,20 @@ ENTRY(cloudabi_sys_proc_fork)
END(cloudabi_sys_proc_fork)
ENTRY(cloudabi_sys_proc_raise)
mov w8, #44
mov w8, #42
svc #0
ret
END(cloudabi_sys_proc_raise)
ENTRY(cloudabi_sys_random_get)
mov w8, #45
mov w8, #43
svc #0
ret
END(cloudabi_sys_random_get)
ENTRY(cloudabi_sys_sock_accept)
str x2, [sp, #-8]
mov w8, #46
mov w8, #44
svc #0
ldr x2, [sp, #-8]
b.cs 1f
@ -426,50 +414,50 @@ ENTRY(cloudabi_sys_sock_accept)
END(cloudabi_sys_sock_accept)
ENTRY(cloudabi_sys_sock_bind)
mov w8, #47
mov w8, #45
svc #0
ret
END(cloudabi_sys_sock_bind)
ENTRY(cloudabi_sys_sock_connect)
mov w8, #48
mov w8, #46
svc #0
ret
END(cloudabi_sys_sock_connect)
ENTRY(cloudabi_sys_sock_listen)
mov w8, #49
mov w8, #47
svc #0
ret
END(cloudabi_sys_sock_listen)
ENTRY(cloudabi_sys_sock_recv)
mov w8, #50
mov w8, #48
svc #0
ret
END(cloudabi_sys_sock_recv)
ENTRY(cloudabi_sys_sock_send)
mov w8, #51
mov w8, #49
svc #0
ret
END(cloudabi_sys_sock_send)
ENTRY(cloudabi_sys_sock_shutdown)
mov w8, #52
mov w8, #50
svc #0
ret
END(cloudabi_sys_sock_shutdown)
ENTRY(cloudabi_sys_sock_stat_get)
mov w8, #53
mov w8, #51
svc #0
ret
END(cloudabi_sys_sock_stat_get)
ENTRY(cloudabi_sys_thread_create)
str x1, [sp, #-8]
mov w8, #54
mov w8, #52
svc #0
ldr x2, [sp, #-8]
b.cs 1f
@ -480,12 +468,12 @@ ENTRY(cloudabi_sys_thread_create)
END(cloudabi_sys_thread_create)
ENTRY(cloudabi_sys_thread_exit)
mov w8, #55
mov w8, #53
svc #0
END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
mov w8, #56
mov w8, #54
svc #0
ret
END(cloudabi_sys_thread_yield)

View File

@ -283,14 +283,8 @@ ENTRY(cloudabi_sys_mem_advise)
bx lr
END(cloudabi_sys_mem_advise)
ENTRY(cloudabi_sys_mem_lock)
mov ip, #33
swi 0
bx lr
END(cloudabi_sys_mem_lock)
ENTRY(cloudabi_sys_mem_map)
mov ip, #34
mov ip, #33
swi 0
ldrcc r2, [sp, #16]
strcc r0, [r2]
@ -299,32 +293,26 @@ ENTRY(cloudabi_sys_mem_map)
END(cloudabi_sys_mem_map)
ENTRY(cloudabi_sys_mem_protect)
mov ip, #35
mov ip, #34
swi 0
bx lr
END(cloudabi_sys_mem_protect)
ENTRY(cloudabi_sys_mem_sync)
mov ip, #36
mov ip, #35
swi 0
bx lr
END(cloudabi_sys_mem_sync)
ENTRY(cloudabi_sys_mem_unlock)
mov ip, #37
swi 0
bx lr
END(cloudabi_sys_mem_unlock)
ENTRY(cloudabi_sys_mem_unmap)
mov ip, #38
mov ip, #36
swi 0
bx lr
END(cloudabi_sys_mem_unmap)
ENTRY(cloudabi_sys_poll)
str r3, [sp, #-4]
mov ip, #39
mov ip, #37
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
@ -333,7 +321,7 @@ ENTRY(cloudabi_sys_poll)
END(cloudabi_sys_poll)
ENTRY(cloudabi_sys_poll_fd)
mov ip, #40
mov ip, #38
swi 0
ldrcc r2, [sp, #8]
strcc r0, [r2]
@ -342,20 +330,20 @@ ENTRY(cloudabi_sys_poll_fd)
END(cloudabi_sys_poll_fd)
ENTRY(cloudabi_sys_proc_exec)
mov ip, #41
mov ip, #39
swi 0
bx lr
END(cloudabi_sys_proc_exec)
ENTRY(cloudabi_sys_proc_exit)
mov ip, #42
mov ip, #40
swi 0
END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
str r0, [sp, #-4]
str r1, [sp, #-8]
mov ip, #43
mov ip, #41
swi 0
ldrcc r2, [sp, #-4]
ldrcc r3, [sp, #-8]
@ -366,20 +354,20 @@ ENTRY(cloudabi_sys_proc_fork)
END(cloudabi_sys_proc_fork)
ENTRY(cloudabi_sys_proc_raise)
mov ip, #44
mov ip, #42
swi 0
bx lr
END(cloudabi_sys_proc_raise)
ENTRY(cloudabi_sys_random_get)
mov ip, #45
mov ip, #43
swi 0
bx lr
END(cloudabi_sys_random_get)
ENTRY(cloudabi_sys_sock_accept)
str r2, [sp, #-4]
mov ip, #46
mov ip, #44
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
@ -388,50 +376,50 @@ ENTRY(cloudabi_sys_sock_accept)
END(cloudabi_sys_sock_accept)
ENTRY(cloudabi_sys_sock_bind)
mov ip, #47
mov ip, #45
swi 0
bx lr
END(cloudabi_sys_sock_bind)
ENTRY(cloudabi_sys_sock_connect)
mov ip, #48
mov ip, #46
swi 0
bx lr
END(cloudabi_sys_sock_connect)
ENTRY(cloudabi_sys_sock_listen)
mov ip, #49
mov ip, #47
swi 0
bx lr
END(cloudabi_sys_sock_listen)
ENTRY(cloudabi_sys_sock_recv)
mov ip, #50
mov ip, #48
swi 0
bx lr
END(cloudabi_sys_sock_recv)
ENTRY(cloudabi_sys_sock_send)
mov ip, #51
mov ip, #49
swi 0
bx lr
END(cloudabi_sys_sock_send)
ENTRY(cloudabi_sys_sock_shutdown)
mov ip, #52
mov ip, #50
swi 0
bx lr
END(cloudabi_sys_sock_shutdown)
ENTRY(cloudabi_sys_sock_stat_get)
mov ip, #53
mov ip, #51
swi 0
bx lr
END(cloudabi_sys_sock_stat_get)
ENTRY(cloudabi_sys_thread_create)
str r1, [sp, #-4]
mov ip, #54
mov ip, #52
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
@ -440,12 +428,12 @@ ENTRY(cloudabi_sys_thread_create)
END(cloudabi_sys_thread_create)
ENTRY(cloudabi_sys_thread_exit)
mov ip, #55
mov ip, #53
swi 0
END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
mov ip, #56
mov ip, #54
swi 0
bx lr
END(cloudabi_sys_thread_yield)

View File

@ -302,14 +302,8 @@ ENTRY(cloudabi_sys_mem_advise)
ret
END(cloudabi_sys_mem_advise)
ENTRY(cloudabi_sys_mem_lock)
mov $33, %eax
int $0x80
ret
END(cloudabi_sys_mem_lock)
ENTRY(cloudabi_sys_mem_map)
mov $34, %eax
mov $33, %eax
int $0x80
jc 1f
mov 32(%esp), %ecx
@ -320,31 +314,25 @@ ENTRY(cloudabi_sys_mem_map)
END(cloudabi_sys_mem_map)
ENTRY(cloudabi_sys_mem_protect)
mov $35, %eax
mov $34, %eax
int $0x80
ret
END(cloudabi_sys_mem_protect)
ENTRY(cloudabi_sys_mem_sync)
mov $36, %eax
mov $35, %eax
int $0x80
ret
END(cloudabi_sys_mem_sync)
ENTRY(cloudabi_sys_mem_unlock)
mov $37, %eax
int $0x80
ret
END(cloudabi_sys_mem_unlock)
ENTRY(cloudabi_sys_mem_unmap)
mov $38, %eax
mov $36, %eax
int $0x80
ret
END(cloudabi_sys_mem_unmap)
ENTRY(cloudabi_sys_poll)
mov $39, %eax
mov $37, %eax
int $0x80
jc 1f
mov 16(%esp), %ecx
@ -355,7 +343,7 @@ ENTRY(cloudabi_sys_poll)
END(cloudabi_sys_poll)
ENTRY(cloudabi_sys_poll_fd)
mov $40, %eax
mov $38, %eax
int $0x80
jc 1f
mov 28(%esp), %ecx
@ -366,18 +354,18 @@ ENTRY(cloudabi_sys_poll_fd)
END(cloudabi_sys_poll_fd)
ENTRY(cloudabi_sys_proc_exec)
mov $41, %eax
mov $39, %eax
int $0x80
ret
END(cloudabi_sys_proc_exec)
ENTRY(cloudabi_sys_proc_exit)
mov $42, %eax
mov $40, %eax
int $0x80
END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
mov $43, %eax
mov $41, %eax
int $0x80
jc 1f
mov 4(%esp), %ecx
@ -390,19 +378,19 @@ ENTRY(cloudabi_sys_proc_fork)
END(cloudabi_sys_proc_fork)
ENTRY(cloudabi_sys_proc_raise)
mov $44, %eax
mov $42, %eax
int $0x80
ret
END(cloudabi_sys_proc_raise)
ENTRY(cloudabi_sys_random_get)
mov $45, %eax
mov $43, %eax
int $0x80
ret
END(cloudabi_sys_random_get)
ENTRY(cloudabi_sys_sock_accept)
mov $46, %eax
mov $44, %eax
int $0x80
jc 1f
mov 12(%esp), %ecx
@ -413,49 +401,49 @@ ENTRY(cloudabi_sys_sock_accept)
END(cloudabi_sys_sock_accept)
ENTRY(cloudabi_sys_sock_bind)
mov $47, %eax
mov $45, %eax
int $0x80
ret
END(cloudabi_sys_sock_bind)
ENTRY(cloudabi_sys_sock_connect)
mov $48, %eax
mov $46, %eax
int $0x80
ret
END(cloudabi_sys_sock_connect)
ENTRY(cloudabi_sys_sock_listen)
mov $49, %eax
mov $47, %eax
int $0x80
ret
END(cloudabi_sys_sock_listen)
ENTRY(cloudabi_sys_sock_recv)
mov $50, %eax
mov $48, %eax
int $0x80
ret
END(cloudabi_sys_sock_recv)
ENTRY(cloudabi_sys_sock_send)
mov $51, %eax
mov $49, %eax
int $0x80
ret
END(cloudabi_sys_sock_send)
ENTRY(cloudabi_sys_sock_shutdown)
mov $52, %eax
mov $50, %eax
int $0x80
ret
END(cloudabi_sys_sock_shutdown)
ENTRY(cloudabi_sys_sock_stat_get)
mov $53, %eax
mov $51, %eax
int $0x80
ret
END(cloudabi_sys_sock_stat_get)
ENTRY(cloudabi_sys_thread_create)
mov $54, %eax
mov $52, %eax
int $0x80
jc 1f
mov 8(%esp), %ecx
@ -466,12 +454,12 @@ ENTRY(cloudabi_sys_thread_create)
END(cloudabi_sys_thread_create)
ENTRY(cloudabi_sys_thread_exit)
mov $55, %eax
mov $53, %eax
int $0x80
END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
mov $56, %eax
mov $54, %eax
int $0x80
ret
END(cloudabi_sys_thread_yield)

View File

@ -759,23 +759,6 @@ ENTRY(cloudabi_sys_mem_advise)
ret
END(cloudabi_sys_mem_advise)
ENTRY(cloudabi_sys_mem_lock)
push %ebp
mov %esp, %ebp
mov 8(%ebp), %ecx
mov %ecx, -16(%ebp)
movl $0, -12(%ebp)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $33, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
pop %ebp
ret
END(cloudabi_sys_mem_lock)
ENTRY(cloudabi_sys_mem_map)
push %ebp
mov %esp, %ebp
@ -795,7 +778,7 @@ ENTRY(cloudabi_sys_mem_map)
mov %ecx, -8(%ebp)
mov 32(%ebp), %ecx
mov %ecx, -4(%ebp)
mov $34, %eax
mov $33, %eax
mov %ebp, %ecx
sub $48, %ecx
int $0x80
@ -820,7 +803,7 @@ ENTRY(cloudabi_sys_mem_protect)
movl $0, -12(%ebp)
mov 16(%ebp), %ecx
mov %ecx, -8(%ebp)
mov $35, %eax
mov $34, %eax
mov %ebp, %ecx
sub $24, %ecx
int $0x80
@ -839,7 +822,7 @@ ENTRY(cloudabi_sys_mem_sync)
movl $0, -12(%ebp)
mov 16(%ebp), %ecx
mov %ecx, -8(%ebp)
mov $36, %eax
mov $35, %eax
mov %ebp, %ecx
sub $24, %ecx
int $0x80
@ -847,23 +830,6 @@ ENTRY(cloudabi_sys_mem_sync)
ret
END(cloudabi_sys_mem_sync)
ENTRY(cloudabi_sys_mem_unlock)
push %ebp
mov %esp, %ebp
mov 8(%ebp), %ecx
mov %ecx, -16(%ebp)
movl $0, -12(%ebp)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $37, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
pop %ebp
ret
END(cloudabi_sys_mem_unlock)
ENTRY(cloudabi_sys_mem_unmap)
push %ebp
mov %esp, %ebp
@ -873,7 +839,7 @@ ENTRY(cloudabi_sys_mem_unmap)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $38, %eax
mov $36, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -893,7 +859,7 @@ ENTRY(cloudabi_sys_poll)
mov 16(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $39, %eax
mov $37, %eax
mov %ebp, %ecx
sub $24, %ecx
int $0x80
@ -927,7 +893,7 @@ ENTRY(cloudabi_sys_poll_fd)
mov 28(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $40, %eax
mov $38, %eax
mov %ebp, %ecx
sub $48, %ecx
int $0x80
@ -958,7 +924,7 @@ ENTRY(cloudabi_sys_proc_exec)
mov 24(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $41, %eax
mov $39, %eax
mov %ebp, %ecx
sub $40, %ecx
int $0x80
@ -971,7 +937,7 @@ ENTRY(cloudabi_sys_proc_exit)
mov %esp, %ebp
mov 8(%ebp), %ecx
mov %ecx, -16(%ebp)
mov $42, %eax
mov $40, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -980,7 +946,7 @@ END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
push %ebp
mov %esp, %ebp
mov $43, %eax
mov $41, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -1002,7 +968,7 @@ ENTRY(cloudabi_sys_proc_raise)
mov %esp, %ebp
mov 8(%ebp), %ecx
mov %ecx, -16(%ebp)
mov $44, %eax
mov $42, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -1019,7 +985,7 @@ ENTRY(cloudabi_sys_random_get)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $45, %eax
mov $43, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -1035,7 +1001,7 @@ ENTRY(cloudabi_sys_sock_accept)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $46, %eax
mov $44, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -1062,7 +1028,7 @@ ENTRY(cloudabi_sys_sock_bind)
mov 20(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $47, %eax
mov $45, %eax
mov %ebp, %ecx
sub $32, %ecx
int $0x80
@ -1083,7 +1049,7 @@ ENTRY(cloudabi_sys_sock_connect)
mov 20(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $48, %eax
mov $46, %eax
mov %ebp, %ecx
sub $32, %ecx
int $0x80
@ -1098,7 +1064,7 @@ ENTRY(cloudabi_sys_sock_listen)
mov %ecx, -16(%ebp)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
mov $49, %eax
mov $47, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -1117,7 +1083,7 @@ ENTRY(cloudabi_sys_sock_recv)
mov 16(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $50, %eax
mov $48, %eax
mov %ebp, %ecx
sub $24, %ecx
int $0x80
@ -1136,7 +1102,7 @@ ENTRY(cloudabi_sys_sock_send)
mov 16(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
mov $51, %eax
mov $49, %eax
mov %ebp, %ecx
sub $24, %ecx
int $0x80
@ -1151,7 +1117,7 @@ ENTRY(cloudabi_sys_sock_shutdown)
mov %ecx, -16(%ebp)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
mov $52, %eax
mov $50, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -1169,7 +1135,7 @@ ENTRY(cloudabi_sys_sock_stat_get)
movl $0, -12(%ebp)
mov 16(%ebp), %ecx
mov %ecx, -8(%ebp)
mov $53, %eax
mov $51, %eax
mov %ebp, %ecx
sub $24, %ecx
int $0x80
@ -1183,7 +1149,7 @@ ENTRY(cloudabi_sys_thread_create)
mov 8(%ebp), %ecx
mov %ecx, -16(%ebp)
movl $0, -12(%ebp)
mov $54, %eax
mov $52, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -1205,7 +1171,7 @@ ENTRY(cloudabi_sys_thread_exit)
movl $0, -12(%ebp)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
mov $55, %eax
mov $53, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@ -1214,7 +1180,7 @@ END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
push %ebp
mov %esp, %ebp
mov $56, %eax
mov $54, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80

View File

@ -326,15 +326,9 @@ ENTRY(cloudabi_sys_mem_advise)
ret
END(cloudabi_sys_mem_advise)
ENTRY(cloudabi_sys_mem_lock)
mov $33, %eax
syscall
ret
END(cloudabi_sys_mem_lock)
ENTRY(cloudabi_sys_mem_map)
mov %rcx, %r10
mov $34, %eax
mov $33, %eax
syscall
jc 1f
mov 8(%rsp), %rcx
@ -345,32 +339,26 @@ ENTRY(cloudabi_sys_mem_map)
END(cloudabi_sys_mem_map)
ENTRY(cloudabi_sys_mem_protect)
mov $35, %eax
mov $34, %eax
syscall
ret
END(cloudabi_sys_mem_protect)
ENTRY(cloudabi_sys_mem_sync)
mov $36, %eax
mov $35, %eax
syscall
ret
END(cloudabi_sys_mem_sync)
ENTRY(cloudabi_sys_mem_unlock)
mov $37, %eax
syscall
ret
END(cloudabi_sys_mem_unlock)
ENTRY(cloudabi_sys_mem_unmap)
mov $38, %eax
mov $36, %eax
syscall
ret
END(cloudabi_sys_mem_unmap)
ENTRY(cloudabi_sys_poll)
push %rcx
mov $39, %eax
mov $37, %eax
syscall
pop %rcx
jc 1f
@ -382,7 +370,7 @@ END(cloudabi_sys_poll)
ENTRY(cloudabi_sys_poll_fd)
mov %rcx, %r10
mov $40, %eax
mov $38, %eax
syscall
jc 1f
mov 8(%rsp), %rcx
@ -394,20 +382,20 @@ END(cloudabi_sys_poll_fd)
ENTRY(cloudabi_sys_proc_exec)
mov %rcx, %r10
mov $41, %eax
mov $39, %eax
syscall
ret
END(cloudabi_sys_proc_exec)
ENTRY(cloudabi_sys_proc_exit)
mov $42, %eax
mov $40, %eax
syscall
END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
push %rdi
push %rsi
mov $43, %eax
mov $41, %eax
syscall
pop %rsi
pop %rcx
@ -420,20 +408,20 @@ ENTRY(cloudabi_sys_proc_fork)
END(cloudabi_sys_proc_fork)
ENTRY(cloudabi_sys_proc_raise)
mov $44, %eax
mov $42, %eax
syscall
ret
END(cloudabi_sys_proc_raise)
ENTRY(cloudabi_sys_random_get)
mov $45, %eax
mov $43, %eax
syscall
ret
END(cloudabi_sys_random_get)
ENTRY(cloudabi_sys_sock_accept)
push %rdx
mov $46, %eax
mov $44, %eax
syscall
pop %rcx
jc 1f
@ -445,51 +433,51 @@ END(cloudabi_sys_sock_accept)
ENTRY(cloudabi_sys_sock_bind)
mov %rcx, %r10
mov $47, %eax
mov $45, %eax
syscall
ret
END(cloudabi_sys_sock_bind)
ENTRY(cloudabi_sys_sock_connect)
mov %rcx, %r10
mov $48, %eax
mov $46, %eax
syscall
ret
END(cloudabi_sys_sock_connect)
ENTRY(cloudabi_sys_sock_listen)
mov $49, %eax
mov $47, %eax
syscall
ret
END(cloudabi_sys_sock_listen)
ENTRY(cloudabi_sys_sock_recv)
mov $50, %eax
mov $48, %eax
syscall
ret
END(cloudabi_sys_sock_recv)
ENTRY(cloudabi_sys_sock_send)
mov $51, %eax
mov $49, %eax
syscall
ret
END(cloudabi_sys_sock_send)
ENTRY(cloudabi_sys_sock_shutdown)
mov $52, %eax
mov $50, %eax
syscall
ret
END(cloudabi_sys_sock_shutdown)
ENTRY(cloudabi_sys_sock_stat_get)
mov $53, %eax
mov $51, %eax
syscall
ret
END(cloudabi_sys_sock_stat_get)
ENTRY(cloudabi_sys_thread_create)
push %rsi
mov $54, %eax
mov $52, %eax
syscall
pop %rcx
jc 1f
@ -500,12 +488,12 @@ ENTRY(cloudabi_sys_thread_create)
END(cloudabi_sys_thread_create)
ENTRY(cloudabi_sys_thread_exit)
mov $55, %eax
mov $53, %eax
syscall
END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
mov $56, %eax
mov $54, %eax
syscall
ret
END(cloudabi_sys_thread_yield)

View File

@ -204,11 +204,7 @@
size_t mapping_len, \
cloudabi_advice_t advice); }
33 AUE_NULL STD { void cloudabi_sys_mem_lock( \
const void *mapping, \
size_t mapping_len); }
34 AUE_NULL STD { void cloudabi_sys_mem_map( \
33 AUE_NULL STD { void cloudabi_sys_mem_map( \
void *addr, \
size_t len, \
cloudabi_mprot_t prot, \
@ -216,30 +212,26 @@
cloudabi_fd_t fd, \
cloudabi_filesize_t off); }
35 AUE_NULL STD { void cloudabi_sys_mem_protect( \
34 AUE_NULL STD { void cloudabi_sys_mem_protect( \
void *mapping, \
size_t mapping_len, \
cloudabi_mprot_t prot); }
36 AUE_NULL STD { void cloudabi_sys_mem_sync( \
35 AUE_NULL STD { void cloudabi_sys_mem_sync( \
void *mapping, \
size_t mapping_len, \
cloudabi_msflags_t flags); }
37 AUE_NULL STD { void cloudabi_sys_mem_unlock( \
const void *mapping, \
size_t mapping_len); }
38 AUE_NULL STD { void cloudabi_sys_mem_unmap( \
36 AUE_NULL STD { void cloudabi_sys_mem_unmap( \
void *mapping, \
size_t mapping_len); }
39 AUE_NULL STD { size_t cloudabi32_sys_poll( \
37 AUE_NULL STD { size_t cloudabi32_sys_poll( \
const cloudabi32_subscription_t *in, \
cloudabi32_event_t *out, \
size_t nsubscriptions); }
40 AUE_NULL STD { size_t cloudabi32_sys_poll_fd( \
38 AUE_NULL STD { size_t cloudabi32_sys_poll_fd( \
cloudabi_fd_t fd, \
const cloudabi32_subscription_t *in, \
size_t in_len, \
@ -247,69 +239,69 @@
size_t out_len, \
const cloudabi32_subscription_t *timeout); }
41 AUE_NULL STD { void cloudabi_sys_proc_exec( \
39 AUE_NULL STD { void cloudabi_sys_proc_exec( \
cloudabi_fd_t fd, \
const void *data, \
size_t data_len, \
const cloudabi_fd_t *fds, \
size_t fds_len); }
42 AUE_NULL STD { void cloudabi_sys_proc_exit( \
40 AUE_NULL STD { void cloudabi_sys_proc_exit( \
cloudabi_exitcode_t rval); }
43 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
41 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
44 AUE_NULL STD { void cloudabi_sys_proc_raise( \
42 AUE_NULL STD { void cloudabi_sys_proc_raise( \
cloudabi_signal_t sig); }
45 AUE_NULL STD { void cloudabi_sys_random_get( \
43 AUE_NULL STD { void cloudabi_sys_random_get( \
void *buf, \
size_t buf_len); }
46 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_sock_accept( \
44 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_sock_accept( \
cloudabi_fd_t sock, \
cloudabi_sockstat_t *buf); }
void *unused); }
47 AUE_NULL STD { void cloudabi_sys_sock_bind( \
45 AUE_NULL STD { void cloudabi_sys_sock_bind( \
cloudabi_fd_t sock, \
cloudabi_fd_t fd, \
const char *path, \
size_t path_len); }
48 AUE_NULL STD { void cloudabi_sys_sock_connect( \
46 AUE_NULL STD { void cloudabi_sys_sock_connect( \
cloudabi_fd_t sock, \
cloudabi_fd_t fd, \
const char *path, \
size_t path_len); }
49 AUE_NULL STD { void cloudabi_sys_sock_listen( \
47 AUE_NULL STD { void cloudabi_sys_sock_listen( \
cloudabi_fd_t sock, \
cloudabi_backlog_t backlog); }
50 AUE_NULL STD { void cloudabi32_sys_sock_recv( \
48 AUE_NULL STD { void cloudabi32_sys_sock_recv( \
cloudabi_fd_t sock, \
const cloudabi32_recv_in_t *in, \
cloudabi32_recv_out_t *out); }
51 AUE_NULL STD { void cloudabi32_sys_sock_send( \
49 AUE_NULL STD { void cloudabi32_sys_sock_send( \
cloudabi_fd_t sock, \
const cloudabi32_send_in_t *in, \
cloudabi32_send_out_t *out); }
52 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
50 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
cloudabi_fd_t sock, \
cloudabi_sdflags_t how); }
53 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
51 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
cloudabi_fd_t sock, \
cloudabi_sockstat_t *buf, \
cloudabi_ssflags_t flags); }
54 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
52 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
cloudabi32_threadattr_t *attr); }
55 AUE_NULL STD { void cloudabi_sys_thread_exit( \
53 AUE_NULL STD { void cloudabi_sys_thread_exit( \
cloudabi_lock_t *lock, \
cloudabi_scope_t scope); }
56 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
54 AUE_NULL STD { void cloudabi_sys_thread_yield(); }

View File

@ -204,11 +204,7 @@
size_t mapping_len, \
cloudabi_advice_t advice); }
33 AUE_NULL STD { void cloudabi_sys_mem_lock( \
const void *mapping, \
size_t mapping_len); }
34 AUE_NULL STD { void cloudabi_sys_mem_map( \
33 AUE_NULL STD { void cloudabi_sys_mem_map( \
void *addr, \
size_t len, \
cloudabi_mprot_t prot, \
@ -216,30 +212,26 @@
cloudabi_fd_t fd, \
cloudabi_filesize_t off); }
35 AUE_NULL STD { void cloudabi_sys_mem_protect( \
34 AUE_NULL STD { void cloudabi_sys_mem_protect( \
void *mapping, \
size_t mapping_len, \
cloudabi_mprot_t prot); }
36 AUE_NULL STD { void cloudabi_sys_mem_sync( \
35 AUE_NULL STD { void cloudabi_sys_mem_sync( \
void *mapping, \
size_t mapping_len, \
cloudabi_msflags_t flags); }
37 AUE_NULL STD { void cloudabi_sys_mem_unlock( \
const void *mapping, \
size_t mapping_len); }
38 AUE_NULL STD { void cloudabi_sys_mem_unmap( \
36 AUE_NULL STD { void cloudabi_sys_mem_unmap( \
void *mapping, \
size_t mapping_len); }
39 AUE_NULL STD { size_t cloudabi64_sys_poll( \
37 AUE_NULL STD { size_t cloudabi64_sys_poll( \
const cloudabi64_subscription_t *in, \
cloudabi64_event_t *out, \
size_t nsubscriptions); }
40 AUE_NULL STD { size_t cloudabi64_sys_poll_fd( \
38 AUE_NULL STD { size_t cloudabi64_sys_poll_fd( \
cloudabi_fd_t fd, \
const cloudabi64_subscription_t *in, \
size_t in_len, \
@ -247,69 +239,69 @@
size_t out_len, \
const cloudabi64_subscription_t *timeout); }
41 AUE_NULL STD { void cloudabi_sys_proc_exec( \
39 AUE_NULL STD { void cloudabi_sys_proc_exec( \
cloudabi_fd_t fd, \
const void *data, \
size_t data_len, \
const cloudabi_fd_t *fds, \
size_t fds_len); }
42 AUE_NULL STD { void cloudabi_sys_proc_exit( \
40 AUE_NULL STD { void cloudabi_sys_proc_exit( \
cloudabi_exitcode_t rval); }
43 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
41 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
44 AUE_NULL STD { void cloudabi_sys_proc_raise( \
42 AUE_NULL STD { void cloudabi_sys_proc_raise( \
cloudabi_signal_t sig); }
45 AUE_NULL STD { void cloudabi_sys_random_get( \
43 AUE_NULL STD { void cloudabi_sys_random_get( \
void *buf, \
size_t buf_len); }
46 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_sock_accept( \
44 AUE_NULL STD { cloudabi_fd_t cloudabi_sys_sock_accept( \
cloudabi_fd_t sock, \
cloudabi_sockstat_t *buf); }
void *unused); }
47 AUE_NULL STD { void cloudabi_sys_sock_bind( \
45 AUE_NULL STD { void cloudabi_sys_sock_bind( \
cloudabi_fd_t sock, \
cloudabi_fd_t fd, \
const char *path, \
size_t path_len); }
48 AUE_NULL STD { void cloudabi_sys_sock_connect( \
46 AUE_NULL STD { void cloudabi_sys_sock_connect( \
cloudabi_fd_t sock, \
cloudabi_fd_t fd, \
const char *path, \
size_t path_len); }
49 AUE_NULL STD { void cloudabi_sys_sock_listen( \
47 AUE_NULL STD { void cloudabi_sys_sock_listen( \
cloudabi_fd_t sock, \
cloudabi_backlog_t backlog); }
50 AUE_NULL STD { void cloudabi64_sys_sock_recv( \
48 AUE_NULL STD { void cloudabi64_sys_sock_recv( \
cloudabi_fd_t sock, \
const cloudabi64_recv_in_t *in, \
cloudabi64_recv_out_t *out); }
51 AUE_NULL STD { void cloudabi64_sys_sock_send( \
49 AUE_NULL STD { void cloudabi64_sys_sock_send( \
cloudabi_fd_t sock, \
const cloudabi64_send_in_t *in, \
cloudabi64_send_out_t *out); }
52 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
50 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
cloudabi_fd_t sock, \
cloudabi_sdflags_t how); }
53 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
51 AUE_NULL STD { void cloudabi_sys_sock_stat_get( \
cloudabi_fd_t sock, \
cloudabi_sockstat_t *buf, \
cloudabi_ssflags_t flags); }
54 AUE_NULL STD { cloudabi_tid_t cloudabi64_sys_thread_create( \
52 AUE_NULL STD { cloudabi_tid_t cloudabi64_sys_thread_create( \
cloudabi64_threadattr_t *attr); }
55 AUE_NULL STD { void cloudabi_sys_thread_exit( \
53 AUE_NULL STD { void cloudabi_sys_thread_exit( \
cloudabi_lock_t *lock, \
cloudabi_scope_t scope); }
56 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
54 AUE_NULL STD { void cloudabi_sys_thread_yield(); }

View File

@ -607,8 +607,6 @@ static struct syscall decoded_syscalls[] = {
.args = { { Ptr, 0 }, { CloudABIMFlags, 1 } } },
{ .name = "cloudabi_sys_mem_advise", .ret_type = 1, .nargs = 3,
.args = { { Ptr, 0 }, { Int, 1 }, { CloudABIAdvice, 2 } } },
{ .name = "cloudabi_sys_mem_lock", .ret_type = 1, .nargs = 2,
.args = { { Ptr, 0 }, { Int, 1 } } },
{ .name = "cloudabi_sys_mem_map", .ret_type = 1, .nargs = 6,
.args = { { Ptr, 0 }, { Int, 1 }, { CloudABIMProt, 2 },
{ CloudABIMFlags, 3 }, { Int, 4 }, { Int, 5 } } },
@ -616,8 +614,6 @@ static struct syscall decoded_syscalls[] = {
.args = { { Ptr, 0 }, { Int, 1 }, { CloudABIMProt, 2 } } },
{ .name = "cloudabi_sys_mem_sync", .ret_type = 1, .nargs = 3,
.args = { { Ptr, 0 }, { Int, 1 }, { CloudABIMSFlags, 2 } } },
{ .name = "cloudabi_sys_mem_unlock", .ret_type = 1, .nargs = 2,
.args = { { Ptr, 0 }, { Int, 1 } } },
{ .name = "cloudabi_sys_mem_unmap", .ret_type = 1, .nargs = 2,
.args = { { Ptr, 0 }, { Int, 1 } } },
{ .name = "cloudabi_sys_proc_exec", .ret_type = 1, .nargs = 5,
@ -796,8 +792,8 @@ static struct xlat cloudabi_filetype[] = {
X(FILETYPE_CHARACTER_DEVICE) X(FILETYPE_DIRECTORY)
X(FILETYPE_FIFO) X(FILETYPE_POLL) X(FILETYPE_PROCESS)
X(FILETYPE_REGULAR_FILE) X(FILETYPE_SHARED_MEMORY)
X(FILETYPE_SOCKET_DGRAM) X(FILETYPE_SOCKET_SEQPACKET)
X(FILETYPE_SOCKET_STREAM) X(FILETYPE_SYMBOLIC_LINK)
X(FILETYPE_SOCKET_DGRAM) X(FILETYPE_SOCKET_STREAM)
X(FILETYPE_SYMBOLIC_LINK)
XEND
};
@ -827,11 +823,6 @@ static struct xlat cloudabi_oflags[] = {
XEND
};
static struct xlat cloudabi_sa_family[] = {
X(AF_UNSPEC) X(AF_INET) X(AF_INET6) X(AF_UNIX)
XEND
};
static struct xlat cloudabi_sdflags[] = {
X(SHUT_RD) X(SHUT_WR)
XEND
@ -2279,10 +2270,6 @@ print_arg(struct syscall_args *sc, unsigned long *args, long *retval,
cloudabi_sockstat_t ss;
if (get_struct(pid, (void *)args[sc->offset], &ss, sizeof(ss))
!= -1) {
fprintf(fp, "{ %s, ", xlookup(
cloudabi_sa_family, ss.ss_sockname.sa_family));
fprintf(fp, "%s, ", xlookup(
cloudabi_sa_family, ss.ss_peername.sa_family));
fprintf(fp, "%s, ", xlookup(
cloudabi_errno, ss.ss_error));
fprintf(fp, "%s }", xlookup_bits(