I have been looking into your suggestions and I have some questions about it.
On 13-01-17 11:32, Norman Feske wrote: > You are already on the right track. Running rump_fs as a slave is good. > You just missed a tiny piece of the puzzle: The 'Slave::Connection' does > not only provide the session interface of the slave's service but also > the corresponding 'Session_capability' (it inherits > 'CONNECTION::Client', so the 'Slave::Connection' _is_ a session > capability). Instead of calling the 'File_system' methods, the media > component would pass this 'Session_capability' to init as response to > the 'File_system' session request that originated from init. I assume here the session() method inherited from Genode::Root has to be implemented such that it returns the capability that is the Slave::Connection after that connection has been initiated? On 14-01-17 20:58, Nobody III wrote: > I have personally done some work related to this issue. First off, I > would suggest adding code to allow init to share child services with > its parent. I also have a service_router component that I wrote. You > may not be able to use it directly, but feel free to take some of the > code to use in your media component. Here's a link to the code: > https://github.com/NobodyIII/genode/tree/master/repos/os/src/server/service_router > > The code is a bit messy, so any help on making it ready to merge into > the official Genode repo would be very welcome. Here, you create a Forwarded_capability struct, which wraps a session capability. It inherits from Id_space<Parent::Client>::Element. Why if I may ask? Do I need to do that too? It eventually invokes env.session() to create a new capability for the forwarded service. Why does it not get its capability from the server, but instead seems to create a new session for a certain service? It seems to me that the Service router does not forward capabilities from children, or am I wrong? Does the cap live somewhere else? I'm missing the picture a bit here. Can you explain how it works with those capabilities? -- Met vriendelijke groet / kind regards, Boris Mulder Cyber Security Labs B.V. | Gooimeer 6-31 | 1411 DD Naarden | The Netherlands +31 35 631 3253 (office) ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main