Critics on L4 (NOT Re: shared memory Beispiel?)

Marcus Völp voelp at
Wed Aug 31 13:58:15 CEST 2005


yuan Darwin-r62832 wrote:

>Hi L4Ka::Pistachio developers,
>I have read the source code of L4Ka::Pistachio-0.4. & found that some features defined in L4 eXperimental Kernel Reference Manual Version X.2 Revision 5 hasn't been implemented yet. For example, appoint redirector by SpaceControl, IO port mapping, etc.
Please understand that both Pistachio and Fiasco are research prototypes 
and that the L4 eXperimental Kernel Reference Manual is indeed 
EXPERIMENTAL which means that it may change unnoticed and which also 
means that the prototypes may differ from the specification. The missing 
features that you state are published, e.g., at under the section Missing 
Features / Known Bugs for the Pistachio kernel , respectively at for Fiasco.

>I tried to checkout the newest source code from CVS, & the CVS server couldn't be reached.
I had no problems reaching the server. Though I cannot confirm that it 
was up all the time.

>When those features are going to be implemented? 
Fiasco implements IO Flexpages. Neither Redirectors nor Clans and Chiefs 
are currently implemented in Fiasco and probably never will. I cannot 
speak for plans regarding Pistachio.

>Now that those features are very important for implementing a flexible OS on L4 u-kernel.
Both redirectors and IO flexpages are not essential to get a system up 
and running. Their purpose is to control and restrict communication 
between threads respectively to prevent a thread from reading / writing 
IO-ports. Feel free to implement those features if you need them.

Can you elaborate on why you thing missing these features prevents 
someone building a flexible OS on L4?

>Seems that there are so many differences between L4Ka::Pistachio and Fiasco. Is there a stardard L4 specification? 
There is a standard L4 Specification: L4-V2 by Jochen Liedtke. Also 
there is the eXperimental specification you already found which is the 
defacto standard for L4-V4 kernels. The main difference between 
Pistachio and Fiasco is that the former implements L4-V4, the latter 
implements L4-V2 whereby some experimental features have been 
incorporated into Fiasco to better suite our user level software's 
needs. As you will see Fiasco already implements some parts of the L4-V4 

>I think L4Ka::Pistachio is more clean & flexible, why Fiasco put so many complicated & inflexible policies inside L4 kernel?
Which policies are you referring to? Can you elaborate on these points?

>BTW, has any OS or system been built on L4Ka::Pistachio? As I know, L4-Linux is built on Fiasco, but I don't like its design. I hope I can get a reference system based on L4Ka::Pistachio.
Lets see, there is L4 Linux which runs on both Fiasco and Pistachio, L4 
Env, Drops runs on Fiasco, Kenge, Iguana and Wombat on Pistachio. Also 
there is Mungi, Perseus, L4 Hurd, etc.

Have a look at and you may find out much more.

Why don't you like the design of L4Linux or do you mean Fiasco?

Some more final words: It is common practice on mailing lists to start a 
new topic if you are referring to a totally different topic.

Best regards


Marcus Völp

Department of Computer Science
Institute for System Architecture

Tel: +49 (351) 463-38350
Fax: +49 (351) 463-38284

More information about the l4-hackers mailing list