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 | ||