Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3025 → Rev 3026

/branches/tracing/kernel/generic/include/udebug/udebug.h
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;