L4hq.org
Home of the L4 community
         Home )   About L4hq )  
 
 

L4Env - an environment for L4 applications

For more detailed information visit the L4Env homepage at TU Dresden.

The goal of L4Env is to provide a set of libraries to ease the development of L4 applications independant of the used version of the L4 API. The current version of L4Env supports kernel versions 2 (Fiasco) and X.0 (Fiasco, L4Ka::Hazelnut).

The L4Env provides libraries to load programs at run-time from a network or via L4Linux from disk. It provides convenience wrappers for most of the protocols used on top of L4, such as memory management (dataspaces, siqma0), IRQ delivery, and thread creation and manipulation. Other features include thread synchronisation, various input/output facilities, dynamic memory allocation.

Libraries provided:

  • dm_phys - dataspace manager (hierarchical memory management)
  • l4rm - a region mapper
  • fprov - file provides to obtain files at runtime
  • loader - loads L4 applications at runtime (ELF binaries)
  • simple_ts - task manager
  • slab - simple slab allocator
  • semaphore - semaphore implementation
  • names - name server
  • con - a simple console
  • log - a logging facility
  • thread - thread creation/manipulation
  • DDE - the Linux Device Driver Environment

Licensing

L4Env is released under GPL. Most of it has been developed at TU Dresden; other licenses are available upon request. However, parts are taken from other GPL licensed projects. These parts can be rewritten to be GPL free, but this requires resources which we currently have not available.

Releases

NOTE: L4Env has been tested with kernel version 2 and X.0. However, if you encounter any problems contact the L4Env team.

CVS: Please visit the L4Env Webpage for information on how to obtain the latest development version of L4Env via CVS.

Powered by L4Ka