dynamic reconfiguration

Matthias Lange matthias.lange at kernkonzept.com
Fri Aug 5 15:08:07 CEST 2016


On 08/04/2016 03:05 PM, ba_f wrote:
> Hello L4-Hackers,
> can you tell me, what are the capabilities of Fiasco.OC when it comes to
> 'dynamic reconfiguration'?
> As far as I know, (almost) all the configurations is made in conf.cfg
> and hw.io, right?
> But, is it also possible to do some configuration during run-time i.e.
> dynamic reconfiguration?
> Here are two examples I can think of:

Well, it depends ...

> - IPC-Channels: Instead of defining Server and its Clients in conf.cfg
> statically, is it possible to create IPC-Channel during run-time? Let's
> say, I have a L4re-App in conf.cfg defined as IPC-Server but, no
> Clients, yet. Now, may any L4re-App create a IPC-Channel by itself and
> such link to that IPC-Server?

The answer is 'Yes.' and 'No'. The answer to the first question is that
this is exactly what ned is doing. Ned creates an IPC gate object and
maps it into the tasks as specified in the provided Lua configuration.

The second is not possible for multiple reasons. The first one is, that
the server side already needs the IPC gate object to bind its server
loop to. Another task has no means to "lookup" the existing IPC gate
object. In fact that's the idea behind a capability system.

> - New Tasks: Is a L4re-App able to create a new task? I.e. push a thread
> into its own address-space? The new task would require some access
> rights, too.

Yes. Ned and L4Linux are just two examples doing this.


More information about the l4-hackers mailing list