CantripOS capDL rootserver application

The other main Rust piece of CantripOS is the rootserver application that is located in projects/capdl/cantrip-os-rootserver. This depends on the capdl and model submodules of cantrip-os-common. While it is possible to select either cantrip-os-rootserver or the C-based capdl-loader-app with a CMake setting in the CAmkES project's easy-settings.cmake file; e.g. projects/cantrip/easy-settings.cmake has:

#set(CAPDL_LOADER_APP "capdl-loader-app" CACHE STRING "")
set(CAPDL_LOADER_APP "cantrip-os-rootserver" CACHE STRING "")

using capdl-loader-app is not advised because it lacks important functionality found only in cantrip-os-rootserver.

The most important differences between cantrip-os-rootserver and capdl-loader-app are:

  • Support for reclaiming the rootserver's memory on exit.
  • Support for CantripOS CAmkES features (e.g. MemoryManager, RTReply caps).
  • Reduced memory consumption.

Otherwise cantrip-os-rootserver should provide the same functionality though certain features are not tested (e.g. CONFIG_CAPDL_LOADER_STATIC_ALLOC) and/or not well-tested (e.g. CONFIG_CAPDL_LOADER_CC_REGISTERS).

Beware that many of the cmake rootserver configuration parameters are not plumbed through to the Rust code. Its likely you will need to tweak features in the Cargo.toml for cantrip-os-rootserver and/or cantrip-os-model (cantrip-os-common).

By default cantrip-os-rootserver prints information about the capDL specification when it starts up. If you want verbose logging enable LOG_DEBUG or LOG_TRACE in the Cargo.toml.

Next Section: Depending on CantripOS Rust crates