176,6 → 176,8 |
#ifdef KERNEL |
|
#include <synch/mutex.h> |
#include <arch/interrupt.h> |
#include <atomic.h> |
|
typedef enum { |
/** Task is not being debugged */ |
193,6 → 195,7 |
typedef struct { |
/** Synchronize debug ops on this task / access to this structure */ |
mutex_t lock; |
char *lock_owner; |
|
udebug_task_state_t dt_state; |
call_t *begin_call; |
204,14 → 207,20 |
/** Debugging part of thread_t structure. |
*/ |
typedef struct { |
/** |
* Prevent deadlock with udebug_before_thread_runs() in interrupt |
* handler, without actually disabling interrupts. |
* ==0 means "unlocked", >0 means "locked" |
*/ |
atomic_t int_lock; |
|
/** Synchronize debug ops on this thread / access to this structure */ |
SPINLOCK_DECLARE(lock); |
mutex_t lock; |
|
waitq_t go_wq; |
call_t *go_call; |
unative_t syscall_args[6]; |
istate_t *uspace_state; |
bool in_before_thread_runs; |
|
/** What type of event are we stopped in or 0 if none */ |
udebug_event_t cur_event; |