l4/sys/syscalls.h: No such file or directory
Björn Döbel
doebel at os.inf.tu-dresden.de
Wed Sep 17 08:02:50 CEST 2014
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 16.09.2014 16:22, Valentin Hauner wrote:
> Hi,
>
> On 09/16/2014 03:54 PM, Björn Döbel wrote:
>> Just to be sure: How large is this per-thread stack? Are you
>> properly aligning it to page boundaries?
> Adam suggested to give it a size of 2000 * l4_umword_t
> (THREAD_STACK_SIZE is set to 2000) in his mail from September 3th,
> so I'm using the following code:
>
>> thread_stack[count] = malloc(THREAD_STACK_SIZE *
>> sizeof(l4_umword_t)); // For x86-32, the arguments of functions
>> are passed via the stack thread_stack[count][THREAD_STACK_SIZE -
>> 1] = (l4_umword_t)t->arg; thread_stack[count][THREAD_STACK_SIZE -
>> 2] = 0; // ... l4_touch_rw(thread_stack[count],
>> sizeof(thread_stack[count])); // ... l4_thread_ex_regs(t->cap,
>> (l4_umword_t)t->func,
>>
> (l4_umword_t)&thread_stack[count][THREAD_STACK_SIZE - 2], 0);
How is thread_stack declared?
What call are you using to map the actual stack to the task?
>
> Header of the thread function:
>
>> void thread_func(l4_umword_t data) { /* ... */ }
>
>
> That's the whole stack-relevant code in my library. With one task
> for all threads only, everything works.
Can you please clarify what you mean with the last sentence?
Bjoern
- --
Dipl.-Inf. Bjoern Doebel Mail: doebel at tudos.org
TU Dresden, OS Chair Phone: +49 351 463 38 799
Noethnitzer Str. 46 Fax: +49 351 463 38 284
01187 Dresden, Germany WWW: http://www.tudos.org/~doebel
- --
"When the seagulls follow the trawler, it's because they think
sardines will be thrown into the sea." (Eric Cantona)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEARECAAYFAlQZJAYACgkQP5ijxgQLUNm5iQCgiRmke9lRU+nSxdVVGavLy9qJ
bmwAn2i0EtR8XbMPvC40be37RpebvjMl
=Jl5m
-----END PGP SIGNATURE-----
More information about the l4-hackers
mailing list