Question regarding parent capabilities

Steffen Liebergeld steffen at ...37...
Wed Jun 9 14:13:44 CEST 2010

Am 09.06.2010 13:17, schrieb Steffen Liebergeld:
> Hi,
> for my porting efforts, I need to map the physical parent Capability
> into the protection domain of a newly created Child. To do so, I
> extended the Cpu_session with a method "native_thread", which --given a
> Genode::Capability-- will tell me the "physical" Capability of a thread.
> I map the parent capability into a known place of the child address
> space using the assign_parent method of Platform_pd. Unfortunately at
> this point I am stuck. Can you give me some advice on where
> assign_parent is called and how I can provide it with the correct
> capability (as my tries of implementing that in Process::Process have
> failed)?

Yet again I have to answer myself. I had an error in the IPC sending of
Caps. However, the parent cap is only valid in Core, so it doesn't make
sense to send it via Ipc, which would result in an invalid mapping
anyways... Therefore I altered the assign_parent interface to use an
unsigned long instead of a Genode::Capability. And: success! Init can
now start children (which somehow get stuck during startuo when running
the static constructors). However, during the start process, the
capability describing Core's activation thread is sent around many many
times, which results in literally tens of mappings in the Cap space. I
don't know a good solution to this yet, but I wanted to inform you that
there might be a problem.

Greetings, Steffen

Dipl.-Inf. Steffen Liebergeld <steffen at ...37...>
Security in Telecommunications
TU Berlin/ Deutsche Telekom Laboratories
Ernst-Reuter-Platz 7, 10587 Berlin
Phone: +30 8353 58 263

More information about the users mailing list