Hi,
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?
Cheers, Daniel