Changes in kernel/generic/include/proc/thread.h [9d58539:6eef3c4] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/proc/thread.h
r9d58539 r6eef3c4 54 54 55 55 /* Thread flags */ 56 57 /** Thread cannot be migrated to another CPU. 58 * 59 * When using this flag, the caller must set cpu in the thread_t 60 * structure manually before calling thread_ready (even on uniprocessor). 61 * 62 */ 63 #define THREAD_FLAG_WIRED (1 << 0) 64 65 /** Thread was migrated to another CPU and has not run yet. */ 66 #define THREAD_FLAG_STOLEN (1 << 1) 67 68 /** Thread executes in userspace. */ 69 #define THREAD_FLAG_USPACE (1 << 2) 70 71 /** Thread will be attached by the caller. */ 72 #define THREAD_FLAG_NOATTACH (1 << 3) 56 typedef enum { 57 THREAD_FLAG_NONE = 0, 58 /** Thread executes in user space. */ 59 THREAD_FLAG_USPACE = (1 << 0), 60 /** Thread will be attached by the caller. */ 61 THREAD_FLAG_NOATTACH = (1 << 1), 62 /** Thread accounting doesn't affect accumulated task accounting. */ 63 THREAD_FLAG_UNCOUNTED = (1 << 2) 64 } thread_flags_t; 73 65 74 66 /** Thread structure. There is one per thread. */ … … 147 139 148 140 fpu_context_t *saved_fpu_context; 149 intfpu_context_exists;141 bool fpu_context_exists; 150 142 151 143 /* … … 154 146 * thread. This disables migration. 155 147 */ 156 intfpu_context_engaged;148 bool fpu_context_engaged; 157 149 158 150 /* The thread will not be migrated if nomigrate is non-zero. */ 159 int nomigrate;160 161 /** Thread 'sstate. */151 unsigned int nomigrate; 152 153 /** Thread state. */ 162 154 state_t state; 163 /** Thread's flags. */ 164 unsigned int flags; 165 166 /** Thread's CPU. */ 155 156 /** Thread CPU. */ 167 157 cpu_t *cpu; 168 158 /** Containing task. */ 169 159 task_t *task; 160 /** Thread is wired to CPU. */ 161 bool wired; 162 /** Thread was migrated to another CPU and has not run yet. */ 163 bool stolen; 164 /** Thread is executed in user space. */ 165 bool uspace; 170 166 171 167 /** Ticks before preemption. */ … … 216 212 extern void thread_init(void); 217 213 extern thread_t *thread_create(void (*)(void *), void *, task_t *, 218 unsigned int, const char *, bool); 214 thread_flags_t, const char *); 215 extern void thread_wire(thread_t *, cpu_t *); 219 216 extern void thread_attach(thread_t *, task_t *); 220 217 extern void thread_ready(thread_t *);
Note:
See TracChangeset
for help on using the changeset viewer.