Hi Thomas,
welcome to the mailing list!
I'm new to the genode mailing list, so before I start asking questions, I would want to introduce myself. I'm a software developer and entrepreneur and I'm looking for the right tools to build a new product. It will be a cloud platform which focuses on security and privacy. Now, I'm interested in whether Genode could help me with that, and so I would be very thankful if you could help me with the questions I have so far.
My first question is whether there is a resource multiplexer for a TPM in Genode? Is there something equivalent to the Virtual Trusted Platform Module in Xen? [1]
No. There does not even exist an interface for TPM functionality within Genode yet.
My second question is how Genode can communicate with a system that is running inside a NOVA hypervisor. Let's say I want to run an unmodified Linux kernel on top of NOVA. Is there some kind of kernel module for Linux that acts as a client/server to some server/client running somewhere else in Genode? In other words, how can RPC be passed into and out of the Linux user space?
There exists no generic solution for passing RPCs between the Genode world and the guest OS world. Since Genode is able to run on both NOVA and Linux, however, it might be theoretically possible to bridge this gap. I think this would be an interesting research topic.
The classical (and less risky) approach would be to expose the needed Genode functionality via a virtual device to the guest OS and install a driver in the guest OS kernel that provides a suitable interface to the guest user land.
My next question is how difficult it is to write Genode applications in Haskell. Is there an environment which can run Haskell applications, something similar to the Haskell Lightweight Virtual Machine for Xen? [2]
Even though the idea to run raw Haskell programs directly on Genode is intriguing (it is even mentioned in our "Challenges" page [1]), we have not pursued any development. If you decide to move into this direction, I'd be glad to support you.
[1] http://genode.org/about/challenges
My last question is about the GPL licensing of the Genode OS framework. What licensing requirements are there for the Genode applications? Do they have to be released under a GPL compatible license as well, or can that be closed source components?
The regular GPL version of Genode does not accommodate proprietary components. However, Genode Labs offers Genode under commercial licensing terms [2], which would be the way to go in your situation:
[2] http://genode.org/commercial-support
I would very much appreciate to hear about your thoughts.
Thank you for the good introduction of your plans. I am happy about your interest and would be delighted to support your undertaking to combine Haskell with Genode.
Best regards Norman