.. | .. |
---|
21 | 21 | |
---|
22 | 22 | struct task_struct; |
---|
23 | 23 | |
---|
| 24 | +#include <dovetail/thread_info.h> |
---|
24 | 25 | #include <asm/types.h> |
---|
25 | 26 | |
---|
26 | 27 | typedef unsigned long mm_segment_t; |
---|
.. | .. |
---|
45 | 46 | */ |
---|
46 | 47 | struct thread_info { |
---|
47 | 48 | unsigned long flags; /* low level flags */ |
---|
| 49 | + __u32 local_flags; /* local (synchronous) flags */ |
---|
48 | 50 | int preempt_count; /* 0 => preemptable, <0 => bug */ |
---|
49 | 51 | mm_segment_t addr_limit; /* address limit */ |
---|
50 | 52 | struct task_struct *task; /* main task structure */ |
---|
.. | .. |
---|
65 | 67 | #ifdef CONFIG_ARM_THUMBEE |
---|
66 | 68 | unsigned long thumbee_state; /* ThumbEE Handler Base register */ |
---|
67 | 69 | #endif |
---|
| 70 | + struct oob_thread_state oob_state; /* co-kernel thread state */ |
---|
68 | 71 | }; |
---|
69 | 72 | |
---|
70 | 73 | #define INIT_THREAD_INFO(tsk) \ |
---|
71 | 74 | { \ |
---|
72 | 75 | .task = &tsk, \ |
---|
73 | 76 | .flags = 0, \ |
---|
| 77 | + .local_flags = 0, \ |
---|
74 | 78 | .preempt_count = INIT_PREEMPT_COUNT, \ |
---|
75 | 79 | .addr_limit = KERNEL_DS, \ |
---|
76 | 80 | } |
---|
| 81 | + |
---|
| 82 | +#define ti_local_flags(__ti) ((__ti)->local_flags) |
---|
77 | 83 | |
---|
78 | 84 | /* |
---|
79 | 85 | * how to get the thread information struct from C |
---|
.. | .. |
---|
142 | 148 | #define TIF_USING_IWMMXT 17 |
---|
143 | 149 | #define TIF_MEMDIE 18 /* is terminating due to OOM killer */ |
---|
144 | 150 | #define TIF_RESTORE_SIGMASK 20 |
---|
| 151 | +#define TIF_MAYDAY 21 /* emergency trap pending */ |
---|
| 152 | +#define TIF_RETUSER 22 /* INBAND_TASK_RETUSER is pending */ |
---|
145 | 153 | |
---|
146 | 154 | #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) |
---|
147 | 155 | #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) |
---|
.. | .. |
---|
153 | 161 | #define _TIF_SECCOMP (1 << TIF_SECCOMP) |
---|
154 | 162 | #define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL) |
---|
155 | 163 | #define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT) |
---|
| 164 | +#define _TIF_MAYDAY (1 << TIF_MAYDAY) |
---|
| 165 | +#define _TIF_RETUSER (1 << TIF_RETUSER) |
---|
156 | 166 | |
---|
157 | 167 | /* Checks for any syscall work in entry-common.S */ |
---|
158 | 168 | #define _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \ |
---|
.. | .. |
---|
163 | 173 | */ |
---|
164 | 174 | #define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \ |
---|
165 | 175 | _TIF_NOTIFY_RESUME | _TIF_UPROBE | \ |
---|
166 | | - _TIF_NOTIFY_SIGNAL) |
---|
| 176 | + _TIF_NOTIFY_SIGNAL | _TIF_RETUSER) |
---|
| 177 | + |
---|
| 178 | +/* |
---|
| 179 | + * Local (synchronous) thread flags. |
---|
| 180 | + */ |
---|
| 181 | +#define _TLF_OOB 0x0001 |
---|
| 182 | +#define _TLF_DOVETAIL 0x0002 |
---|
| 183 | +#define _TLF_OFFSTAGE 0x0004 |
---|
| 184 | +#define _TLF_OOBTRAP 0x0008 |
---|
167 | 185 | |
---|
168 | 186 | #endif /* __KERNEL__ */ |
---|
169 | 187 | #endif /* __ASM_ARM_THREAD_INFO_H */ |
---|