Hi,
thanks for your quick reply!
On 09/15/2014 09:18 AM, Björn Döbel wrote:
The trick here is that your pager needs to have the binary mapped into its own address space before handing it out. This can be achieved by accessing the binary's pages once during startup. (For convenience, see the l4_touch_ro() and l4_touch_rw() functions.)
That worked, now the warnings do not appear any more. But it does not solve the real problem either.
The code I've added:
extern char _start[], _stext[], _sdata[], _end[];
// Adapted from examples/sys/start-with-exc/main.c l4_touch_ro(_start, _sdata - _start + 1); l4_touch_rw(_sdata, _end - _sdata);
// Allocating stack and setting arguments to pass ...
l4_touch_rw(thread_stack[count], sizeof(thread_stack[count])); l4_touch_ro(t->func, 1);
// Mapping the pages with l4_task_map ...
I've tried using _stext instead of _start, but still no success.
A simple call of
l4_touch_ro(_stext, _end - _stext)
does not solve the issue either.
Best regards, Valentin