user-level port

Michael Hohmuth hohmuth at sax.de
Tue Jun 25 17:21:26 CEST 2002


Andreas Rottmann <a.rottmann at gmx.at> writes:

> I hope this is the right place to ask. (If not, please point me there ;-))

Yes, it is.  (or <fiasco-core at os.inf.tu-dresden.de>, if you prefer a
more private, nonpublic forum.)

> I have read on the Fiasco homepage that Fiasco is beeing/was ported to
> run as a user-level process under Unix. What is the state of this
> project? 

This project is well underway.  User-mode Fiasco (Fiasco/UX) works on
Linux, runs nearly unmodified versions of Sigma0 and Rmgr, and runs
virtually unmodified simple L4 programs such as the ping-pong IPC
benchmark.

It still lacks a number of features that would make it really useful,
such as some pseudo device drivers that would enable L4Linux to run on
top of it.

Fiasco/UX's main developer, Udo Steinberg, currently is on a vacation;
he will be back in August.  When he returns, he will write a term
paper about it, explaining its architecture in detail.

> And what is the mentioned CVS branch?

fiasco_ux

> However, I am interested in this. A nice way to go would be to port
> Fiasco to a386 (http://a386.nocrew.org/), IMO. I don't know if I can
> be of any help, since I haven't (yet) done much kernel-level
> hacking...

Udo chose to use a different route, similar to the one used by
User-mode Linux: Fiasco/UX uses ptrace(2) to control user binaries,
allowing unmodified L4 binaries to run on top of it.  Inside the
``kernel,'' Fiasco/UX emulates i386 instructions _after_ they occurred
(that is, in a signal handler), not _before_ (i.e., at the API level,
as with a386).  This design allows us to debug even machine-specific
low-level code under Unix.

Michael
-- 
hohmuth at sax.de, hohmuth at inf.tu-dresden.de
http://www.sax.de/~hohmuth/




More information about the l4-hackers mailing list