mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 02:43:15 +01:00
The difference between this thread library and the existing ones like pthreads is the necessity of informing the library about the address range of the stack and the l4 specific utcb. Utcb has not been supported yet. As for stack, there is also a drawback: library does not support mapping. In other words, the stack area in question has to be already mapped-in. Thus, for now we only support threads sharing their address spaces: TC_SHARE_SPACE. In this respect, it is very similar to pthreads.
20 lines
515 B
C
20 lines
515 B
C
/*
|
|
* Thread creation userspace helpers
|
|
*
|
|
* Copyright (C) 2009 B Labs Ltd.
|
|
*/
|
|
#ifndef __LIB_THREAD_H__
|
|
#define __LIB_THREAD_H__
|
|
|
|
#define STACK_TOP_ADDR(stack) ((unsigned long)(stack))
|
|
#define STACK_BOTTOM_ADDR(stack) \
|
|
((unsigned long)((stack) + (sizeof(stack))))
|
|
|
|
int set_stack_params(unsigned long stack_top_addr,
|
|
unsigned long stack_bottom_addr,
|
|
unsigned long stack_size);
|
|
int thread_create(struct task_ids *ids, unsigned int flags,
|
|
int (*func)(void *), void *arg);
|
|
|
|
#endif /* __LIB_THREAD_H__ */
|