#
781d6189 |
|
21-Sep-2020 |
Curtis Millar <curtis.millar@data61.csiro.au> |
Constructors between vsyscall init and libc init Add a region for constructors to be placed between __sysinfo being initialised to sel4_vsyscall and libc_init to allow a user-level implementation to set up virtual memory syscalls use by libc_init whilst depending on a functioning implementation of malloc. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
|
#
f39d783e |
|
20-Sep-2020 |
Curtis Millar <curtis.millar@data61.csiro.au> |
Force GCC to find new location of TLS base GCC will sometimes optimise accesses to TLS across function calls assuming that the TLS base address has not been changed and thus none of the TLS variables have been relocated. Given initialising musl libc explicitly creates a new TLS region, updating __sel4_ipc_buffer requires us to force GCC to find its address in the new TLS region rather than re-using the address it already determined. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
|
#
3fd0ca63 |
|
16-Sep-2020 |
Curtis Millar <curtis.millar@data61.csiro.au> |
Add config option to delay libc initialisation The initialisation of libc should occur after system calls have been initalised. Some calls are initialised externally or have external dependencies. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
|
#
24f2b526 |
|
11-Sep-2020 |
Curtis Millar <curtis.millar@data61.csiro.au> |
Use constructor to initialise libc This initialises the C standard library using a constructor executed from the sel4 runtime. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
|
#
d7be11ef |
|
17-Oct-2019 |
Kent McLeod <Kent.Mcleod@data61.csiro.au> |
libsel4muslcsys: Implement sys_write wrapper This wraps sys_writev the same way that sys_read is implemented.
|
#
e9a9ff4f |
|
18-Jul-2019 |
Yu Hou <Yu.Hou@data61.csiro.au> |
Trivial: Style fix make the style checker happy
|
#
e23dc54b |
|
19-May-2019 |
Yu Hou <Yu.Hou@data61.csiro.au> |
seL4_libs: remove autoconf.h from seL4_libs this commit removes autoconf.h generation from each lib and append '#include <<lib_name>/gen_config.h>' after each '#include <autoconf.h>' since autoconf.h is only the for the kernel config now. This is a temporarily solution, since we currently don't have a way to tell which header files each file is trying to include when it includes 'autoconf.h'
|
#
b1acd211 |
|
30-Jan-2019 |
James Ye <james.ye@data61.csiro.au> |
libsel4muslcsys: transition to new libcpio API
|
#
882ae257 |
|
07-Aug-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
libsel4muslcsys: Avoid calling TCB_SetTLSBase unless needed The C library only calls the set_thread_pointer syscall if it believes it cannot set the thread pointer itself. This handles a specific kernel configuration on x86-64 where we actually can set the thread pointer from user level without resorting to the TCB invocation.
|
#
992a503a |
|
07-Aug-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
libsel4muslcsys: Call TCB_SetTLSBase when possible This commit provides support for initial thread in a process, that calls __libc_start_main, to get a correctly setup thread pointer. If the boot_tcb_cptr environment variable is set either by the proccess creator, or in the case of the rootserver it will be constructed by _sel4_start, then during libc's init process, prior to main being called, the boot_sys_set_thread_area will attempt to set the thread pointer. Should boot_tcb_cptr not be set an application could still use muslcsys_get_boot_set_thread_area and then do the equivalent of the code in t his commit, but this provides a much nicer approach.
|
#
d6de31ee |
|
07-Aug-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
sel4muslcsys: Alias __ARM_NR_set_tls to __NR_set_thread_area in boot functions The ARM set_tls syscalls behaves effectively the same as the x86 set_thread_area syscall, and the boot implementation provided currently can be used as a dual implementation. As they are *not* actually the same syscall post boot the 'real' sys_set_thread_area is not provided as the implementation of __ARM_NR_set_tls
|
#
b10f6fa4 |
|
07-Aug-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
sel4muslcsys: Implement sparse syscall table for ARM syscalls Some ARM syscalls have quite high effective numbers so this adds a sparse syscall table that is a lookup of syscall to handler, instead of the normal table that encodes the syscall number in the table index. As there are only 5 syscalls this is currently implemented as an unordered list that must be searched to find any entry
|
#
f4a828b3 |
|
04-Aug-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
libsel4muslcsys: Early debug output prior to C library init The generic sys_writev implementation most likely will crash/not work if it gets called prior to the C library having been initialized (i.e. at least prior to the init array functions getting called). The idea behind this change is to explicitly just support output via seL4_DebugPutChar (if it exists) prior to C library initialization, and then switch to the actual sys_writev. Whilst the boot_sys_writev should never be used, it makes it possible to debug very early boot code, especially in a rootserver that may need to do non trivial startup logic in its entry point before calling the muslc entry point.
|
#
9214341c |
|
04-Jun-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Fix licenses
|
#
ebc4aef0 |
|
07-May-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
libsel4muslcsys: Provide run time CPIO file system support This changes the existing build time config support for a CPIO file system into a run time option. The build time configuration option is still used to decide whether to use the new interface to populate with the default cpio archive symbols
|
#
7f612292 |
|
03-May-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
SELFOUR-862: CONFIG_PRINTING --> seL4_DebugPutChar
|
#
fcfcba91 |
|
05-Apr-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
trivial: fix warnings
|
#
2054bbef |
|
26-Jan-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
libsel4muslcsys: Allow syscalls to be overriden at run time Adds an interface to override syscalls at run time. For syscalls that happen before a run time handler can be installed an interface is also provided for querying the attempted invocation.
|
#
eaca58a9 |
|
27-Jan-2017 |
amrzar <azarrabi@nicta.com.au> |
libsel4muslcsys: Add support for openat syscall
|
#
bc2d1669 |
|
05-Jan-2017 |
Adrian Danis <Adrian.Danis@data61.csiro.au> |
libsel4muslcsys: Implement mmap syscall Changes the current mmap2 implementation to be an mmap implementation, and redirects the mmap2 syscall to mmap
|
#
7241dba3 |
|
12-Oct-2016 |
Alexander Wharton <awharton@alexw.keg.ertos.in.nicta.com.au> |
libsel4muslcsys: create dummy implementation of sys_madvise()
|
#
6e5189e0 |
|
02-Sep-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
libsel4muslcsys: Skip syscalls that are only defined on 32-bit systems if they are not defined
|
#
e269552e |
|
30-Nov-2015 |
Adrian Danis <Adrian.Danis@nicta.com.au> |
libsel4muslcsys: Add some missing thread routines A C library may call set_thread_area on startup and tkill on shutdown, so we need to implement stubs of these
|
#
494b80ec |
|
19-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
libsel4muslcsys: Fix missing #include.
|
#
d7df2a0e |
|
18-Nov-2015 |
Matthew Fernandez <matthew.fernandez@nicta.com.au> |
libsel4muslcsys: Use libutils' compiler attribute abstractions. Depends on https://github.inside.nicta.com.au/seL4/util_libs/pull/10.
|