shared dataspace for l4re_kernel/ registering additional caps in ned
Adam Lackorzynski
adam at os.inf.tu-dresden.de
Tue Aug 19 00:24:55 CEST 2014
Some comments only.
On Sun Aug 17, 2014 at 11:03:07 +0000, Stark, Josef wrote:
> in case anyone else is interested, here's what I found out so far:
> So, as mentioned earlier, if ned wants to launch a certain task you specified,
> ned does so indirectly by launching l4re and passing the name of the target binary to l4re,
> so l4re is basically the "parent" of the target task.
Parent maybe but not in the sense of a task because l4re runs in the
very same task as the application.
> As a parent, it seems that it receives all the capabilities you
> specified in your lua config
> for the target task, so doing IPC between l4re and _another_ task
> seems much easier than expected.
It's just because they share the same task.
> I could successfully share a dataspace between a third task and l4re.
> I used the config file from the shared_ds example, changed the client
> sourcecode so that it only printed a "Hello" and then slept forever.
> The part where it accesses the dataspace from the server was moved
> (the part where it changes the ds content again was left out since I
> did not need it) into l4re_kernel (the l4re binary), but is only
> triggered if the name of the target binary was "ds_clnt", so that this
> code wasn't executed multiple times (I know, this is _very_ hacky, but
> remember, it should only serve as an example).
>
> And indeed, now l4re itself was able to print the content of the
> dataspace.
> (Accessing the ds from both l4re and its child also works, although
> this wasn't my intention and I don't need it.)
Ok, good but no suprise either :)
> Instead of sharing a dataspace it should also be possible to do normal
> IPC calls between l4re and a third task, e.g. to implement a central
> temporary filesystem (which then can also be accessed from within
> l4re) like mentioned in a previous mail.
Yes. Basically, as you found out, with shared memory any thread/task
that has access to this memory can access it and exchange data.
Adam
--
Adam adam at os.inf.tu-dresden.de
Lackorzynski http://os.inf.tu-dresden.de/~adam/
More information about the l4-hackers
mailing list