Roadmap 2016

Reto Buerki reet at ...309...
Tue Jan 12 16:32:20 CET 2016


Last year Genode gained support to run as a subject on top of the Muen
Separation Kernel (SK) [1]. We are very happy about the results and how
well the collaboration with the Genode developers worked out!

We would like to take the opportunity to share our goals and ideas for 2016.

Our motto for 2016 is to enable the Turmvilla scenario on
hw_x86_64_muen. To achieve this goal we have identified the following
work items:

* Finalize hw_x86_64_muen VirtualBox support

Last year we ported the Genode VirtualBox support to hw_x86_64_muen and
are now able to successfully virtualize 32-bit guest operating systems
including Windows versions 7-10. Proper VirtualBox support is a
requirement to enable Turmvilla as it depends on running a rich OS
alongside regular Genode components.

In order to submit these enhancements for upstream inclusion, we need to
cleanup the development history and split the work into reviewable chunks.

* Support for 64-bit VirtualBox guest VMs

Once the VirtualBox support is accepted into staging, we intend to add
support for 64-bit guests. We expect this to be straight forward as Muen
already provides an execution environment for 64-bit Linux VMs using a
Virtual Machine Monitor (VMM) written in SPARK 2014.

* Distributed Genode

Having a complete Genode system running in one Muen subject does not
bring much benefit as it does not leverage the isolation properties
provided by the SK. Therefore we intend to add support for executing
multiple Genode subjects as a distributed environment while providing
inter-subject communication channels. In order for the Genode instances
to exchange data, the concept of so-called Proxy components as suggested
by the Genode developers will be applied.

The proxy concept uses two components: a server and a client. Both of
them implement a specific Genode service interface and communicate using
a Virual Hardware (VHW) abstraction layer to create a bridge between the
separated components. The following diagram illustrates the concept for
the Log service:

log() -> Proxy:Client -> | VHW | -> Proxy:Server -> Log_Server

For Muen, we will implement the VHW functionality using shared memory
channels and events.

While we plan to tackle the items listed above in 2016, we would also
like to mention areas of interest that we will not be able to actively
pursue for now:

* Support for Ada

It would be nice to have support for native Ada components in Genode.
Initially, the Genode toolchain would need to be built with Ada enabled.

To make Ada a first class citizen of the Genode ecosystem, Ada bindings
for Genode services would need to be provided.

* Investigate Intel GVT on Genode

Since Genode has ported the Linux i915 graphics driver, it would be
interesting to see whether it is possible to apply the Intel Graphics
Virtualization Technology (Intel GVT) concept [2] for mediated graphics
device passtrough.

These are our inputs for the Genode roadmap 2016, we are looking forward
to an eventful year!

- reto

[1] -
[2] -

More information about the users mailing list