/branches/tracing/kernel/generic/include/proc/task.h |
---|
93,6 → 93,12 |
* certain extent. |
*/ |
atomic_t active_calls; |
/** Debugging stuff */ |
bool being_debugged; |
bool stop_request; |
call_t *debug_begin_call; |
call_t *debug_go_call; |
/** Architecture specific task data. */ |
task_arch_t arch; |
/branches/tracing/kernel/generic/include/proc/thread.h |
---|
203,6 → 203,9 |
/** Thread's kernel stack. */ |
uint8_t *kstack; |
/** Debugging stuff */ |
waitq_t go_wq; |
} thread_t; |
/** Thread list lock. |
/branches/tracing/kernel/generic/include/udebug.h |
---|
0,0 → 1,16 |
/** @addtogroup generic |
* @{ |
*/ |
/** @file |
*/ |
#ifndef KERN_UDEBUG_H_ |
#define KERN_UDEBUG_H_ |
void udebug_syscall_event(void); |
void udebug_stopping_point(void); |
#endif |
/** @} |
*/ |
/branches/tracing/kernel/generic/include/syscall/syscall.h |
---|
66,6 → 66,7 |
SYS_SYSINFO_VALID, |
SYS_SYSINFO_VALUE, |
SYS_DEBUG_ENABLE_CONSOLE, |
SYS_IPC_CONNECT_TASK, |
SYSCALL_END |
} syscall_t; |
/branches/tracing/kernel/generic/include/ipc/sysipc.h |
---|
57,6 → 57,7 |
unative_t sys_ipc_register_irq(inr_t inr, devno_t devno, unative_t method, |
irq_code_t *ucode); |
unative_t sys_ipc_unregister_irq(inr_t inr, devno_t devno); |
unative_t sys_ipc_connect_task(sysarg64_t *task_id); |
#endif |
/branches/tracing/kernel/generic/include/ipc/ipc.h |
---|
195,6 → 195,35 |
*/ |
#define IPC_M_DATA_READ 7 |
/** Start debugging the recipient. |
* Causes all threads in the receiving task to stop. When they |
* are all stoped, an answer with retval 0 is generated. |
*/ |
#define IPC_M_DEBUG_BEGIN 8 |
/** Finish debugging the recipient. |
* Answers all pending GO and GUARD messages. |
*/ |
#define IPC_M_DEBUG_END 9 |
/** Make sure the debugged task is still there. |
* This message is answered when the debugged task dies |
* or the debugging session ends. |
*/ |
#define IPC_M_DEBUG_GUARD 10 |
/** Run a thread until a debugging event occurs. |
* This message is answered when the thread stops |
* in a debugging event. |
*/ |
#define IPC_M_DEBUG_GO 11 |
/** Stop a thread being debugged. |
* Creates a special STOP event in the thread, causing |
* it to answer a pending GO message (if any). |
*/ |
#define IPC_M_DEBUG_STOP 12 |
/* Well-known methods */ |
#define IPC_M_LAST_SYSTEM 511 |
#define IPC_M_PING 512 |
299,6 → 328,7 |
extern int ipc_phone_hangup(phone_t *phone); |
extern void ipc_backsend_err(phone_t *phone, call_t *call, unative_t err); |
extern void ipc_print_task(task_id_t taskid); |
extern int ipc_connect_task(task_id_t taskid); |
extern answerbox_t *ipc_phone_0; |