aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/compat/cloudabi/cloudabi_fd.c11
-rw-r--r--sys/compat/cloudabi32/cloudabi32_poll.c62
-rw-r--r--sys/compat/cloudabi32/cloudabi32_proto.h10
-rw-r--r--sys/compat/cloudabi32/cloudabi32_syscall.h25
-rw-r--r--sys/compat/cloudabi32/cloudabi32_syscalls.c23
-rw-r--r--sys/compat/cloudabi32/cloudabi32_sysent.c23
-rw-r--r--sys/compat/cloudabi32/cloudabi32_systrace_args.c108
-rw-r--r--sys/compat/cloudabi64/cloudabi64_poll.c62
-rw-r--r--sys/compat/cloudabi64/cloudabi64_proto.h10
-rw-r--r--sys/compat/cloudabi64/cloudabi64_syscall.h25
-rw-r--r--sys/compat/cloudabi64/cloudabi64_syscalls.c23
-rw-r--r--sys/compat/cloudabi64/cloudabi64_sysent.c23
-rw-r--r--sys/compat/cloudabi64/cloudabi64_systrace_args.c108
-rw-r--r--sys/contrib/cloudabi/cloudabi32_types.h4
-rw-r--r--sys/contrib/cloudabi/cloudabi64_types.h4
-rw-r--r--sys/contrib/cloudabi/cloudabi_types_common.h13
-rw-r--r--sys/contrib/cloudabi/cloudabi_vdso_aarch64.S34
-rw-r--r--sys/contrib/cloudabi/cloudabi_vdso_armv6.S31
-rw-r--r--sys/contrib/cloudabi/cloudabi_vdso_i686.S33
-rw-r--r--sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S56
-rw-r--r--sys/contrib/cloudabi/cloudabi_vdso_x86_64.S34
-rw-r--r--sys/contrib/cloudabi/syscalls32.master30
-rw-r--r--sys/contrib/cloudabi/syscalls64.master30
23 files changed, 219 insertions, 563 deletions
diff --git a/sys/compat/cloudabi/cloudabi_fd.c b/sys/compat/cloudabi/cloudabi_fd.c
index 3f57da40d68f..0d15365180b0 100644
--- a/sys/compat/cloudabi/cloudabi_fd.c
+++ b/sys/compat/cloudabi/cloudabi_fd.c
@@ -73,9 +73,7 @@ __FBSDID("$FreeBSD$");
MAPPING(CLOUDABI_RIGHT_MEM_MAP, CAP_MMAP) \
MAPPING(CLOUDABI_RIGHT_MEM_MAP_EXEC, CAP_MMAP_X) \
MAPPING(CLOUDABI_RIGHT_POLL_FD_READWRITE, CAP_EVENT) \
- MAPPING(CLOUDABI_RIGHT_POLL_MODIFY, CAP_KQUEUE_CHANGE) \
MAPPING(CLOUDABI_RIGHT_POLL_PROC_TERMINATE, CAP_EVENT) \
- MAPPING(CLOUDABI_RIGHT_POLL_WAIT, CAP_KQUEUE_EVENT) \
MAPPING(CLOUDABI_RIGHT_PROC_EXEC, CAP_FEXECVE) \
MAPPING(CLOUDABI_RIGHT_SOCK_SHUTDOWN, CAP_SHUTDOWN) \
@@ -93,9 +91,6 @@ cloudabi_sys_fd_create1(struct thread *td,
struct filecaps fcaps = {};
switch (uap->type) {
- case CLOUDABI_FILETYPE_POLL:
- cap_rights_init(&fcaps.fc_rights, CAP_FSTAT, CAP_KQUEUE);
- return (kern_kqueue(td, 0, &fcaps));
case CLOUDABI_FILETYPE_SHARED_MEMORY:
cap_rights_init(&fcaps.fc_rights, CAP_FSTAT, CAP_FTRUNCATE,
CAP_MMAP_RWX);
@@ -201,8 +196,6 @@ cloudabi_convert_filetype(const struct file *fp)
switch (fp->f_type) {
case DTYPE_FIFO:
return (CLOUDABI_FILETYPE_SOCKET_STREAM);
- case DTYPE_KQUEUE:
- return (CLOUDABI_FILETYPE_POLL);
case DTYPE_PIPE:
return (CLOUDABI_FILETYPE_SOCKET_STREAM);
case DTYPE_PROCDESC:
@@ -316,10 +309,6 @@ cloudabi_remove_conflicting_rights(cloudabi_filetype_t filetype,
CLOUDABI_RIGHT_POLL_FD_READWRITE |
CLOUDABI_RIGHT_PROC_EXEC;
break;
- case CLOUDABI_FILETYPE_POLL:
- *base &= ~CLOUDABI_RIGHT_FILE_ADVISE;
- *inheriting = 0;
- break;
case CLOUDABI_FILETYPE_PROCESS:
*base &= ~(CLOUDABI_RIGHT_FILE_ADVISE |
CLOUDABI_RIGHT_POLL_FD_READWRITE);
diff --git a/sys/compat/cloudabi32/cloudabi32_poll.c b/sys/compat/cloudabi32/cloudabi32_poll.c
index dfffdc6c97e3..9bdd9ecb86a7 100644
--- a/sys/compat/cloudabi32/cloudabi32_poll.c
+++ b/sys/compat/cloudabi32/cloudabi32_poll.c
@@ -79,7 +79,6 @@ convert_signal(int sig)
struct cloudabi32_kevent_args {
const cloudabi32_subscription_t *in;
cloudabi32_event_t *out;
- bool once;
};
/* Converts CloudABI's subscription objects to FreeBSD's struct kevent. */
@@ -124,9 +123,7 @@ cloudabi32_kevent_copyin(void *arg, struct kevent *kevp, int count)
case CLOUDABI_EVENTTYPE_FD_READ:
kevp->filter = EVFILT_READ;
kevp->ident = sub.fd_readwrite.fd;
- if ((sub.fd_readwrite.flags &
- CLOUDABI_SUBSCRIPTION_FD_READWRITE_POLL) != 0)
- kevp->fflags = NOTE_FILE_POLL;
+ kevp->fflags = NOTE_FILE_POLL;
break;
case CLOUDABI_EVENTTYPE_FD_WRITE:
kevp->filter = EVFILT_WRITE;
@@ -138,24 +135,7 @@ cloudabi32_kevent_copyin(void *arg, struct kevent *kevp, int count)
kevp->fflags = NOTE_EXIT;
break;
}
- if (args->once) {
- /* Ignore flags. Simply use oneshot mode. */
- kevp->flags = EV_ADD | EV_ONESHOT;
- } else {
- /* Translate flags. */
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_ADD) != 0)
- kevp->flags |= EV_ADD;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_CLEAR) != 0)
- kevp->flags |= EV_CLEAR;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_DELETE) != 0)
- kevp->flags |= EV_DELETE;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_DISABLE) != 0)
- kevp->flags |= EV_DISABLE;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_ENABLE) != 0)
- kevp->flags |= EV_ENABLE;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_ONESHOT) != 0)
- kevp->flags |= EV_ONESHOT;
- }
+ kevp->flags = EV_ADD | EV_ONESHOT;
++kevp;
}
return (0);
@@ -238,7 +218,6 @@ cloudabi32_sys_poll(struct thread *td, struct cloudabi32_sys_poll_args *uap)
struct cloudabi32_kevent_args args = {
.in = uap->in,
.out = uap->out,
- .once = true,
};
struct kevent_copyops copyops = {
.k_copyin = cloudabi32_kevent_copyin,
@@ -369,40 +348,3 @@ cloudabi32_sys_poll(struct thread *td, struct cloudabi32_sys_poll_args *uap)
return (kern_kevent_anonymous(td, uap->nsubscriptions, &copyops));
}
-
-int
-cloudabi32_sys_poll_fd(struct thread *td,
- struct cloudabi32_sys_poll_fd_args *uap)
-{
- struct cloudabi32_kevent_args args = {
- .in = uap->in,
- .out = uap->out,
- .once = false,
- };
- struct kevent_copyops copyops = {
- .k_copyin = cloudabi32_kevent_copyin,
- .k_copyout = cloudabi32_kevent_copyout,
- .arg = &args,
- };
- cloudabi32_subscription_t subtimo;
- struct timespec timeout;
- int error;
-
- if (uap->timeout != NULL) {
- /* Poll with a timeout. */
- error = copyin(uap->timeout, &subtimo, sizeof(subtimo));
- if (error != 0)
- return (error);
- if (subtimo.type != CLOUDABI_EVENTTYPE_CLOCK ||
- subtimo.clock.flags != 0)
- return (EINVAL);
- timeout.tv_sec = subtimo.clock.timeout / 1000000000;
- timeout.tv_nsec = subtimo.clock.timeout % 1000000000;
- return (kern_kevent(td, uap->fd, uap->in_len, uap->out_len,
- &copyops, &timeout));
- } else {
- /* Poll without a timeout. */
- return (kern_kevent(td, uap->fd, uap->in_len, uap->out_len,
- &copyops, NULL));
- }
-}
diff --git a/sys/compat/cloudabi32/cloudabi32_proto.h b/sys/compat/cloudabi32/cloudabi32_proto.h
index 108bbbc2debb..16a072278267 100644
--- a/sys/compat/cloudabi32/cloudabi32_proto.h
+++ b/sys/compat/cloudabi32/cloudabi32_proto.h
@@ -227,14 +227,6 @@ struct cloudabi32_sys_poll_args {
char out_l_[PADL_(cloudabi32_event_t *)]; cloudabi32_event_t * out; char out_r_[PADR_(cloudabi32_event_t *)];
char nsubscriptions_l_[PADL_(size_t)]; size_t nsubscriptions; char nsubscriptions_r_[PADR_(size_t)];
};
-struct cloudabi32_sys_poll_fd_args {
- char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)];
- char in_l_[PADL_(const cloudabi32_subscription_t *)]; const cloudabi32_subscription_t * in; char in_r_[PADR_(const cloudabi32_subscription_t *)];
- char in_len_l_[PADL_(size_t)]; size_t in_len; char in_len_r_[PADR_(size_t)];
- char out_l_[PADL_(cloudabi32_event_t *)]; cloudabi32_event_t * out; char out_r_[PADR_(cloudabi32_event_t *)];
- char out_len_l_[PADL_(size_t)]; size_t out_len; char out_len_r_[PADR_(size_t)];
- char timeout_l_[PADL_(const cloudabi32_subscription_t *)]; const cloudabi32_subscription_t * timeout; char timeout_r_[PADR_(const cloudabi32_subscription_t *)];
-};
struct cloudabi_sys_proc_exec_args {
char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)];
char data_l_[PADL_(const void *)]; const void * data; char data_r_[PADR_(const void *)];
@@ -317,7 +309,6 @@ int cloudabi_sys_mem_protect(struct thread *, struct cloudabi_sys_mem_protect_ar
int cloudabi_sys_mem_sync(struct thread *, struct cloudabi_sys_mem_sync_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 *);
int cloudabi_sys_proc_exec(struct thread *, struct cloudabi_sys_proc_exec_args *);
int cloudabi_sys_proc_exit(struct thread *, struct cloudabi_sys_proc_exit_args *);
int cloudabi_sys_proc_fork(struct thread *, struct cloudabi_sys_proc_fork_args *);
@@ -403,7 +394,6 @@ int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_
#define CLOUDABI32_SYS_AUE_cloudabi_sys_mem_sync 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
#define CLOUDABI32_SYS_AUE_cloudabi_sys_proc_exec AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_proc_exit AUE_NULL
#define CLOUDABI32_SYS_AUE_cloudabi_sys_proc_fork AUE_NULL
diff --git a/sys/compat/cloudabi32/cloudabi32_syscall.h b/sys/compat/cloudabi32/cloudabi32_syscall.h
index ba0aa0ef71b9..a09dd1258041 100644
--- a/sys/compat/cloudabi32/cloudabi32_syscall.h
+++ b/sys/compat/cloudabi32/cloudabi32_syscall.h
@@ -43,16 +43,15 @@
#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_cloudabi32_sys_sock_recv 44
-#define CLOUDABI32_SYS_cloudabi32_sys_sock_send 45
-#define CLOUDABI32_SYS_cloudabi_sys_sock_shutdown 46
-#define CLOUDABI32_SYS_cloudabi32_sys_thread_create 47
-#define CLOUDABI32_SYS_cloudabi_sys_thread_exit 48
-#define CLOUDABI32_SYS_cloudabi_sys_thread_yield 49
-#define CLOUDABI32_SYS_MAXSYSCALL 50
+#define CLOUDABI32_SYS_cloudabi_sys_proc_exec 38
+#define CLOUDABI32_SYS_cloudabi_sys_proc_exit 39
+#define CLOUDABI32_SYS_cloudabi_sys_proc_fork 40
+#define CLOUDABI32_SYS_cloudabi_sys_proc_raise 41
+#define CLOUDABI32_SYS_cloudabi_sys_random_get 42
+#define CLOUDABI32_SYS_cloudabi32_sys_sock_recv 43
+#define CLOUDABI32_SYS_cloudabi32_sys_sock_send 44
+#define CLOUDABI32_SYS_cloudabi_sys_sock_shutdown 45
+#define CLOUDABI32_SYS_cloudabi32_sys_thread_create 46
+#define CLOUDABI32_SYS_cloudabi_sys_thread_exit 47
+#define CLOUDABI32_SYS_cloudabi_sys_thread_yield 48
+#define CLOUDABI32_SYS_MAXSYSCALL 49
diff --git a/sys/compat/cloudabi32/cloudabi32_syscalls.c b/sys/compat/cloudabi32/cloudabi32_syscalls.c
index dfe24e7cd6eb..95b4781e3310 100644
--- a/sys/compat/cloudabi32/cloudabi32_syscalls.c
+++ b/sys/compat/cloudabi32/cloudabi32_syscalls.c
@@ -44,16 +44,15 @@ const char *cloudabi32_syscallnames[] = {
"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 */
- "cloudabi32_sys_sock_recv", /* 44 = cloudabi32_sys_sock_recv */
- "cloudabi32_sys_sock_send", /* 45 = cloudabi32_sys_sock_send */
- "cloudabi_sys_sock_shutdown", /* 46 = cloudabi_sys_sock_shutdown */
- "cloudabi32_sys_thread_create", /* 47 = cloudabi32_sys_thread_create */
- "cloudabi_sys_thread_exit", /* 48 = cloudabi_sys_thread_exit */
- "cloudabi_sys_thread_yield", /* 49 = cloudabi_sys_thread_yield */
+ "cloudabi_sys_proc_exec", /* 38 = cloudabi_sys_proc_exec */
+ "cloudabi_sys_proc_exit", /* 39 = cloudabi_sys_proc_exit */
+ "cloudabi_sys_proc_fork", /* 40 = cloudabi_sys_proc_fork */
+ "cloudabi_sys_proc_raise", /* 41 = cloudabi_sys_proc_raise */
+ "cloudabi_sys_random_get", /* 42 = cloudabi_sys_random_get */
+ "cloudabi32_sys_sock_recv", /* 43 = cloudabi32_sys_sock_recv */
+ "cloudabi32_sys_sock_send", /* 44 = cloudabi32_sys_sock_send */
+ "cloudabi_sys_sock_shutdown", /* 45 = cloudabi_sys_sock_shutdown */
+ "cloudabi32_sys_thread_create", /* 46 = cloudabi32_sys_thread_create */
+ "cloudabi_sys_thread_exit", /* 47 = cloudabi_sys_thread_exit */
+ "cloudabi_sys_thread_yield", /* 48 = cloudabi_sys_thread_yield */
};
diff --git a/sys/compat/cloudabi32/cloudabi32_sysent.c b/sys/compat/cloudabi32/cloudabi32_sysent.c
index e48bcd1d509b..40380207d59b 100644
--- a/sys/compat/cloudabi32/cloudabi32_sysent.c
+++ b/sys/compat/cloudabi32/cloudabi32_sysent.c
@@ -52,16 +52,15 @@ struct sysent cloudabi32_sysent[] = {
{ 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(cloudabi32_sys_sock_recv_args), (sy_call_t *)cloudabi32_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = 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 }, /* 45 = 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 }, /* 46 = cloudabi_sys_sock_shutdown */
- { AS(cloudabi32_sys_thread_create_args), (sy_call_t *)cloudabi32_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = 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 }, /* 48 = cloudabi_sys_thread_exit */
- { 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi_sys_thread_yield */
+ { AS(cloudabi_sys_proc_exec_args), (sy_call_t *)cloudabi_sys_proc_exec, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 38 = 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 }, /* 39 = cloudabi_sys_proc_exit */
+ { 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 40 = 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 }, /* 41 = 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 }, /* 42 = cloudabi_sys_random_get */
+ { AS(cloudabi32_sys_sock_recv_args), (sy_call_t *)cloudabi32_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 43 = 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 }, /* 44 = 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 }, /* 45 = cloudabi_sys_sock_shutdown */
+ { AS(cloudabi32_sys_thread_create_args), (sy_call_t *)cloudabi32_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = 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 }, /* 47 = cloudabi_sys_thread_exit */
+ { 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi_sys_thread_yield */
};
diff --git a/sys/compat/cloudabi32/cloudabi32_systrace_args.c b/sys/compat/cloudabi32/cloudabi32_systrace_args.c
index 532ce4dd4a4f..4221955ab5e6 100644
--- a/sys/compat/cloudabi32/cloudabi32_systrace_args.c
+++ b/sys/compat/cloudabi32/cloudabi32_systrace_args.c
@@ -357,20 +357,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
- /* cloudabi32_sys_poll_fd */
- 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 * */
- uarg[2] = p->in_len; /* size_t */
- uarg[3] = (intptr_t) p->out; /* cloudabi32_event_t * */
- uarg[4] = p->out_len; /* size_t */
- uarg[5] = (intptr_t) p->timeout; /* const cloudabi32_subscription_t * */
- *n_args = 6;
- break;
- }
/* cloudabi_sys_proc_exec */
- case 39: {
+ case 38: {
struct cloudabi_sys_proc_exec_args *p = params;
iarg[0] = p->fd; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->data; /* const void * */
@@ -381,26 +369,26 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_proc_exit */
- case 40: {
+ case 39: {
struct cloudabi_sys_proc_exit_args *p = params;
iarg[0] = p->rval; /* cloudabi_exitcode_t */
*n_args = 1;
break;
}
/* cloudabi_sys_proc_fork */
- case 41: {
+ case 40: {
*n_args = 0;
break;
}
/* cloudabi_sys_proc_raise */
- case 42: {
+ case 41: {
struct cloudabi_sys_proc_raise_args *p = params;
iarg[0] = p->sig; /* cloudabi_signal_t */
*n_args = 1;
break;
}
/* cloudabi_sys_random_get */
- case 43: {
+ case 42: {
struct cloudabi_sys_random_get_args *p = params;
uarg[0] = (intptr_t) p->buf; /* void * */
uarg[1] = p->buf_len; /* size_t */
@@ -408,7 +396,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi32_sys_sock_recv */
- case 44: {
+ case 43: {
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 * */
@@ -417,7 +405,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi32_sys_sock_send */
- case 45: {
+ case 44: {
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 * */
@@ -426,7 +414,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_shutdown */
- case 46: {
+ case 45: {
struct cloudabi_sys_sock_shutdown_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->how; /* cloudabi_sdflags_t */
@@ -434,14 +422,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi32_sys_thread_create */
- case 47: {
+ case 46: {
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 48: {
+ case 47: {
struct cloudabi_sys_thread_exit_args *p = params;
uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
iarg[1] = p->scope; /* cloudabi_scope_t */
@@ -449,7 +437,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_thread_yield */
- case 49: {
+ case 48: {
*n_args = 0;
break;
}
@@ -1083,33 +1071,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
- /* cloudabi32_sys_poll_fd */
- case 38:
- switch(ndx) {
- case 0:
- p = "cloudabi_fd_t";
- break;
- case 1:
- p = "userland const cloudabi32_subscription_t *";
- break;
- case 2:
- p = "size_t";
- break;
- case 3:
- p = "userland cloudabi32_event_t *";
- break;
- case 4:
- p = "size_t";
- break;
- case 5:
- p = "userland const cloudabi32_subscription_t *";
- break;
- default:
- break;
- };
- break;
/* cloudabi_sys_proc_exec */
- case 39:
+ case 38:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@@ -1131,7 +1094,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_exit */
- case 40:
+ case 39:
switch(ndx) {
case 0:
p = "cloudabi_exitcode_t";
@@ -1141,10 +1104,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_fork */
- case 41:
+ case 40:
break;
/* cloudabi_sys_proc_raise */
- case 42:
+ case 41:
switch(ndx) {
case 0:
p = "cloudabi_signal_t";
@@ -1154,7 +1117,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_random_get */
- case 43:
+ case 42:
switch(ndx) {
case 0:
p = "userland void *";
@@ -1167,7 +1130,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi32_sys_sock_recv */
- case 44:
+ case 43:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@@ -1183,7 +1146,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi32_sys_sock_send */
- case 45:
+ case 44:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@@ -1199,7 +1162,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_shutdown */
- case 46:
+ case 45:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@@ -1212,7 +1175,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi32_sys_thread_create */
- case 47:
+ case 46:
switch(ndx) {
case 0:
p = "userland cloudabi32_threadattr_t *";
@@ -1222,7 +1185,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_thread_exit */
- case 48:
+ case 47:
switch(ndx) {
case 0:
p = "userland cloudabi_lock_t *";
@@ -1235,7 +1198,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_thread_yield */
- case 49:
+ case 48:
break;
default:
break;
@@ -1438,60 +1401,55 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "size_t";
break;
- /* cloudabi32_sys_poll_fd */
- case 38:
- if (ndx == 0 || ndx == 1)
- p = "size_t";
- break;
/* cloudabi_sys_proc_exec */
- case 39:
+ case 38:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_proc_exit */
- case 40:
+ case 39:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_proc_fork */
- case 41:
+ case 40:
/* cloudabi_sys_proc_raise */
- case 42:
+ case 41:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_random_get */
- case 43:
+ case 42:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi32_sys_sock_recv */
- case 44:
+ case 43:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi32_sys_sock_send */
- case 45:
+ case 44:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_shutdown */
- case 46:
+ case 45:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi32_sys_thread_create */
- case 47:
+ case 46:
if (ndx == 0 || ndx == 1)
p = "cloudabi_tid_t";
break;
/* cloudabi_sys_thread_exit */
- case 48:
+ case 47:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_thread_yield */
- case 49:
+ case 48:
default:
break;
};
diff --git a/sys/compat/cloudabi64/cloudabi64_poll.c b/sys/compat/cloudabi64/cloudabi64_poll.c
index 3df526598934..2b80d7af6b62 100644
--- a/sys/compat/cloudabi64/cloudabi64_poll.c
+++ b/sys/compat/cloudabi64/cloudabi64_poll.c
@@ -79,7 +79,6 @@ convert_signal(int sig)
struct cloudabi64_kevent_args {
const cloudabi64_subscription_t *in;
cloudabi64_event_t *out;
- bool once;
};
/* Converts CloudABI's subscription objects to FreeBSD's struct kevent. */
@@ -124,9 +123,7 @@ cloudabi64_kevent_copyin(void *arg, struct kevent *kevp, int count)
case CLOUDABI_EVENTTYPE_FD_READ:
kevp->filter = EVFILT_READ;
kevp->ident = sub.fd_readwrite.fd;
- if ((sub.fd_readwrite.flags &
- CLOUDABI_SUBSCRIPTION_FD_READWRITE_POLL) != 0)
- kevp->fflags = NOTE_FILE_POLL;
+ kevp->fflags = NOTE_FILE_POLL;
break;
case CLOUDABI_EVENTTYPE_FD_WRITE:
kevp->filter = EVFILT_WRITE;
@@ -138,24 +135,7 @@ cloudabi64_kevent_copyin(void *arg, struct kevent *kevp, int count)
kevp->fflags = NOTE_EXIT;
break;
}
- if (args->once) {
- /* Ignore flags. Simply use oneshot mode. */
- kevp->flags = EV_ADD | EV_ONESHOT;
- } else {
- /* Translate flags. */
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_ADD) != 0)
- kevp->flags |= EV_ADD;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_CLEAR) != 0)
- kevp->flags |= EV_CLEAR;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_DELETE) != 0)
- kevp->flags |= EV_DELETE;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_DISABLE) != 0)
- kevp->flags |= EV_DISABLE;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_ENABLE) != 0)
- kevp->flags |= EV_ENABLE;
- if ((sub.flags & CLOUDABI_SUBSCRIPTION_ONESHOT) != 0)
- kevp->flags |= EV_ONESHOT;
- }
+ kevp->flags = EV_ADD | EV_ONESHOT;
++kevp;
}
return (0);
@@ -238,7 +218,6 @@ cloudabi64_sys_poll(struct thread *td, struct cloudabi64_sys_poll_args *uap)
struct cloudabi64_kevent_args args = {
.in = uap->in,
.out = uap->out,
- .once = true,
};
struct kevent_copyops copyops = {
.k_copyin = cloudabi64_kevent_copyin,
@@ -369,40 +348,3 @@ cloudabi64_sys_poll(struct thread *td, struct cloudabi64_sys_poll_args *uap)
return (kern_kevent_anonymous(td, uap->nsubscriptions, &copyops));
}
-
-int
-cloudabi64_sys_poll_fd(struct thread *td,
- struct cloudabi64_sys_poll_fd_args *uap)
-{
- struct cloudabi64_kevent_args args = {
- .in = uap->in,
- .out = uap->out,
- .once = false,
- };
- struct kevent_copyops copyops = {
- .k_copyin = cloudabi64_kevent_copyin,
- .k_copyout = cloudabi64_kevent_copyout,
- .arg = &args,
- };
- cloudabi64_subscription_t subtimo;
- struct timespec timeout;
- int error;
-
- if (uap->timeout != NULL) {
- /* Poll with a timeout. */
- error = copyin(uap->timeout, &subtimo, sizeof(subtimo));
- if (error != 0)
- return (error);
- if (subtimo.type != CLOUDABI_EVENTTYPE_CLOCK ||
- subtimo.clock.flags != 0)
- return (EINVAL);
- timeout.tv_sec = subtimo.clock.timeout / 1000000000;
- timeout.tv_nsec = subtimo.clock.timeout % 1000000000;
- return (kern_kevent(td, uap->fd, uap->in_len, uap->out_len,
- &copyops, &timeout));
- } else {
- /* Poll without a timeout. */
- return (kern_kevent(td, uap->fd, uap->in_len, uap->out_len,
- &copyops, NULL));
- }
-}
diff --git a/sys/compat/cloudabi64/cloudabi64_proto.h b/sys/compat/cloudabi64/cloudabi64_proto.h
index 7adbea2d2d2e..2f0302f9aa11 100644
--- a/sys/compat/cloudabi64/cloudabi64_proto.h
+++ b/sys/compat/cloudabi64/cloudabi64_proto.h
@@ -227,14 +227,6 @@ struct cloudabi64_sys_poll_args {
char out_l_[PADL_(cloudabi64_event_t *)]; cloudabi64_event_t * out; char out_r_[PADR_(cloudabi64_event_t *)];
char nsubscriptions_l_[PADL_(size_t)]; size_t nsubscriptions; char nsubscriptions_r_[PADR_(size_t)];
};
-struct cloudabi64_sys_poll_fd_args {
- char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)];
- char in_l_[PADL_(const cloudabi64_subscription_t *)]; const cloudabi64_subscription_t * in; char in_r_[PADR_(const cloudabi64_subscription_t *)];
- char in_len_l_[PADL_(size_t)]; size_t in_len; char in_len_r_[PADR_(size_t)];
- char out_l_[PADL_(cloudabi64_event_t *)]; cloudabi64_event_t * out; char out_r_[PADR_(cloudabi64_event_t *)];
- char out_len_l_[PADL_(size_t)]; size_t out_len; char out_len_r_[PADR_(size_t)];
- char timeout_l_[PADL_(const cloudabi64_subscription_t *)]; const cloudabi64_subscription_t * timeout; char timeout_r_[PADR_(const cloudabi64_subscription_t *)];
-};
struct cloudabi_sys_proc_exec_args {
char fd_l_[PADL_(cloudabi_fd_t)]; cloudabi_fd_t fd; char fd_r_[PADR_(cloudabi_fd_t)];
char data_l_[PADL_(const void *)]; const void * data; char data_r_[PADR_(const void *)];
@@ -317,7 +309,6 @@ int cloudabi_sys_mem_protect(struct thread *, struct cloudabi_sys_mem_protect_ar
int cloudabi_sys_mem_sync(struct thread *, struct cloudabi_sys_mem_sync_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 *);
int cloudabi_sys_proc_exec(struct thread *, struct cloudabi_sys_proc_exec_args *);
int cloudabi_sys_proc_exit(struct thread *, struct cloudabi_sys_proc_exit_args *);
int cloudabi_sys_proc_fork(struct thread *, struct cloudabi_sys_proc_fork_args *);
@@ -403,7 +394,6 @@ int cloudabi_sys_thread_yield(struct thread *, struct cloudabi_sys_thread_yield_
#define CLOUDABI64_SYS_AUE_cloudabi_sys_mem_sync 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
#define CLOUDABI64_SYS_AUE_cloudabi_sys_proc_exec AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_proc_exit AUE_NULL
#define CLOUDABI64_SYS_AUE_cloudabi_sys_proc_fork AUE_NULL
diff --git a/sys/compat/cloudabi64/cloudabi64_syscall.h b/sys/compat/cloudabi64/cloudabi64_syscall.h
index af22a32eae90..091faf1fefe6 100644
--- a/sys/compat/cloudabi64/cloudabi64_syscall.h
+++ b/sys/compat/cloudabi64/cloudabi64_syscall.h
@@ -43,16 +43,15 @@
#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_cloudabi64_sys_sock_recv 44
-#define CLOUDABI64_SYS_cloudabi64_sys_sock_send 45
-#define CLOUDABI64_SYS_cloudabi_sys_sock_shutdown 46
-#define CLOUDABI64_SYS_cloudabi64_sys_thread_create 47
-#define CLOUDABI64_SYS_cloudabi_sys_thread_exit 48
-#define CLOUDABI64_SYS_cloudabi_sys_thread_yield 49
-#define CLOUDABI64_SYS_MAXSYSCALL 50
+#define CLOUDABI64_SYS_cloudabi_sys_proc_exec 38
+#define CLOUDABI64_SYS_cloudabi_sys_proc_exit 39
+#define CLOUDABI64_SYS_cloudabi_sys_proc_fork 40
+#define CLOUDABI64_SYS_cloudabi_sys_proc_raise 41
+#define CLOUDABI64_SYS_cloudabi_sys_random_get 42
+#define CLOUDABI64_SYS_cloudabi64_sys_sock_recv 43
+#define CLOUDABI64_SYS_cloudabi64_sys_sock_send 44
+#define CLOUDABI64_SYS_cloudabi_sys_sock_shutdown 45
+#define CLOUDABI64_SYS_cloudabi64_sys_thread_create 46
+#define CLOUDABI64_SYS_cloudabi_sys_thread_exit 47
+#define CLOUDABI64_SYS_cloudabi_sys_thread_yield 48
+#define CLOUDABI64_SYS_MAXSYSCALL 49
diff --git a/sys/compat/cloudabi64/cloudabi64_syscalls.c b/sys/compat/cloudabi64/cloudabi64_syscalls.c
index 101ed369b276..c5ce5f368b9b 100644
--- a/sys/compat/cloudabi64/cloudabi64_syscalls.c
+++ b/sys/compat/cloudabi64/cloudabi64_syscalls.c
@@ -44,16 +44,15 @@ const char *cloudabi64_syscallnames[] = {
"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 */
- "cloudabi64_sys_sock_recv", /* 44 = cloudabi64_sys_sock_recv */
- "cloudabi64_sys_sock_send", /* 45 = cloudabi64_sys_sock_send */
- "cloudabi_sys_sock_shutdown", /* 46 = cloudabi_sys_sock_shutdown */
- "cloudabi64_sys_thread_create", /* 47 = cloudabi64_sys_thread_create */
- "cloudabi_sys_thread_exit", /* 48 = cloudabi_sys_thread_exit */
- "cloudabi_sys_thread_yield", /* 49 = cloudabi_sys_thread_yield */
+ "cloudabi_sys_proc_exec", /* 38 = cloudabi_sys_proc_exec */
+ "cloudabi_sys_proc_exit", /* 39 = cloudabi_sys_proc_exit */
+ "cloudabi_sys_proc_fork", /* 40 = cloudabi_sys_proc_fork */
+ "cloudabi_sys_proc_raise", /* 41 = cloudabi_sys_proc_raise */
+ "cloudabi_sys_random_get", /* 42 = cloudabi_sys_random_get */
+ "cloudabi64_sys_sock_recv", /* 43 = cloudabi64_sys_sock_recv */
+ "cloudabi64_sys_sock_send", /* 44 = cloudabi64_sys_sock_send */
+ "cloudabi_sys_sock_shutdown", /* 45 = cloudabi_sys_sock_shutdown */
+ "cloudabi64_sys_thread_create", /* 46 = cloudabi64_sys_thread_create */
+ "cloudabi_sys_thread_exit", /* 47 = cloudabi_sys_thread_exit */
+ "cloudabi_sys_thread_yield", /* 48 = cloudabi_sys_thread_yield */
};
diff --git a/sys/compat/cloudabi64/cloudabi64_sysent.c b/sys/compat/cloudabi64/cloudabi64_sysent.c
index 3772cdbb2722..f1ef767662f2 100644
--- a/sys/compat/cloudabi64/cloudabi64_sysent.c
+++ b/sys/compat/cloudabi64/cloudabi64_sysent.c
@@ -52,16 +52,15 @@ struct sysent cloudabi64_sysent[] = {
{ 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(cloudabi64_sys_sock_recv_args), (sy_call_t *)cloudabi64_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 44 = 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 }, /* 45 = 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 }, /* 46 = cloudabi_sys_sock_shutdown */
- { AS(cloudabi64_sys_thread_create_args), (sy_call_t *)cloudabi64_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 47 = 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 }, /* 48 = cloudabi_sys_thread_exit */
- { 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 49 = cloudabi_sys_thread_yield */
+ { AS(cloudabi_sys_proc_exec_args), (sy_call_t *)cloudabi_sys_proc_exec, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 38 = 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 }, /* 39 = cloudabi_sys_proc_exit */
+ { 0, (sy_call_t *)cloudabi_sys_proc_fork, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 40 = 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 }, /* 41 = 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 }, /* 42 = cloudabi_sys_random_get */
+ { AS(cloudabi64_sys_sock_recv_args), (sy_call_t *)cloudabi64_sys_sock_recv, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 43 = 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 }, /* 44 = 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 }, /* 45 = cloudabi_sys_sock_shutdown */
+ { AS(cloudabi64_sys_thread_create_args), (sy_call_t *)cloudabi64_sys_thread_create, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 46 = 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 }, /* 47 = cloudabi_sys_thread_exit */
+ { 0, (sy_call_t *)cloudabi_sys_thread_yield, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 48 = cloudabi_sys_thread_yield */
};
diff --git a/sys/compat/cloudabi64/cloudabi64_systrace_args.c b/sys/compat/cloudabi64/cloudabi64_systrace_args.c
index 14f10ce64fb1..6dc8fc77163a 100644
--- a/sys/compat/cloudabi64/cloudabi64_systrace_args.c
+++ b/sys/compat/cloudabi64/cloudabi64_systrace_args.c
@@ -357,20 +357,8 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
- /* cloudabi64_sys_poll_fd */
- 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 * */
- uarg[2] = p->in_len; /* size_t */
- uarg[3] = (intptr_t) p->out; /* cloudabi64_event_t * */
- uarg[4] = p->out_len; /* size_t */
- uarg[5] = (intptr_t) p->timeout; /* const cloudabi64_subscription_t * */
- *n_args = 6;
- break;
- }
/* cloudabi_sys_proc_exec */
- case 39: {
+ case 38: {
struct cloudabi_sys_proc_exec_args *p = params;
iarg[0] = p->fd; /* cloudabi_fd_t */
uarg[1] = (intptr_t) p->data; /* const void * */
@@ -381,26 +369,26 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_proc_exit */
- case 40: {
+ case 39: {
struct cloudabi_sys_proc_exit_args *p = params;
iarg[0] = p->rval; /* cloudabi_exitcode_t */
*n_args = 1;
break;
}
/* cloudabi_sys_proc_fork */
- case 41: {
+ case 40: {
*n_args = 0;
break;
}
/* cloudabi_sys_proc_raise */
- case 42: {
+ case 41: {
struct cloudabi_sys_proc_raise_args *p = params;
iarg[0] = p->sig; /* cloudabi_signal_t */
*n_args = 1;
break;
}
/* cloudabi_sys_random_get */
- case 43: {
+ case 42: {
struct cloudabi_sys_random_get_args *p = params;
uarg[0] = (intptr_t) p->buf; /* void * */
uarg[1] = p->buf_len; /* size_t */
@@ -408,7 +396,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi64_sys_sock_recv */
- case 44: {
+ case 43: {
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 * */
@@ -417,7 +405,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi64_sys_sock_send */
- case 45: {
+ case 44: {
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 * */
@@ -426,7 +414,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_sock_shutdown */
- case 46: {
+ case 45: {
struct cloudabi_sys_sock_shutdown_args *p = params;
iarg[0] = p->sock; /* cloudabi_fd_t */
iarg[1] = p->how; /* cloudabi_sdflags_t */
@@ -434,14 +422,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi64_sys_thread_create */
- case 47: {
+ case 46: {
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 48: {
+ case 47: {
struct cloudabi_sys_thread_exit_args *p = params;
uarg[0] = (intptr_t) p->lock; /* cloudabi_lock_t * */
iarg[1] = p->scope; /* cloudabi_scope_t */
@@ -449,7 +437,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
break;
}
/* cloudabi_sys_thread_yield */
- case 49: {
+ case 48: {
*n_args = 0;
break;
}
@@ -1083,33 +1071,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
- /* cloudabi64_sys_poll_fd */
- case 38:
- switch(ndx) {
- case 0:
- p = "cloudabi_fd_t";
- break;
- case 1:
- p = "userland const cloudabi64_subscription_t *";
- break;
- case 2:
- p = "size_t";
- break;
- case 3:
- p = "userland cloudabi64_event_t *";
- break;
- case 4:
- p = "size_t";
- break;
- case 5:
- p = "userland const cloudabi64_subscription_t *";
- break;
- default:
- break;
- };
- break;
/* cloudabi_sys_proc_exec */
- case 39:
+ case 38:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@@ -1131,7 +1094,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_exit */
- case 40:
+ case 39:
switch(ndx) {
case 0:
p = "cloudabi_exitcode_t";
@@ -1141,10 +1104,10 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_proc_fork */
- case 41:
+ case 40:
break;
/* cloudabi_sys_proc_raise */
- case 42:
+ case 41:
switch(ndx) {
case 0:
p = "cloudabi_signal_t";
@@ -1154,7 +1117,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_random_get */
- case 43:
+ case 42:
switch(ndx) {
case 0:
p = "userland void *";
@@ -1167,7 +1130,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi64_sys_sock_recv */
- case 44:
+ case 43:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@@ -1183,7 +1146,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi64_sys_sock_send */
- case 45:
+ case 44:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@@ -1199,7 +1162,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_sock_shutdown */
- case 46:
+ case 45:
switch(ndx) {
case 0:
p = "cloudabi_fd_t";
@@ -1212,7 +1175,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi64_sys_thread_create */
- case 47:
+ case 46:
switch(ndx) {
case 0:
p = "userland cloudabi64_threadattr_t *";
@@ -1222,7 +1185,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_thread_exit */
- case 48:
+ case 47:
switch(ndx) {
case 0:
p = "userland cloudabi_lock_t *";
@@ -1235,7 +1198,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
};
break;
/* cloudabi_sys_thread_yield */
- case 49:
+ case 48:
break;
default:
break;
@@ -1438,60 +1401,55 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "size_t";
break;
- /* cloudabi64_sys_poll_fd */
- case 38:
- if (ndx == 0 || ndx == 1)
- p = "size_t";
- break;
/* cloudabi_sys_proc_exec */
- case 39:
+ case 38:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_proc_exit */
- case 40:
+ case 39:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_proc_fork */
- case 41:
+ case 40:
/* cloudabi_sys_proc_raise */
- case 42:
+ case 41:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_random_get */
- case 43:
+ case 42:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi64_sys_sock_recv */
- case 44:
+ case 43:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi64_sys_sock_send */
- case 45:
+ case 44:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_sock_shutdown */
- case 46:
+ case 45:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi64_sys_thread_create */
- case 47:
+ case 46:
if (ndx == 0 || ndx == 1)
p = "cloudabi_tid_t";
break;
/* cloudabi_sys_thread_exit */
- case 48:
+ case 47:
if (ndx == 0 || ndx == 1)
p = "void";
break;
/* cloudabi_sys_thread_yield */
- case 49:
+ case 48:
default:
break;
};
diff --git a/sys/contrib/cloudabi/cloudabi32_types.h b/sys/contrib/cloudabi/cloudabi32_types.h
index 95dac188e4fd..58f4d7cb9bb0 100644
--- a/sys/contrib/cloudabi/cloudabi32_types.h
+++ b/sys/contrib/cloudabi/cloudabi32_types.h
@@ -156,7 +156,7 @@ _Static_assert(_Alignof(cloudabi32_send_out_t) == 4, "Incorrect layout");
typedef struct {
_Alignas(8) cloudabi_userdata_t userdata;
- _Alignas(2) cloudabi_subflags_t flags;
+ _Alignas(2) uint16_t unused;
_Alignas(1) cloudabi_eventtype_t type;
union {
struct {
@@ -186,7 +186,7 @@ typedef struct {
};
} cloudabi32_subscription_t;
_Static_assert(offsetof(cloudabi32_subscription_t, userdata) == 0, "Incorrect layout");
-_Static_assert(offsetof(cloudabi32_subscription_t, flags) == 8, "Incorrect layout");
+_Static_assert(offsetof(cloudabi32_subscription_t, unused) == 8, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_subscription_t, type) == 10, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_subscription_t, clock.identifier) == 16, "Incorrect layout");
_Static_assert(offsetof(cloudabi32_subscription_t, clock.clock_id) == 24, "Incorrect layout");
diff --git a/sys/contrib/cloudabi/cloudabi64_types.h b/sys/contrib/cloudabi/cloudabi64_types.h
index bb624cf736c2..f45ad81e8b38 100644
--- a/sys/contrib/cloudabi/cloudabi64_types.h
+++ b/sys/contrib/cloudabi/cloudabi64_types.h
@@ -156,7 +156,7 @@ _Static_assert(_Alignof(cloudabi64_send_out_t) == 8, "Incorrect layout");
typedef struct {
_Alignas(8) cloudabi_userdata_t userdata;
- _Alignas(2) cloudabi_subflags_t flags;
+ _Alignas(2) uint16_t unused;
_Alignas(1) cloudabi_eventtype_t type;
union {
struct {
@@ -186,7 +186,7 @@ typedef struct {
};
} cloudabi64_subscription_t;
_Static_assert(offsetof(cloudabi64_subscription_t, userdata) == 0, "Incorrect layout");
-_Static_assert(offsetof(cloudabi64_subscription_t, flags) == 8, "Incorrect layout");
+_Static_assert(offsetof(cloudabi64_subscription_t, unused) == 8, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_subscription_t, type) == 10, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_subscription_t, clock.identifier) == 16, "Incorrect layout");
_Static_assert(offsetof(cloudabi64_subscription_t, clock.clock_id) == 24, "Incorrect layout");
diff --git a/sys/contrib/cloudabi/cloudabi_types_common.h b/sys/contrib/cloudabi/cloudabi_types_common.h
index 2f0c03d8da01..1c403b00d330 100644
--- a/sys/contrib/cloudabi/cloudabi_types_common.h
+++ b/sys/contrib/cloudabi/cloudabi_types_common.h
@@ -59,8 +59,6 @@ typedef uint32_t cloudabi_auxtype_t;
#define CLOUDABI_AT_SYSINFO_EHDR 262
#define CLOUDABI_AT_TID 261
-typedef uint32_t cloudabi_backlog_t;
-
typedef uint32_t cloudabi_clockid_t;
#define CLOUDABI_CLOCK_MONOTONIC 1
#define CLOUDABI_CLOCK_PROCESS_CPUTIME_ID 2
@@ -191,7 +189,6 @@ typedef uint8_t cloudabi_filetype_t;
#define CLOUDABI_FILETYPE_BLOCK_DEVICE 16
#define CLOUDABI_FILETYPE_CHARACTER_DEVICE 17
#define CLOUDABI_FILETYPE_DIRECTORY 32
-#define CLOUDABI_FILETYPE_POLL 64
#define CLOUDABI_FILETYPE_PROCESS 80
#define CLOUDABI_FILETYPE_REGULAR_FILE 96
#define CLOUDABI_FILETYPE_SHARED_MEMORY 112
@@ -276,9 +273,7 @@ typedef uint64_t cloudabi_rights_t;
#define CLOUDABI_RIGHT_MEM_MAP 0x0000000004000000
#define CLOUDABI_RIGHT_MEM_MAP_EXEC 0x0000000008000000
#define CLOUDABI_RIGHT_POLL_FD_READWRITE 0x0000000010000000
-#define CLOUDABI_RIGHT_POLL_MODIFY 0x0000000020000000
#define CLOUDABI_RIGHT_POLL_PROC_TERMINATE 0x0000000040000000
-#define CLOUDABI_RIGHT_POLL_WAIT 0x0000000080000000
#define CLOUDABI_RIGHT_PROC_EXEC 0x0000000100000000
#define CLOUDABI_RIGHT_SOCK_SHUTDOWN 0x0000008000000000
@@ -327,14 +322,6 @@ typedef uint8_t cloudabi_signal_t;
typedef uint16_t cloudabi_subclockflags_t;
#define CLOUDABI_SUBSCRIPTION_CLOCK_ABSTIME 0x0001
-typedef uint16_t cloudabi_subflags_t;
-#define CLOUDABI_SUBSCRIPTION_ADD 0x0001
-#define CLOUDABI_SUBSCRIPTION_CLEAR 0x0002
-#define CLOUDABI_SUBSCRIPTION_DELETE 0x0004
-#define CLOUDABI_SUBSCRIPTION_DISABLE 0x0008
-#define CLOUDABI_SUBSCRIPTION_ENABLE 0x0010
-#define CLOUDABI_SUBSCRIPTION_ONESHOT 0x0020
-
typedef uint16_t cloudabi_subrwflags_t;
#define CLOUDABI_SUBSCRIPTION_FD_READWRITE_POLL 0x0001
diff --git a/sys/contrib/cloudabi/cloudabi_vdso_aarch64.S b/sys/contrib/cloudabi/cloudabi_vdso_aarch64.S
index 7c98e5b3f005..eeccd74b93e1 100644
--- a/sys/contrib/cloudabi/cloudabi_vdso_aarch64.S
+++ b/sys/contrib/cloudabi/cloudabi_vdso_aarch64.S
@@ -353,32 +353,20 @@ ENTRY(cloudabi_sys_poll)
ret
END(cloudabi_sys_poll)
-ENTRY(cloudabi_sys_poll_fd)
- str x6, [sp, #-8]
- mov w8, #38
- svc #0
- ldr x2, [sp, #-8]
- b.cs 1f
- str x0, [x2]
- mov w0, wzr
-1:
- ret
-END(cloudabi_sys_poll_fd)
-
ENTRY(cloudabi_sys_proc_exec)
- mov w8, #39
+ mov w8, #38
svc #0
ret
END(cloudabi_sys_proc_exec)
ENTRY(cloudabi_sys_proc_exit)
- mov w8, #40
+ mov w8, #39
svc #0
END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
stp x0, x1, [sp, #-16]
- mov w8, #41
+ mov w8, #40
svc #0
ldp x2, x3, [sp, #-16]
b.cs 1f
@@ -390,38 +378,38 @@ ENTRY(cloudabi_sys_proc_fork)
END(cloudabi_sys_proc_fork)
ENTRY(cloudabi_sys_proc_raise)
- mov w8, #42
+ mov w8, #41
svc #0
ret
END(cloudabi_sys_proc_raise)
ENTRY(cloudabi_sys_random_get)
- mov w8, #43
+ mov w8, #42
svc #0
ret
END(cloudabi_sys_random_get)
ENTRY(cloudabi_sys_sock_recv)
- mov w8, #44
+ mov w8, #43
svc #0
ret
END(cloudabi_sys_sock_recv)
ENTRY(cloudabi_sys_sock_send)
- mov w8, #45
+ mov w8, #44
svc #0
ret
END(cloudabi_sys_sock_send)
ENTRY(cloudabi_sys_sock_shutdown)
- mov w8, #46
+ mov w8, #45
svc #0
ret
END(cloudabi_sys_sock_shutdown)
ENTRY(cloudabi_sys_thread_create)
str x1, [sp, #-8]
- mov w8, #47
+ mov w8, #46
svc #0
ldr x2, [sp, #-8]
b.cs 1f
@@ -432,12 +420,12 @@ ENTRY(cloudabi_sys_thread_create)
END(cloudabi_sys_thread_create)
ENTRY(cloudabi_sys_thread_exit)
- mov w8, #48
+ mov w8, #47
svc #0
END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
- mov w8, #49
+ mov w8, #48
svc #0
ret
END(cloudabi_sys_thread_yield)
diff --git a/sys/contrib/cloudabi/cloudabi_vdso_armv6.S b/sys/contrib/cloudabi/cloudabi_vdso_armv6.S
index 7ca7a39419d6..36aa8f018a3d 100644
--- a/sys/contrib/cloudabi/cloudabi_vdso_armv6.S
+++ b/sys/contrib/cloudabi/cloudabi_vdso_armv6.S
@@ -320,30 +320,21 @@ ENTRY(cloudabi_sys_poll)
bx lr
END(cloudabi_sys_poll)
-ENTRY(cloudabi_sys_poll_fd)
- mov ip, #38
- swi 0
- ldrcc r2, [sp, #8]
- strcc r0, [r2]
- movcc r0, $0
- bx lr
-END(cloudabi_sys_poll_fd)
-
ENTRY(cloudabi_sys_proc_exec)
- mov ip, #39
+ mov ip, #38
swi 0
bx lr
END(cloudabi_sys_proc_exec)
ENTRY(cloudabi_sys_proc_exit)
- mov ip, #40
+ mov ip, #39
swi 0
END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
str r0, [sp, #-4]
str r1, [sp, #-8]
- mov ip, #41
+ mov ip, #40
swi 0
ldrcc r2, [sp, #-4]
ldrcc r3, [sp, #-8]
@@ -354,38 +345,38 @@ ENTRY(cloudabi_sys_proc_fork)
END(cloudabi_sys_proc_fork)
ENTRY(cloudabi_sys_proc_raise)
- mov ip, #42
+ mov ip, #41
swi 0
bx lr
END(cloudabi_sys_proc_raise)
ENTRY(cloudabi_sys_random_get)
- mov ip, #43
+ mov ip, #42
swi 0
bx lr
END(cloudabi_sys_random_get)
ENTRY(cloudabi_sys_sock_recv)
- mov ip, #44
+ mov ip, #43
swi 0
bx lr
END(cloudabi_sys_sock_recv)
ENTRY(cloudabi_sys_sock_send)
- mov ip, #45
+ mov ip, #44
swi 0
bx lr
END(cloudabi_sys_sock_send)
ENTRY(cloudabi_sys_sock_shutdown)
- mov ip, #46
+ mov ip, #45
swi 0
bx lr
END(cloudabi_sys_sock_shutdown)
ENTRY(cloudabi_sys_thread_create)
str r1, [sp, #-4]
- mov ip, #47
+ mov ip, #46
swi 0
ldrcc r2, [sp, #-4]
strcc r0, [r2]
@@ -394,12 +385,12 @@ ENTRY(cloudabi_sys_thread_create)
END(cloudabi_sys_thread_create)
ENTRY(cloudabi_sys_thread_exit)
- mov ip, #48
+ mov ip, #47
swi 0
END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
- mov ip, #49
+ mov ip, #48
swi 0
bx lr
END(cloudabi_sys_thread_yield)
diff --git a/sys/contrib/cloudabi/cloudabi_vdso_i686.S b/sys/contrib/cloudabi/cloudabi_vdso_i686.S
index 135ea8d55bf1..6180ce90e82a 100644
--- a/sys/contrib/cloudabi/cloudabi_vdso_i686.S
+++ b/sys/contrib/cloudabi/cloudabi_vdso_i686.S
@@ -342,30 +342,19 @@ ENTRY(cloudabi_sys_poll)
ret
END(cloudabi_sys_poll)
-ENTRY(cloudabi_sys_poll_fd)
- mov $38, %eax
- int $0x80
- jc 1f
- mov 28(%esp), %ecx
- mov %eax, (%ecx)
- xor %eax, %eax
-1:
- ret
-END(cloudabi_sys_poll_fd)
-
ENTRY(cloudabi_sys_proc_exec)
- mov $39, %eax
+ mov $38, %eax
int $0x80
ret
END(cloudabi_sys_proc_exec)
ENTRY(cloudabi_sys_proc_exit)
- mov $40, %eax
+ mov $39, %eax
int $0x80
END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
- mov $41, %eax
+ mov $40, %eax
int $0x80
jc 1f
mov 4(%esp), %ecx
@@ -378,37 +367,37 @@ ENTRY(cloudabi_sys_proc_fork)
END(cloudabi_sys_proc_fork)
ENTRY(cloudabi_sys_proc_raise)
- mov $42, %eax
+ mov $41, %eax
int $0x80
ret
END(cloudabi_sys_proc_raise)
ENTRY(cloudabi_sys_random_get)
- mov $43, %eax
+ mov $42, %eax
int $0x80
ret
END(cloudabi_sys_random_get)
ENTRY(cloudabi_sys_sock_recv)
- mov $44, %eax
+ mov $43, %eax
int $0x80
ret
END(cloudabi_sys_sock_recv)
ENTRY(cloudabi_sys_sock_send)
- mov $45, %eax
+ mov $44, %eax
int $0x80
ret
END(cloudabi_sys_sock_send)
ENTRY(cloudabi_sys_sock_shutdown)
- mov $46, %eax
+ mov $45, %eax
int $0x80
ret
END(cloudabi_sys_sock_shutdown)
ENTRY(cloudabi_sys_thread_create)
- mov $47, %eax
+ mov $46, %eax
int $0x80
jc 1f
mov 8(%esp), %ecx
@@ -419,12 +408,12 @@ ENTRY(cloudabi_sys_thread_create)
END(cloudabi_sys_thread_create)
ENTRY(cloudabi_sys_thread_exit)
- mov $48, %eax
+ mov $47, %eax
int $0x80
END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
- mov $49, %eax
+ mov $48, %eax
int $0x80
ret
END(cloudabi_sys_thread_yield)
diff --git a/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S b/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
index 009f928d71e5..a64cf070a529 100644
--- a/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
+++ b/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S
@@ -873,40 +873,6 @@ ENTRY(cloudabi_sys_poll)
ret
END(cloudabi_sys_poll)
-ENTRY(cloudabi_sys_poll_fd)
- push %ebp
- mov %esp, %ebp
- mov 8(%ebp), %ecx
- mov %ecx, -48(%ebp)
- mov 12(%ebp), %ecx
- mov %ecx, -40(%ebp)
- movl $0, -36(%ebp)
- mov 16(%ebp), %ecx
- mov %ecx, -32(%ebp)
- movl $0, -28(%ebp)
- mov 20(%ebp), %ecx
- mov %ecx, -24(%ebp)
- movl $0, -20(%ebp)
- mov 24(%ebp), %ecx
- mov %ecx, -16(%ebp)
- movl $0, -12(%ebp)
- mov 28(%ebp), %ecx
- mov %ecx, -8(%ebp)
- movl $0, -4(%ebp)
- mov $38, %eax
- mov %ebp, %ecx
- sub $48, %ecx
- int $0x80
- test %eax, %eax
- jnz 1f
- mov 32(%ebp), %ecx
- mov -48(%ebp), %edx
- mov %edx, 0(%ecx)
-1:
- pop %ebp
- ret
-END(cloudabi_sys_poll_fd)
-
ENTRY(cloudabi_sys_proc_exec)
push %ebp
mov %esp, %ebp
@@ -924,7 +890,7 @@ ENTRY(cloudabi_sys_proc_exec)
mov 24(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
- mov $39, %eax
+ mov $38, %eax
mov %ebp, %ecx
sub $40, %ecx
int $0x80
@@ -937,7 +903,7 @@ ENTRY(cloudabi_sys_proc_exit)
mov %esp, %ebp
mov 8(%ebp), %ecx
mov %ecx, -16(%ebp)
- mov $40, %eax
+ mov $39, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@@ -946,7 +912,7 @@ END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
push %ebp
mov %esp, %ebp
- mov $41, %eax
+ mov $40, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@@ -968,7 +934,7 @@ ENTRY(cloudabi_sys_proc_raise)
mov %esp, %ebp
mov 8(%ebp), %ecx
mov %ecx, -16(%ebp)
- mov $42, %eax
+ mov $41, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@@ -985,7 +951,7 @@ ENTRY(cloudabi_sys_random_get)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
- mov $43, %eax
+ mov $42, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@@ -1004,7 +970,7 @@ ENTRY(cloudabi_sys_sock_recv)
mov 16(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
- mov $44, %eax
+ mov $43, %eax
mov %ebp, %ecx
sub $24, %ecx
int $0x80
@@ -1023,7 +989,7 @@ ENTRY(cloudabi_sys_sock_send)
mov 16(%ebp), %ecx
mov %ecx, -8(%ebp)
movl $0, -4(%ebp)
- mov $45, %eax
+ mov $44, %eax
mov %ebp, %ecx
sub $24, %ecx
int $0x80
@@ -1038,7 +1004,7 @@ ENTRY(cloudabi_sys_sock_shutdown)
mov %ecx, -16(%ebp)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
- mov $46, %eax
+ mov $45, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@@ -1052,7 +1018,7 @@ ENTRY(cloudabi_sys_thread_create)
mov 8(%ebp), %ecx
mov %ecx, -16(%ebp)
movl $0, -12(%ebp)
- mov $47, %eax
+ mov $46, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@@ -1074,7 +1040,7 @@ ENTRY(cloudabi_sys_thread_exit)
movl $0, -12(%ebp)
mov 12(%ebp), %ecx
mov %ecx, -8(%ebp)
- mov $48, %eax
+ mov $47, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
@@ -1083,7 +1049,7 @@ END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
push %ebp
mov %esp, %ebp
- mov $49, %eax
+ mov $48, %eax
mov %ebp, %ecx
sub $16, %ecx
int $0x80
diff --git a/sys/contrib/cloudabi/cloudabi_vdso_x86_64.S b/sys/contrib/cloudabi/cloudabi_vdso_x86_64.S
index 217bd1cbea0a..4703597f7a62 100644
--- a/sys/contrib/cloudabi/cloudabi_vdso_x86_64.S
+++ b/sys/contrib/cloudabi/cloudabi_vdso_x86_64.S
@@ -368,34 +368,22 @@ ENTRY(cloudabi_sys_poll)
ret
END(cloudabi_sys_poll)
-ENTRY(cloudabi_sys_poll_fd)
- mov %rcx, %r10
- mov $38, %eax
- syscall
- jc 1f
- mov 8(%rsp), %rcx
- mov %rax, (%rcx)
- xor %eax, %eax
-1:
- ret
-END(cloudabi_sys_poll_fd)
-
ENTRY(cloudabi_sys_proc_exec)
mov %rcx, %r10
- mov $39, %eax
+ mov $38, %eax
syscall
ret
END(cloudabi_sys_proc_exec)
ENTRY(cloudabi_sys_proc_exit)
- mov $40, %eax
+ mov $39, %eax
syscall
END(cloudabi_sys_proc_exit)
ENTRY(cloudabi_sys_proc_fork)
push %rdi
push %rsi
- mov $41, %eax
+ mov $40, %eax
syscall
pop %rsi
pop %rcx
@@ -408,38 +396,38 @@ ENTRY(cloudabi_sys_proc_fork)
END(cloudabi_sys_proc_fork)
ENTRY(cloudabi_sys_proc_raise)
- mov $42, %eax
+ mov $41, %eax
syscall
ret
END(cloudabi_sys_proc_raise)
ENTRY(cloudabi_sys_random_get)
- mov $43, %eax
+ mov $42, %eax
syscall
ret
END(cloudabi_sys_random_get)
ENTRY(cloudabi_sys_sock_recv)
- mov $44, %eax
+ mov $43, %eax
syscall
ret
END(cloudabi_sys_sock_recv)
ENTRY(cloudabi_sys_sock_send)
- mov $45, %eax
+ mov $44, %eax
syscall
ret
END(cloudabi_sys_sock_send)
ENTRY(cloudabi_sys_sock_shutdown)
- mov $46, %eax
+ mov $45, %eax
syscall
ret
END(cloudabi_sys_sock_shutdown)
ENTRY(cloudabi_sys_thread_create)
push %rsi
- mov $47, %eax
+ mov $46, %eax
syscall
pop %rcx
jc 1f
@@ -450,12 +438,12 @@ ENTRY(cloudabi_sys_thread_create)
END(cloudabi_sys_thread_create)
ENTRY(cloudabi_sys_thread_exit)
- mov $48, %eax
+ mov $47, %eax
syscall
END(cloudabi_sys_thread_exit)
ENTRY(cloudabi_sys_thread_yield)
- mov $49, %eax
+ mov $48, %eax
syscall
ret
END(cloudabi_sys_thread_yield)
diff --git a/sys/contrib/cloudabi/syscalls32.master b/sys/contrib/cloudabi/syscalls32.master
index 6ed39ec7ed98..0d6eb94fb0d3 100644
--- a/sys/contrib/cloudabi/syscalls32.master
+++ b/sys/contrib/cloudabi/syscalls32.master
@@ -231,52 +231,44 @@
cloudabi32_event_t *out, \
size_t nsubscriptions); }
-38 AUE_NULL STD { size_t cloudabi32_sys_poll_fd( \
- cloudabi_fd_t fd, \
- const cloudabi32_subscription_t *in, \
- size_t in_len, \
- cloudabi32_event_t *out, \
- size_t out_len, \
- const cloudabi32_subscription_t *timeout); }
-
-39 AUE_NULL STD { void cloudabi_sys_proc_exec( \
+38 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); }
-40 AUE_NULL STD { void cloudabi_sys_proc_exit( \
+39 AUE_NULL STD { void cloudabi_sys_proc_exit( \
cloudabi_exitcode_t rval); }
-41 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
+40 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
-42 AUE_NULL STD { void cloudabi_sys_proc_raise( \
+41 AUE_NULL STD { void cloudabi_sys_proc_raise( \
cloudabi_signal_t sig); }
-43 AUE_NULL STD { void cloudabi_sys_random_get( \
+42 AUE_NULL STD { void cloudabi_sys_random_get( \
void *buf, \
size_t buf_len); }
-44 AUE_NULL STD { void cloudabi32_sys_sock_recv( \
+43 AUE_NULL STD { void cloudabi32_sys_sock_recv( \
cloudabi_fd_t sock, \
const cloudabi32_recv_in_t *in, \
cloudabi32_recv_out_t *out); }
-45 AUE_NULL STD { void cloudabi32_sys_sock_send( \
+44 AUE_NULL STD { void cloudabi32_sys_sock_send( \
cloudabi_fd_t sock, \
const cloudabi32_send_in_t *in, \
cloudabi32_send_out_t *out); }
-46 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
+45 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
cloudabi_fd_t sock, \
cloudabi_sdflags_t how); }
-47 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
+46 AUE_NULL STD { cloudabi_tid_t cloudabi32_sys_thread_create( \
cloudabi32_threadattr_t *attr); }
-48 AUE_NULL STD { void cloudabi_sys_thread_exit( \
+47 AUE_NULL STD { void cloudabi_sys_thread_exit( \
cloudabi_lock_t *lock, \
cloudabi_scope_t scope); }
-49 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
+48 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
diff --git a/sys/contrib/cloudabi/syscalls64.master b/sys/contrib/cloudabi/syscalls64.master
index 81a77dcbefd1..678598aff338 100644
--- a/sys/contrib/cloudabi/syscalls64.master
+++ b/sys/contrib/cloudabi/syscalls64.master
@@ -231,52 +231,44 @@
cloudabi64_event_t *out, \
size_t nsubscriptions); }
-38 AUE_NULL STD { size_t cloudabi64_sys_poll_fd( \
- cloudabi_fd_t fd, \
- const cloudabi64_subscription_t *in, \
- size_t in_len, \
- cloudabi64_event_t *out, \
- size_t out_len, \
- const cloudabi64_subscription_t *timeout); }
-
-39 AUE_NULL STD { void cloudabi_sys_proc_exec( \
+38 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); }
-40 AUE_NULL STD { void cloudabi_sys_proc_exit( \
+39 AUE_NULL STD { void cloudabi_sys_proc_exit( \
cloudabi_exitcode_t rval); }
-41 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
+40 AUE_NULL STD { void cloudabi_sys_proc_fork(); }
-42 AUE_NULL STD { void cloudabi_sys_proc_raise( \
+41 AUE_NULL STD { void cloudabi_sys_proc_raise( \
cloudabi_signal_t sig); }
-43 AUE_NULL STD { void cloudabi_sys_random_get( \
+42 AUE_NULL STD { void cloudabi_sys_random_get( \
void *buf, \
size_t buf_len); }
-44 AUE_NULL STD { void cloudabi64_sys_sock_recv( \
+43 AUE_NULL STD { void cloudabi64_sys_sock_recv( \
cloudabi_fd_t sock, \
const cloudabi64_recv_in_t *in, \
cloudabi64_recv_out_t *out); }
-45 AUE_NULL STD { void cloudabi64_sys_sock_send( \
+44 AUE_NULL STD { void cloudabi64_sys_sock_send( \
cloudabi_fd_t sock, \
const cloudabi64_send_in_t *in, \
cloudabi64_send_out_t *out); }
-46 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
+45 AUE_NULL STD { void cloudabi_sys_sock_shutdown( \
cloudabi_fd_t sock, \
cloudabi_sdflags_t how); }
-47 AUE_NULL STD { cloudabi_tid_t cloudabi64_sys_thread_create( \
+46 AUE_NULL STD { cloudabi_tid_t cloudabi64_sys_thread_create( \
cloudabi64_threadattr_t *attr); }
-48 AUE_NULL STD { void cloudabi_sys_thread_exit( \
+47 AUE_NULL STD { void cloudabi_sys_thread_exit( \
cloudabi_lock_t *lock, \
cloudabi_scope_t scope); }
-49 AUE_NULL STD { void cloudabi_sys_thread_yield(); }
+48 AUE_NULL STD { void cloudabi_sys_thread_yield(); }