Status information

Releases

The current release of Fiasco is version , released .

Newer versions are available via remote CVS. Fiasco is very stable, and it is feature complete.

We will be releasing new snapshots from time to time, especially when new features or other major enhancements have been implemented.

Functionality

The following table summarizes what's implemented and what's not (in the current CVS version, not necessarily in the current snapshot release): (status as of April 2003)

Implemented Missing
  • creating and deleting threads and tasks
  • short IPC
  • page-fault and memory-flexpage IPC
  • long-message IPC, including aborts
  • page-fault timeouts for long IPC
  • attaching to hardware interrupts, and IRQ-to-IPC translation
  • user-level IDT emulation
  • int3 debug messages
  • Sigma0
  • source-level debugging via remote GDB
  • built-in low-level debugger
  • profiling
  • FPU-register saving
  • I/O flexpages
  • L4/V2 and L4/X.0 interfaces
  • tagged-TLB emulation (``small address spaces'') optimization
  • L4/X.2 interface (implementation in progress)
  • IPC doesn't check thread version numbers
  • IPC redirection via chiefs
  • preempters (not implemented by any version of L4)
We are currently designing and implementing experimental replacements for clans & chiefs and preempters.

Although some really small points are still missing Fiasco implements enough L4 functionality to be able to run L4Linux. It can be used as a drop-in replacement for L4/x86.

Performance

Current work on Fiasco concentrates on performance improvements as well abstraction and portability issues. There haven't been many performance optimizations yet -- except that the most commonly used short IPC now uses a short-circuited code path.

Fiasco is pretty good in the real-time predictability arena as Frank Mehnert demonstrated with his measurements using L4RTL, an implementation of the RT-Linux API on L4.

Agenda

What's up next (in order of priority):

See also the wish list.


Last modified: