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