Rev 3016 | Rev 3026 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3016 | Rev 3018 | ||
---|---|---|---|
Line 199... | Line 199... | ||
199 | int not_stoppable_count; |
199 | int not_stoppable_count; |
200 | struct task *debugger; |
200 | struct task *debugger; |
201 | udebug_evmask_t evmask; |
201 | udebug_evmask_t evmask; |
202 | } udebug_task_t; |
202 | } udebug_task_t; |
203 | 203 | ||
- | 204 | /** Debugging part of thread_t structure. |
|
- | 205 | */ |
|
- | 206 | typedef struct { |
|
- | 207 | /** Synchronize debug ops on this thread / access to this structure */ |
|
- | 208 | SPINLOCK_DECLARE(lock); |
|
- | 209 | ||
- | 210 | waitq_t go_wq; |
|
- | 211 | call_t *go_call; |
|
- | 212 | unative_t syscall_args[6]; |
|
- | 213 | istate_t *uspace_state; |
|
- | 214 | bool in_before_thread_runs; |
|
- | 215 | ||
- | 216 | /** What type of event are we stopped in or 0 if none */ |
|
- | 217 | udebug_event_t cur_event; |
|
- | 218 | bool stop; |
|
- | 219 | bool stoppable; |
|
- | 220 | bool debug_active; /**< In a debugging session */ |
|
- | 221 | } udebug_thread_t; |
|
- | 222 | ||
204 | struct task; |
223 | struct task; |
205 | struct thread; |
224 | struct thread; |
206 | 225 | ||
207 | void udebug_task_init(udebug_task_t *ut); |
226 | void udebug_task_init(udebug_task_t *ut); |
- | 227 | void udebug_thread_initialize(udebug_thread_t *ut); |
|
208 | 228 | ||
209 | void udebug_syscall_event(unative_t a1, unative_t a2, unative_t a3, |
229 | void udebug_syscall_event(unative_t a1, unative_t a2, unative_t a3, |
210 | unative_t a4, unative_t a5, unative_t a6, unative_t id, unative_t rc, |
230 | unative_t a4, unative_t a5, unative_t a6, unative_t id, unative_t rc, |
211 | bool end_variant); |
231 | bool end_variant); |
212 | 232 |