Hello Johannes, On Thu, Jan 25, 2018 at 11:25:20AM +0100, Johannes Kliemann wrote: > > _ds_cap = _ds_ep->manage(&_ds);
Looking at the generic implementation we learn that it also needs a cast after the manage base/src/core/io_mem_session_component.cc:87: _ds_cap = static_cap_cast<Io_mem_dataspace>(_ds_ep->manage(&_ds)); For testing I adapted this to the current inheritance state in base-linux, which then compiles base-linux/src/core/io_mem_session_component.cc:72: _ds_cap = static_cap_cast<Io_mem_dataspace>(static_cap_cast<Dataspace>(_ds_ep->manage(&_ds))); So, the implementation currently prevents to provide Io_mem_dataspace as easy as Dataspace because there's no hook to tell the generic parts that a Dataspace is in fact a Linux_dataspace because Io_mem_dataspace directly inherits Dataspace. Sounds twisted, but that's the reason in my opinion and we need to do some refactoring to make the Io_mem-related modules tweakable in this regard. Regards -- Christian Helmuth Genode Labs https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth ------------------------------------------------------------------------------ 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