So I was reading capDL paper and it mentions about having a human-readable XML file for configuration of the initial thread which allows the system initialize into a know state. I assume this is not specific to camkes. so is there any way I can see/get the XML file and the code that generates it in the regular seL4? Thanks, Oak -- Norrathep (Oak) Rattanavipanon M.S. in Computer Science University of California - Irvine
Hi Oak,
You're correct that capDL is not specific to CAmkES. The human-readable spec isn't XML, but a capDL-specific language.
CapDL consists of 2 parts:
- the capDL translator takes human-readable spec describing a seL4 system, and converts it into a c file
- the capDL loader is a program that is intended to run on seL4 in the root thread (the first userlevel thread with access to all resources). It creates kernel objects and distributes caps according to the spec. It gets statically linked against the c file produced by the translator, which is how it has access to the spec.
CAmkES generates a human-readable capDL spec. Using CAmkES, in our build system, after the build is complete, the capDL spec for an app named "example" will be located at "build/x86/pc99/example/example.cdl" (assuming the build targets x86). The c code generated from that spec will be located at "build/x86/pc99/capdl-loader-experimental/src/capdl_spec.c".
CapDL is not specific to CAmkES, in that it's possible to use capDL without CAmkES. In practice however, applications that run on seL4 without CAmkES tend not to use capDL.
The source for the capDL translator (capDL-tool) and loader (capdl-loader-app) can be found here: https://github.com/seL4/capDL
Can you clarify what you mean by "regular seL4".
Hope this helps!
Cheers,
Stephen
________________________________
From: Devel
participants (2)
-
Norrathep Rattanavipanon
-
Stephen.Sherratt@data61.csiro.au