Christian Stueble stueble@amaunet.cs.uni-dortmund.de writes:
Mehnert96 and Stange96 both describe an environment to use Linux-drivers together with L3. Is something similar available to L4/Fiasco? If yes, where can the example implementations be found?
Yes, similar frameworks have been created for a number of drivers (SCSI and ATM networking drivers come to my mind). These frameworks are more of a hackish ad-hoc nature and are in no way meant as a generic device-driver framework. These drivers (and their frameworks) have not been released publicly yet, and I don't know if there are plans to release them; I guess it would be a bit embarrasing for their authors to release them because they contain a lot of write-only, proof-of-concept code written for various research projects -- code they don't want anyone to see. ;-)
Maybe these authors or my boss will bite and clarify what their stance on releasing this code is.
However, and probably much more interesting to you, there is now a port of Utah university's OSKit (current snapshot 990722) to the L4/x86 and Fiasco interface. The OSKit comes with a lot of Linux and FreeBSD drivers, filesystems, and a complete IP stack that, with the help of a glue library the ``port'' consists of, just run on top of L4/x86 and Fiasco.
There is a piece of news at URL:http://os.inf.tu-dresden.de/fiasco/ about the port (look for liboskit10_support). It also tells you where to download the stuff.
Does L4-Linux directly access hardware ports?
Yes, the drivers contained in L4Linux directly access I/O ports.
If yes, is it possible to prevent this behavior, e.g. by inserting a new "virtual hardware layer"?
I don't understand what you mean by ``virtual hardware layer'' and what exactly you want to do, but the answer to your question probably is yes. :) Do you want L4Linux to use drivers running in separate tasks so that it becomes possible to run L4Linux without any special hardware-access privileges? Yes, that is doable. In fact, I have been dreaming about such a setup on and off; this would make it possible to run and debug L4Linux under L4Linux.
Michael