History log of /seL4-camkes-master/tools/rumprun/platform/sel4/entry.c
Revision Date Author Comments
# 405fb8ed 21-Sep-2020 Curtis Millar <curtis.millar@data61.csiro.au>

trivial: style fixes

Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>


# 0dfe5f45 21-Sep-2020 Curtis Millar <curtis.millar@data61.csiro.au>

Add constructor to set up heap before libc

The dynamic heap used by rumprun apps needs to be configured before libc
is initialised. The dynamic heap also depends on malloc, so it needs to
run after the vsyscall function has been configured.

Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>


# e307da61 04-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

seL4: Remove 'new_malloc_ops'

The call to 'sel4platsupport_new_malloc_ops' is unnecessary as
'sel4platsupport_new_io_ops' will create a malloc interface with the
initialisation of other interfaces.


# a5056a65 04-Aug-2019 Damon Lee <Damon.Lee@data61.csiro.au>

seL4: Update calls to 'new_io_ops'

Following changes to the sel4platsupport IO API, this commit updates the
'sel4platsupport_new_io_ops' calls to reflect the new function
signature.


# c75e8892 12-Jul-2019 Yu Hou <Yu.Hou@data61.csiro.au>

Trivial: style fix

make the style checker happy


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

rumprun: include configs

since global autoconf is removed, we need to manually add
back the kernel config and rumprun_Config


# f4e70452 25-Mar-2019 Curtis Millar <curtis.millar@data61.csiro.au>

Use sel4runtime for TLS management.

sel4runtime will initilise the TLS for the first thread in the process
(this should not be overridden as it was in entry.c).

Instead of using the nasty trick of de-initialising the TLS with a null
pointer to set variables in remote TLS, we use the tools from
sel4runtime that aren't so destructive to configure the state for libbmk
and to also ensure that the IPC buffer pointer is set on each thread.

The existing tooling for creating and allocating TLS can still be used
as sel4runtime makes no assumptions or changes to the size or layout of
TLS.

THe platform-independant interface for configuring the TLS from
sel4runtime is also used rather than specific implementations for
different architectures.


# 6bfbd191 27-Feb-2019 James Ye <james.ye@data61.csiro.au>

Add _cpio_archive_end symbol


# b94904de 11-Dec-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

Update calls to seL4_CapRights_new

- replace with seL4_AllRights where appropriate
- otherwise update seL4_CapRights_new call sites.


# bf995195 23-Jul-2018 Damon Lee <Damon.Lee@data61.csiro.au>

Use arch_init_tls instead of configuring the TLS from another thread


# 3a21110c 29-Jul-2018 Damon Lee <Damon.Lee@data61.csiro.au>

Split clock code into common and arch specific code


# ecd94b4b 31-Jul-2018 Damon Lee <Damon.Lee@data61.csiro.au>

Add compiler macros to only include code for architectures that support it


# 8311b27c 25-Apr-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Use new simple I/O port interface


# b64ae606 25-Apr-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Use serial server for all stdio


# b861cb95 25-Feb-2018 Anna Lyons <Anna.Lyons@data61.csiro.au>

Update for changed TCB api


# 2dc70a40 05-Dec-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Add new stdio platform support

A rumprun process may be initialised with existing stdio 'pipes' which
consist of circular buffers in shared memory and notification objects
for signalling the availability of data in the buffers.


# 206ed014 05-Dec-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Add way to register software event handlers

This makes it possible to register event handlers that will run attached
to a rumpkernel cpu context. This can be used to register event handlers
in custom rump kernel drivers that can receive notification messages
from other seL4 threads, not just hardware interrupts.


# 0d05f996 11-Oct-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Reduce output


# 6d1ba67c 09-Oct-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Implement mprotect for sel4 rumprun

Mprotect is used to implement guard pages by pthreads, and noone likes
running off the stack.

As part of this change the default page size is set to the rump system
page size such that pages can be unmapped and remapped without being broken up and
retyped. Previously the page size was the largest for the amount of
memory given to rump.

Rumprun will still use large pages if CONFIG_USE_LARGE_PAGES is set,
and mprotect is not implemented.


# 27d5dd79 05-Oct-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Remove timer thread, handle in main rump thread

- remove thread that exists just to handle timer interrupts
- signal timer ntfn from pci thread
- wait directly on timer ntfn in bmk_platform_cpu_block


# c1c08581 26-Sep-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Remove hardware serial from seL4 rumprun platform

Instead, rely on being provided an endpoint to
contact a serial server on.
putc now buffers characters until the buffer is full, a
newline is printed or flush is explicitly called, at this point
it will IPC the serial server to print the contents of the buffer.


# 0f30727b 24-Sep-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Use an ltimer backed by RPC instead of HW timer

Such that we can run multiple rump apps.


# bc2cab6b 14-Sep-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: name threads + minor style fixes


# 66f124f3 06-Sep-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Add support for seL4 mcs kernel


# 1039c83e 27-Jul-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Use new sel4platsupport timer API


# 87184de9 19-Jul-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

sel4: pci_virt_to_mach now use different page size


# a1231cac 19-Jul-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Add ability to set /tmp memory size from config


# 032c286e 18-Jul-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Use larger page sizes when allocating memory


# 9d760063 12-Jul-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: thread and process api change


# 00f4f72c 03-Jul-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: run astyle over project


# 66fb6f11 02-Jul-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Use PAGE_SIZE_4K constants


# fa9ed23d 18-May-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Add CAmkES support


# 5c555f5a 18-May-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Reduce error output boilerplate


# 6a168da1 09-May-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Change to use simple implementation


# 6bd86c53 14-Jun-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Add better timer and device untyped handling


# eb819c48 14-Jun-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Use new vspace new pages api


# c8be6a2b 19-Mar-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Fix new thread function definitions


# 651d756c 27-Feb-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Add x86_64 support to rumprun


# 582c0b54 14-Feb-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

seL4: Add seL4 as a target rumprun platform