NameDateSize

..09-Nov-202026

CMakeLists.txtH A D25-Jul-20194.2 KiB

include/H25-Jul-20193

README.mdH A D25-Jul-20191.9 KiB

src/H02-Oct-202037

README.md

1<!--
2  Copyright 2018, 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
13# CAmkES support functionality
14
15To use this library in a project you should link 'sel4camkes' to your target
16application/component with CMake. This library provides various utilities for
17interfacing with seL4 in a CAmkES-based system. Some of these utilities are:
18
19### virtqueue
20
21**_This implementation is currently a work in progress_**
22
23Functions are provided to help create virtqueue connections between your CAmkES
24components. This is based on the libvirtqueue implementation
25(project_libs/libvirtqueue). The functions provided are divided into two
26interfaces, being:
27    * _virtqueue template.h:_ These are functions intended to be used by a
28    CAmkES template. This interface is meant to allow a CAmkES template to
29    register a virtqueue channel.
30    * _virtqueue.h_ : These are functions intended to be used by a CAmkES
31    component. This interface provides a CAmkES component the ability to
32    create virtqueue objects (from libvirtqueue) out of the channels
33    registered by its templates. This interface also includes
34    memory allocation mechanisms over dataports for creating virtqueue buffers
35    to pass data with.
36
37#### Caveats
38
39This library is still under active development. Current shortcomings of the
40implementation include:
41* Each virtqueue is expected to have its own shared memory buffer region. Thus
42  allocating a virtqueue buffer will always return the same region of memory. The
43  allocation mechanisms are intended to be changed to work over a global memory region with
44  other components.
45* The maximum number of virtqueues a component can register is defined by `MAX_CAMKES_VIRTQUEUE_ID`
46