Genode region mapper

Norman Feske norman.feske at ...1...
Fri Jan 19 21:33:48 CET 2018


Hi Valery,

> I also know, that there is a support for managed dataspaces, or nested
> region maps, which could be useful here (at least, for implementing a
> shared memory area), but I also know, that nested region maps are not
> supported on all platforms (like Genode/Linux). So, it would be,
> possibly, better to avoid using them, unless really needed.

managed dataspaces are the only mechanism that allow the manual
organization of virtual address-spaces ranges on Genode. From your
description, I think that they suffice for your needs as long as each
address space takes the initialization steps like obtaining the managed
dataspaces from somewhere (a central service?) and attaching them at the
desired local address. A managed dataspace can be of any size. It
contains no mappings unless a real dataspace is attached within. Once
the managed dataspace is attached to the local address space, the
virtual-address area spanned by it is not used for any other mappings.

You are right in that managed dataspaces are somehow limited on Linux
where it is not (easily) possible to remotely manipulate address spaces.
But the feature set you need - preserving a virtual address-space area
to be manually managed - should be covered. For reference, you may take
a look at the handling of the stack area, which is a 256MiB-sized
virtual-address space window that is sparsely populated with the stacks
of the component-local threads.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

https://www.genode-labs.com · https://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list