Hi,
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 http://l4ka.org/projects/pistachio/ia32/ under the section Missing Features / Known Bugs for the Pistachio kernel , respectively at http://os.inf.tu-dresden.de/fiasco/status.html for Fiasco.
I tried to checkout the newest source code from CVS, & the CVS server cvs.l4ka.org 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 specification.
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 l4hq.org 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