freebsd-dev/sys/compat/cloudabi
Ed Schouten 6e5fcd99df Add a sysentvec for CloudABI on x86-64.
Summary:
For CloudABI we need to put two things on the stack of new processes:
the argument data (a binary blob; not strings) and a startup data
structure. The startup data structure contains interesting things such
as a pointer to the ELF program header, the thread ID of the initial
thread, a stack smashing protection canary, and a pointer to the
argument data.

Fetching system call arguments and setting the return value is similar
to FreeBSD. The only differences are that system call 0 does not exist
and that we call into cloudabi_convert_errno() to convert the error
code. We also need this function in a couple of other places, so we'd
better reuse it here.

Reviewers: dchagin, kib

Reviewed By: kib

Subscribers: imp

Differential Revision: https://reviews.freebsd.org/D3098
2015-07-16 18:24:06 +00:00
..
cloudabi_clock.c
cloudabi_errno.c Add a sysentvec for CloudABI on x86-64. 2015-07-16 18:24:06 +00:00
cloudabi_fd.c Use FDDUP_NORMAL instead of hardcoding value 0. 2015-07-11 18:53:30 +00:00
cloudabi_file.c Make posix_fallocate() and posix_fadvise() work. 2015-07-15 09:14:06 +00:00
cloudabi_futex.c
cloudabi_mem.c
cloudabi_proc.c Implement CloudABI's exec() call. 2015-07-16 07:05:42 +00:00
cloudabi_proto.h
cloudabi_random.c Implement the CloudABI random_get() system call. 2015-07-14 18:45:15 +00:00
cloudabi_sock.c Implement the trivial socket system calls: shutdown() and listen(). 2015-07-15 11:27:34 +00:00
cloudabi_syscalldefs.h
cloudabi_thread.c Implement thread_tcb_set() and thread_yield(). 2015-07-14 15:11:50 +00:00
cloudabi_util.h Add a sysentvec for CloudABI on x86-64. 2015-07-16 18:24:06 +00:00