<!--
     Copyright 2017, Data61, CSIRO (ABN 41 687 119 230)

     SPDX-License-Identifier: CC-BY-SA-4.0
-->

libsel4utils
=============

libsel4utils provides OS-like utilities for building benchmarks and applications on seL4.
Although the library attempts to be policy agnostic, some decisions must be made.

This library is intended to be used to quickly get tests, benchmarks and prototypes off the ground
with minimal effort. It's meant to contain commonly useful stuff, that will be actively
maintained.
It can also be used as a reference for 'how-to' implement OS mechanisms on seL4.

Utilities provided by this library:

  * threads
  * processes
  * elf loading
  * virtual memory management
  * stack switching
  * debugging tools

No allocator is provided, although any allocator that implements the seL4 vka interface can be used
(we recommend libsel4allocman).

Dependencies
------------------

libsel4utils depends on libsel4vka, libsel4vspace, libutils, libelf, libcpio, libsel4.

Repository overview
-------------------

*include/sel4utils*:

  * elf.h -- elf loading.
  * mapping.h -- page mapping.
  * process.h -- process creation, deletion.
  * profile.h -- profiling.
  * strerror.h -- for printing seL4 error codes.
  * stack.h -- switch to a newly allocated stack.
  * thread.h -- threads (kernel threads) creation, deletion.
  * util.h -- includes utilities from libutils.
  * vspace.h -- virtual memory management (implements vspace interface)
  * vspace_internal.h -- virtual memory management internals, for hacking the above.

*arch_include/sel4utils*:

  * util.h -- utils to assist in writing arch independent code.

Configuration options
----------------------

* `SEL4UTILS_STACK_SIZE` -- the default stack size to use for processes and threads.
* `SEL4UTILS_CSPACE_SIZE_BITS` -- the default cspace size for new processes (threads use the current
                                cspace).
