questions on L4Env and libraries for development on pistachio

Adam Lackorzynski adam at
Fri Jun 10 00:09:33 CEST 2005

On Thu Jun 09, 2005 at 10:49:15 -0500, Jayesh Salvi wrote:
> I am looking for libraries to do coding on pistachio. As I understand L4Env 
> gives a bunch of libraries - memory management libraries (dm_phys,...), 
> l4io, etc. Could someone answer these questions:
> 1. From L4Env's docs I see it being used only with fiasco source code. 
> Haven't come across any project that uses L4Env with pistachio. Any 
> dependencies that I don't know of? If not are there any examples?

Pistachio implements the X.2 API, L4Env uses the V2 API. That's the main
reason why they don't play together.

> 2. I want libraries for some basic functions - malloc, free, printf, etc. 
> L4Env needs oskit, l4linux2.2 and fiasco L4 kernel. Aren't there any 
> lightweight ways of getting such libraries for L4? Can parts of L4Env used 
> seperately in pistachio tree?

L4Env by no means needs oskit or l4linux2.2. It needs a libc, one can
currently choose between oskit and dietlibc. l4linux has nothing to do
with L4Env, except that l4linux may use it. There's no dependency in the
other direction.

Our dietlibc uses several backends, e.g. it has different backends for
memory allocation using different methods.
dietlibc has no API dependencies and should work everywhere. Backends
are API dependent but should be easily adoptable.

> 3. I came across libCLight library which is the light implementation of 
> libc. I could get it compiled in my pistachio tree, as done in IoL4 project. 
> Can anyone compare using malloc in libCLight and using DMPhys of L4Env?

Well, I do not know libCLight nor its malloc implementation but both
things are different. dm_phys is a dataspace manager that operates on
pyhsical memory and can hand out chunks of memory to clients. Its
granularity are pages. One can use dataspaces to provide memory for a
malloc implementation but dm_phys itself does not provide one.
E.g. the 'simple_mem' backend for dietlibc provides an mmap via dm_phys
so that malloc in dietlibc works.

Adam                 adam at

More information about the l4-hackers mailing list