Rev 2825 | Rev 2834 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2825 | Rev 2826 | ||
|---|---|---|---|
| Line 79... | Line 79... | ||
| 79 | ipl = interrupts_disable(); |
79 | ipl = interrupts_disable(); |
| 80 | spinlock_lock(&TASK->lock); |
80 | spinlock_lock(&TASK->lock); |
| 81 | 81 | ||
| 82 | if (TASK->dt_state == UDEBUG_TS_ACTIVE) { |
82 | if (TASK->dt_state == UDEBUG_TS_ACTIVE) { |
| 83 | klog_printf("udebug_syscall_event"); |
83 | klog_printf("udebug_syscall_event"); |
| 84 | call = TASK->debug_go_call; |
84 | call = THREAD->debug_go_call; |
| 85 | IPC_SET_RETVAL(call->data, 0); |
85 | IPC_SET_RETVAL(call->data, 0); |
| 86 | IPC_SET_ARG1(call->data, UDEBUG_EVENT_SYSCALL); |
86 | IPC_SET_ARG1(call->data, UDEBUG_EVENT_SYSCALL); |
| 87 | IPC_SET_ARG2(call->data, id); |
87 | IPC_SET_ARG2(call->data, id); |
| 88 | IPC_SET_ARG3(call->data, rc); |
88 | IPC_SET_ARG3(call->data, rc); |
| 89 | klog_printf("udebug_syscall_event/ipc_answer"); |
89 | klog_printf("udebug_syscall_event/ipc_answer"); |
| Line 100... | Line 100... | ||
| 100 | * in case we get woken up by DEBUG_END. (At which |
100 | * in case we get woken up by DEBUG_END. (At which |
| 101 | * point it must be back to the initial true value). |
101 | * point it must be back to the initial true value). |
| 102 | */ |
102 | */ |
| 103 | THREAD->debug_stop = true; |
103 | THREAD->debug_stop = true; |
| 104 | 104 | ||
| 105 | ipc_answer(&TASK->answerbox, TASK->debug_go_call); |
105 | ipc_answer(&TASK->answerbox, THREAD->debug_go_call); |
| 106 | spinlock_unlock(&TASK->lock); |
106 | spinlock_unlock(&TASK->lock); |
| 107 | interrupts_restore(ipl); |
107 | interrupts_restore(ipl); |
| 108 | 108 | ||
| 109 | waitq_sleep(&THREAD->go_wq); |
109 | waitq_sleep(&THREAD->go_wq); |
| 110 | } else { |
110 | } else { |