Increasing guest memory in Vancouver
norman.feske at ...1...
Thu Jul 19 11:11:28 CEST 2012
> Vancouver on NUL has a IMHO non obvious way of managing virtual
> memory. How does Vancouver on Genode allocate VM memory?
can you elaborate a bit more? Which part do you consider non-obvious in
In general, Vancouver on Genode tries to use plain Genode mechanisms to
manage its address space wherever possible. For example, for managing
the guest-physical memory, Vancouver needs to manually populate the
lower portion of its virtual address space (which is a shadow of the
guest-physical memory). Consequently, we have to make sure that no other
memory object ends up being attached to this virtual memory area. We do
this by creating a managed dataspace (in fact, this is an RM session)
and attach it at the lower part of Vancouver's address space. This way,
this area will never used for something else.
If you are interested in the implementation, please take a look at the
'Guest_memory' class and the accompanying comments:
That said, even though I think that the memory management is implemented
in a clean way, is it certainly not obvious either. :-)
Dr.-Ing. Norman Feske
http://www.genode-labs.com · http://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