Subversion Repositories HelenOS-historic

Rev

Rev 651 | Rev 1139 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 651 Rev 703
Line 37... Line 37...
37
#include <arch/asm.h> 
37
#include <arch/asm.h> 
38
 
38
 
39
#define CPU         THE->cpu
39
#define CPU         THE->cpu
40
#define THREAD          THE->thread
40
#define THREAD          THE->thread
41
#define TASK            THE->task
41
#define TASK            THE->task
42
#define VM          THE->vm
42
#define AS          THE->as
43
#define PREEMPTION_DISABLED THE->preemption_disabled
43
#define PREEMPTION_DISABLED THE->preemption_disabled
44
 
44
 
45
/**
45
/**
46
 * For each possible kernel stack, structure
46
 * For each possible kernel stack, structure
47
 * of the following type will be placed at
47
 * of the following type will be placed at
Line 50... Line 50...
50
struct the {
50
struct the {
51
    count_t preemption_disabled;    /**< Preemption disabled counter. */
51
    count_t preemption_disabled;    /**< Preemption disabled counter. */
52
    thread_t *thread;       /**< Current thread. */
52
    thread_t *thread;       /**< Current thread. */
53
    task_t *task;           /**< Current task. */
53
    task_t *task;           /**< Current task. */
54
    cpu_t *cpu;         /**< Executing cpu. */
54
    cpu_t *cpu;         /**< Executing cpu. */
55
    vm_t *vm;           /**< Current vm. */
55
    as_t *as;           /**< Current address space. */
56
};
56
};
57
 
57
 
58
#define THE     ((the_t *)(get_stack_base()))   
58
#define THE     ((the_t *)(get_stack_base()))   
59
 
59
 
60
extern void the_initialize(the_t *the);
60
extern void the_initialize(the_t *the);