Rev 2071 | Rev 2089 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2071 | Rev 2081 | ||
---|---|---|---|
Line 57... | Line 57... | ||
57 | /** |
57 | /** |
58 | * For each possible kernel stack, structure |
58 | * For each possible kernel stack, structure |
59 | * of the following type will be placed at |
59 | * of the following type will be placed at |
60 | * the base address of the stack. |
60 | * the base address of the stack. |
61 | */ |
61 | */ |
62 | struct the { |
62 | typedef struct { |
63 | count_t preemption_disabled; /**< Preemption disabled counter. */ |
63 | count_t preemption_disabled; /**< Preemption disabled counter. */ |
64 | thread_t *thread; /**< Current thread. */ |
64 | thread_t *thread; /**< Current thread. */ |
65 | task_t *task; /**< Current task. */ |
65 | task_t *task; /**< Current task. */ |
66 | cpu_t *cpu; /**< Executing cpu. */ |
66 | cpu_t *cpu; /**< Executing cpu. */ |
67 | as_t *as; /**< Current address space. */ |
67 | as_t *as; /**< Current address space. */ |
68 | }; |
68 | } the_t; |
69 | 69 | ||
70 | #define THE ((the_t *)(get_stack_base())) |
70 | #define THE ((the_t *)(get_stack_base())) |
71 | 71 | ||
72 | extern void the_initialize(the_t *the); |
72 | extern void the_initialize(the_t *the); |
73 | extern void the_copy(the_t *src, the_t *dst); |
73 | extern void the_copy(the_t *src, the_t *dst); |