L4Linux without L4Loader
kalkowski at os.inf.tu-dresden.de
Wed May 2 15:49:04 CEST 2007
On Wednesday 02 May 2007 14:48, Daniel Vandersee wrote:
> > Basically, the Loader sets up an L4Env infopage that contains some
> > information about the application's environment. (See
> > l4/pkg/l4env/include/env.h). I think you will be able to find the few
> > locations where this is done in our Loader. If you have questions, feel
> > free to ask.
> are there any further steps required in order to start L4env binaries? I
> created a new L4env infopage and passed its address as well as mb_flag
> (which is set to ~L4UTIL_MB_VALID) to the task's trampoline. In this
> case the semaphore initialization fails and the task terminates. When
> using L4UTIL_MB_VALID instead, the task starts as expected but
> l4env_get_infopage() returns null.
> > *compmgrt| [D2.0] semaphore/lib/src/semaphore.c:516:l4semaphore_init():
> > *compmgrt| Error: L4semaphore: failed to create semaphore thread:
> > invalid argum *compmgrt: ent (-3)!
> > *compmgrt| Startup: semaphore lib initialization failed (-1)!
> Do I have to set up the section array of the infopage as well?
Probably yes, because the l4env library uses this information to register code
and data regions at the region mapper.
Just a guess: do you filled in the memory-server in your l4env infopage,
because the semaphore library, which fails to initialize depends on the
thread-library which itself needs a memory-server allocation purposes and
potentially failed already before the semaphore library.
> l4-hackers mailing list
> l4-hackers at os.inf.tu-dresden.de
Department of Computer Science
Institute for System Architecture
Operating Systems Group
Address: Noethnitzer Str. 46, 01187 Dresden
Phone: +49 (351) 463-42045
More information about the l4-hackers