NameDateSize

..25-Sep-202022

arch_include/H25-Jul-20195

CMakeLists.txtH A D25-Jul-20191.7 KiB

include/H25-Jul-20193

LICENSE_BSD2.txtH A D25-Jul-20191.4 KiB

README.mdH A D25-Jul-20192.3 KiB

sel4_arch_include/H25-Jul-20197

src/H21-Aug-201917

README.md

1<!---
2  Copyright 2017, Data61
3  Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4  ABN 41 687 119 230.
5
6  This software may be distributed and modified according to the terms of
7  the BSD 2-Clause license. Note that NO WARRANTY is provided.
8  See "LICENSE_BSD2.txt" for details.
9
10    @TAG(DATA61_BSD)
11-->
12
13libsel4utils
14=============
15
16libsel4utils provides OS-like utilities for building benchmarks and applications on seL4.
17Although the library attempts to be policy agnostic, some decisions must be made.
18
19This library is intended to be used to quickly get tests, benchmarks and prototypes off the ground
20with minimal effort. It's meant to contain commonly useful stuff, that will be actively
21maintained.
22It can also be used as a reference for 'how-to' implement OS mechanisms on seL4.
23
24Utilities provided by this library:
25
26  * threads
27  * processes
28  * elf loading
29  * virtual memory management
30  * stack switching
31  * debugging tools
32
33No allocator is provided, although any allocator that implements the seL4 vka interface can be used
34(we recommend libsel4allocman).
35
36Dependencies
37------------------
38
39libsel4utils depends on libsel4vka, libsel4vspace, libutils, libelf, libcpio, libsel4.
40
41Repository overview
42-------------------
43
44*include/sel4utils*:
45
46  * elf.h -- elf loading.
47  * mapping.h -- page mapping.
48  * process.h -- process creation, deletion.
49  * profile.h -- profiling.
50  * strerror.h -- for printing seL4 error codes.
51  * stack.h -- switch to a newly allocated stack.
52  * thread.h -- threads (kernel threads) creation, deletion.
53  * util.h -- includes utilities from libutils.
54  * vspace.h -- virtual memory management (implements vspace interface)
55  * vspace_internal.h -- virtual memory management internals, for hacking the above.
56
57*arch_include/sel4utils*:
58
59  * util.h -- utils to assist in writing arch independent code.
60
61Configuration options
62----------------------
63
64* `SEL4UTILS_STACK_SIZE` -- the default stack size to use for processes and threads.
65* `SEL4UTILS_CSPACE_SIZE_BITS` -- the default cspace size for new processes (threads use the current
66                                cspace).
67
68License
69========
70
71The files in this repository are release under standard open source licenses.
72Please see individual file headers and the `LICENSE_BSD2`.txt file for details.
73