mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 10:53:16 +01:00
A 16-bit device number or id further distinguishes a device on the system in addition to the device type. This is meant to be used for the very first identification of the device for further probing. Any further info is available by userspace mapping and probing.
33 lines
889 B
C
33 lines
889 B
C
#ifndef __L4_THREAD_H__
|
|
#define __L4_THREAD_H__
|
|
|
|
#include <libl4/arch/utcb.h>
|
|
#include <libl4/arch/types.h>
|
|
|
|
struct l4_thread_struct {
|
|
l4id_t tlid; /* Thread local id */
|
|
struct task_ids ids; /* Thread L4-defined ids */
|
|
struct utcb *utcb; /* Thread utcb */
|
|
unsigned long stack_start; /* Thread start of stack */
|
|
};
|
|
|
|
|
|
/* -- Bora start -- */
|
|
|
|
/* A helper macro easing utcb space creation. */
|
|
#define DECLARE_UTCB_SPACE(name, entries) \
|
|
char name[(entries + PAGE_SIZE / UTCB_SIZE) * UTCB_SIZE] ALIGN(PAGE_SIZE);
|
|
|
|
int l4_set_stack_params(unsigned long stack_top,
|
|
unsigned long stack_bottom,
|
|
unsigned long stack_size);
|
|
int l4_set_utcb_params(unsigned long utcb_start, unsigned long utcb_end);
|
|
|
|
int l4_thread_create(struct task_ids *ids, unsigned int flags,
|
|
int (*func)(void *), void *arg);
|
|
void l4_thread_exit(int retval);
|
|
|
|
/* -- Bora start -- */
|
|
|
|
#endif /* __L4_THREAD_H__ */
|