Changes in kernel/generic/include/arch.h [eb239dc:98000fb] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified kernel/generic/include/arch.h ¶
reb239dc r98000fb 27 27 */ 28 28 29 /** @addtogroup generic 29 /** @addtogroup generic 30 30 * @{ 31 31 */ … … 39 39 #include <proc/thread.h> 40 40 #include <proc/task.h> 41 #include <mm/as.h>42 41 43 #define DEFAULT_CONTEXT 42 #define DEFAULT_CONTEXT 0 44 43 45 #define CPU 46 #define THREAD 47 #define TASK 48 #define AS 49 #define CONTEXT 50 #define PREEMPTION_DISABLED 44 #define CPU THE->cpu 45 #define THREAD THE->thread 46 #define TASK THE->task 47 #define AS THE->as 48 #define CONTEXT (THE->task ? THE->task->context : DEFAULT_CONTEXT) 49 #define PREEMPTION_DISABLED THE->preemption_disabled 51 50 52 #define context_check(ctx1, ctx2) 51 #define context_check(ctx1, ctx2) ((ctx1) == (ctx2)) 53 52 54 53 /** … … 58 57 */ 59 58 typedef struct { 60 size_t preemption_disabled; 61 thread_t *thread; 62 task_t *task; 63 cpu_t *cpu; 64 as_t *as; 59 size_t preemption_disabled; /**< Preemption disabled counter. */ 60 thread_t *thread; /**< Current thread. */ 61 task_t *task; /**< Current task. */ 62 cpu_t *cpu; /**< Executing cpu. */ 63 as_t *as; /**< Current address space. */ 65 64 } the_t; 66 65 67 /*68 * THE is not an abbreviation, but the English definite article written in69 * capital letters. It means the current pointer to something, e.g. thread,70 * processor or address space. Kind reader of this comment shall appreciate71 * the wit of constructs like THE->thread and similar.72 */73 66 #define THE ((the_t * )(get_stack_base())) 74 67 75 extern void the_initialize(the_t * );76 extern void the_copy(the_t * , the_t *);68 extern void the_initialize(the_t *the); 69 extern void the_copy(the_t *src, the_t *dst); 77 70 78 71 extern void arch_pre_mm_init(void); … … 86 79 extern void reboot(void); 87 80 extern void arch_reboot(void); 88 extern void *arch_construct_function(fncptr_t * , void *, void *);81 extern void *arch_construct_function(fncptr_t *fptr, void *addr, void *caller); 89 82 90 83 #endif
Note:
See TracChangeset
for help on using the changeset viewer.