l4/sys/syscalls.h: No such file or directory

Valentin Hauner valentinhauner at gmx.de
Wed Sep 17 09:26:33 CEST 2014


On 09/17/2014 08:02 AM, Björn Döbel wrote:
> How is thread_stack declared?

It's declared on line 21 in lib/src/edft.c:
> l4_umword_t   *thread_stack[THREAD_MAX_NUM];

Currently, THREAD_MAX_NUM is set to 20.

> What call are you using to map  the actual stack to the task?

I thought that the mapping of the stack happens when iterating from
_start & L4_PAGEMASK to _end & L4_PAGEMASK and mapping the single pages.
Before that loop, I do a read-write touch on the stack:
> l4_touch_rw(thread_stack[count], sizeof(thread_stack[count]));

I tried to map the stack array separately, but I failed because
l4_task_map wants a l4_fpage_t object that does not fit to the type of
the stack array.

> Can you please clarify what you mean with the last sentence?

The execution of all threads including the access on the function
parameters on the stack works if I assign all threads to
L4RE_THIS_TASK_CAP and do not create new tasks.

Best regards,

More information about the l4-hackers mailing list