Hi Curtis, In general I would recommend having the initial thread in a process initialise its own TLS via the runtime and any new thread configure its own TLS in the initialisation code before the main function call of that thread with the `sel4runtime_set_tls_base`. Each new thread will also need to use `seL4_SetIPCBuffer` to initialise the IPC buffer address in its TLS before performing any invocations or any other system calls. Thank you, it makes total sense now. This week-end, I discovered along the RFC-3, the SEL4PROJ/sel4runtime repository on GitHub (completely missed it as it was not part of seL4 org) and I have been able to reconnect the missing pieces. 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 here! 😅