Subversion Repositories HelenOS

Rev

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