History log of /seL4-camkes-master/projects/camkes-tool/libsel4camkes/src/sys_io.c
Revision Date Author Comments
# 19c9d5df 16-Jul-2019 Yu Hou <Yu.Hou@data61.csiro.au>

Trivial: style fix

make the style checker happy


# c12bb3fb 22-May-2019 Yu Hou <Yu.Hou@data61.csiro.au>

camkes-tool: explicitly include gen_config.h

explicitly include gen_config.h since there is going to be
no more global configuration lib


# 0bf0b176 04-Jun-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

Redirect camkes_sys_write to writev

writev is possibly implemented even if there is no original_sys_write and sowe fall
back to that instead of returning ENOSYS. It is assumed that no one will implement
writev by calling write.


# 864a33ae 04-Jun-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

Call original __NR_write if it exists

Currently the core libsel4muslcsys does not implement __NR_write and so original_sys_write
will be NULL, but it is much less fragile to confirm this at run time instead of assuming.


# 46bf3f70 04-Jun-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

Guard original syscall invocations

Instead of blindly calling the original_sys_* functions, check to make sure that an
originaly syscall was actually overridden when we installed ours.


# 8b2ec3e6 20-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix licenses


# c555e238 07-May-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

libsel4camkes: use va_copy when calling original syscalls

va_arg mutates the original va_list so a copy needs to be made before calling va_arg


# 93b78726 01-Feb-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

Add dependency on muslcsys and remove duplication of syscalls

libsel4camkes previously had its own implementations of all muslc syscalls. These
syscalls were originally copied from libsel4muslcsys and modified / added to.

This change modifies the syscalls in the following ways
* Syscalls that were completely duplicated have been removed in favour of the
muslcsys ones
* Some of the IO syscalls were extended in CAmkES and the run time overriding
is used to provide the extended behaviour and fall back to the libsel4muslcsys
implementation for the remaining behaviour
* exit, thread and related syscalls are completely overriden in favour of CAmkES ones
* memory related syscalls (brk, mmap, munmap, etc) are removed in favour of
libsel4muslcsys ones. The ability for CAmkES to control the heap allocation is now
dependent upon libsel4muslcsys havings its heap set to 0 so that it switches into
dynamic mode, at which point CAmkES can install its own heap
* Remaining syscalls are not present in libsel4muslcsys and their implementation
is left unchanged
All syscalls have their names changed to have a camkes_ prefix to prevent symbol
name clashes
This change removes any duplicate syscalls, and uses the run time overriding of
syscalls to extend the IO syscalls


# 00f3480e 07-Dec-2016 Stephen Sherratt <Stephen.Sherratt@data61.csiro.au>

libsel4camkes: Renamed sock_data_data to sock_data

Some socket functions depend on the caller having a dataport interface
named "sock_data". In older version of camkes, dataport templates would
generate a variable named <interface>_data, and a separate variable
named <interface> which would be a pointer to the former. This is no
longer the case. This changes the socket functions to use the
<interface> variable (sock_data) instead.


# 073d3ee6 21-Jun-2016 Matthew Fernandez <matthew.fernandez@nicta.com.au>

Move all code from libsel4muslccamkes into libsel4camkes.

This commit consolidates all the code from these libraries into libsel4camkes.
The boundary between these libraries has been increasingly blurred, and
currently neither can be used without the other. Future planned changes
introduce further complex dependencies between them and it was seen to be
advantageous to just collapse both into a single library. Current directory
structure should leave all legacy projects unimpacted by this commit.

JIRA: CAMKES-513