Rev 2899 | Rev 2903 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2899 | Rev 2901 | ||
|---|---|---|---|
| Line 151... | Line 151... | ||
| 151 | 151 | ||
| 152 | 152 | ||
| 153 | typedef enum { |
153 | typedef enum { |
| 154 | UDEBUG_EVENT_FINISHED = 1, /**< Debuging session has finished */ |
154 | UDEBUG_EVENT_FINISHED = 1, /**< Debuging session has finished */ |
| 155 | UDEBUG_EVENT_STOP, /**< Stopped on DEBUG_STOP request */ |
155 | UDEBUG_EVENT_STOP, /**< Stopped on DEBUG_STOP request */ |
| - | 156 | UDEBUG_EVENT_SYSCALL_B, /**< Before beginning syscall execution */ |
|
| 156 | UDEBUG_EVENT_SYSCALL, /**< A syscall has been executed */ |
157 | UDEBUG_EVENT_SYSCALL_E, /**< After finishing syscall execution */ |
| 157 | UDEBUG_EVENT_NEW_THREAD /**< The task created a new thread */ |
158 | UDEBUG_EVENT_NEW_THREAD /**< The task created a new thread */ |
| 158 | } udebug_event_t; |
159 | } udebug_event_t; |
| 159 | 160 | ||
| 160 | #define UDEBUG_EVMASK(event) (1 << ((event) - 1)) |
161 | #define UDEBUG_EVMASK(event) (1 << ((event) - 1)) |
| 161 | 162 | ||
| 162 | typedef enum { |
163 | typedef enum { |
| 163 | UDEBUG_EM_FINISHED = UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED), |
164 | UDEBUG_EM_FINISHED = UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED), |
| 164 | UDEBUG_EM_STOP = UDEBUG_EVMASK(UDEBUG_EVENT_STOP), |
165 | UDEBUG_EM_STOP = UDEBUG_EVMASK(UDEBUG_EVENT_STOP), |
| - | 166 | UDEBUG_EM_SYSCALL_B = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B), |
|
| 165 | UDEBUG_EM_SYSCALL = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL), |
167 | UDEBUG_EM_SYSCALL_E = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E), |
| 166 | UDEBUG_EM_NEW_THREAD = UDEBUG_EVMASK(UDEBUG_EVENT_NEW_THREAD), |
168 | UDEBUG_EM_NEW_THREAD = UDEBUG_EVMASK(UDEBUG_EVENT_NEW_THREAD), |
| 167 | UDEBUG_EM_ALL = |
169 | UDEBUG_EM_ALL = |
| 168 | UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED) | |
170 | UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED) | |
| 169 | UDEBUG_EVMASK(UDEBUG_EVENT_STOP) | |
171 | UDEBUG_EVMASK(UDEBUG_EVENT_STOP) | |
| - | 172 | UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B) | |
|
| 170 | UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL) | |
173 | UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E) | |
| 171 | UDEBUG_EVMASK(UDEBUG_EVENT_NEW_THREAD) |
174 | UDEBUG_EVMASK(UDEBUG_EVENT_NEW_THREAD) |
| 172 | } udebug_evmask_t; |
175 | } udebug_evmask_t; |
| 173 | 176 | ||
| 174 | #ifdef KERNEL |
177 | #ifdef KERNEL |
| 175 | 178 | ||
| Line 186... | Line 189... | ||
| 186 | 189 | ||
| 187 | struct task; |
190 | struct task; |
| 188 | struct thread; |
191 | struct thread; |
| 189 | 192 | ||
| 190 | void udebug_syscall_event(unative_t a1, unative_t a2, unative_t a3, |
193 | void udebug_syscall_event(unative_t a1, unative_t a2, unative_t a3, |
| 191 | unative_t a4, unative_t a5, unative_t a6, unative_t id, unative_t rc); |
194 | unative_t a4, unative_t a5, unative_t a6, unative_t id, unative_t rc, |
| - | 195 | bool end_variant); |
|
| 192 | void udebug_new_thread_event(struct thread *t); |
196 | void udebug_new_thread_event(struct thread *t); |
| 193 | 197 | ||
| 194 | void udebug_stoppable_begin(void); |
198 | void udebug_stoppable_begin(void); |
| 195 | void udebug_stoppable_end(void); |
199 | void udebug_stoppable_end(void); |
| 196 | 200 | ||