As I'm playing with a prototype language and OS
while building it on
top of seL4,
I'm not using any intermediate C layers to connect to the seL4 API (so
custom build and
integration and no C runtime), while most of the samples out there are
heavily relying on
some foundations, which is completely understandable, considering how
it can be involving
to build anything relevant on top of the seL4 API.
So as I'm just really getting started to integrate with seL4 (and
I love?? it!) I have to go through
all these details, but I hope that I won't be spamming unnecessarily
If you are looking to avoid any C interop or runtime that should be
completely possible. The only requirement the kernel makes is that user-
level code needs to keep track of the IPC buffer address on its own
(unlike previous versions which ensure that a particular register
contains the IPC buffer address).
If you want a minimal runtime without TLS you could store the IPC buffer
address in a global variable and ensure that your system call wrappers
use that global variable to load and store data into the IPC buffer.