tree: 77fa13cce15916faab8f7912478cfc53d5bf9f0a [path history] [tgz]
  1. include/
  2. src/
  3. CMakeLists.txt
  4. README.md
libsel4camkes/README.md

CAmkES support functionality

To use this library in a project you should link ‘sel4camkes’ to your target application/component with CMake. This library provides various utilities for interfacing with seL4 in a CAmkES-based system. Some of these utilities are:

virtqueue

This implementation is currently a work in progress

Functions are provided to help create virtqueue connections between your CAmkES components. This is based on the libvirtqueue implementation (project_libs/libvirtqueue). The functions provided are divided into two interfaces, being: * virtqueue template.h: These are functions intended to be used by a CAmkES template. This interface is meant to allow a CAmkES template to register a virtqueue channel. * virtqueue.h : These are functions intended to be used by a CAmkES component. This interface provides a CAmkES component the ability to create virtqueue objects (from libvirtqueue) out of the channels registered by its templates. This interface also includes memory allocation mechanisms over dataports for creating virtqueue buffers to pass data with.

Caveats

This library is still under active development. Current shortcomings of the implementation include:

  • Each virtqueue is expected to have its own shared memory buffer region. Thus allocating a virtqueue buffer will always return the same region of memory. The allocation mechanisms are intended to be changed to work over a global memory region with other components.
  • The maximum number of virtqueues a component can register is defined by MAX_CAMKES_VIRTQUEUE_ID