user-level port

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

Andreas Rottmann <a.rottmann at> writes:

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

Yes, it is.  (or <fiasco-core at>, 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

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?


> However, I am interested in this. A nice way to go would be to port
> Fiasco to a386 (, 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.

hohmuth at, hohmuth at

More information about the l4-hackers mailing list