Subversion Repositories HelenOS-historic

Rev

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

Rev 391 Rev 413
Line 44... Line 44...
44
 
44
 
45
#ifndef early_mapping
45
#ifndef early_mapping
46
#define early_mapping(stack, size)
46
#define early_mapping(stack, size)
47
#endif /* early_mapping */
47
#endif /* early_mapping */
48
 
48
 
49
/*
49
/**
50
 * For each possible kernel stack, structure
50
 * For each possible kernel stack, structure
51
 * of the following type will be placed at
51
 * of the following type will be placed at
52
 * the bottom of the stack.
52
 * the bottom of the stack.
53
 */
53
 */
54
struct the {
54
struct the {
55
    int preemption_disabled;
55
    int preemption_disabled;    /**< Preemption disabled counter. */
56
    thread_t *thread;       /* current thread */
56
    thread_t *thread;       /**< Current thread. */
57
    task_t *task;           /* current task */
57
    task_t *task;           /**< Current task. */
58
    cpu_t *cpu;         /* executing cpu */
58
    cpu_t *cpu;         /**< Executing cpu. */
59
    vm_t *vm;           /* current vm */
59
    vm_t *vm;           /**< Current vm. */
60
};
60
};
61
 
61
 
62
#define THE     ((the_t *)(get_stack_base()))   
62
#define THE     ((the_t *)(get_stack_base()))   
63
 
63
 
64
extern void the_initialize(the_t *the);
64
extern void the_initialize(the_t *the);
Line 67... Line 67...
67
extern void arch_pre_mm_init(void);
67
extern void arch_pre_mm_init(void);
68
extern void arch_post_mm_init(void);
68
extern void arch_post_mm_init(void);
69
extern void arch_late_init(void);
69
extern void arch_late_init(void);
70
extern void calibrate_delay_loop(void);
70
extern void calibrate_delay_loop(void);
71
 
71
 
72
extern pri_t cpu_priority_high(void);
72
extern ipl_t interrupts_disable(void);
73
extern pri_t cpu_priority_low(void);
73
extern ipl_t interrupts_enable(void);
74
extern void cpu_priority_restore(pri_t pri);
74
extern void interrupts_restore(ipl_t ipl);
75
extern pri_t cpu_priority_read(void);
75
extern ipl_t interrupts_read(void);
76
 
76
 
77
#endif
77
#endif