Rev 2901 | Rev 2918 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2901 | Rev 2903 | ||
---|---|---|---|
Line 153... | Line 153... | ||
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_B, /**< Before beginning syscall execution */ |
157 | UDEBUG_EVENT_SYSCALL_E, /**< After finishing syscall execution */ |
157 | UDEBUG_EVENT_SYSCALL_E, /**< After finishing syscall execution */ |
158 | UDEBUG_EVENT_NEW_THREAD /**< The task created a new thread */ |
158 | UDEBUG_EVENT_THREAD_B, /**< The task created a new thread */ |
- | 159 | UDEBUG_EVENT_THREAD_E, /**< A thread exited */ |
|
159 | } udebug_event_t; |
160 | } udebug_event_t; |
160 | 161 | ||
161 | #define UDEBUG_EVMASK(event) (1 << ((event) - 1)) |
162 | #define UDEBUG_EVMASK(event) (1 << ((event) - 1)) |
162 | 163 | ||
163 | typedef enum { |
164 | typedef enum { |
164 | UDEBUG_EM_FINISHED = UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED), |
165 | UDEBUG_EM_FINISHED = UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED), |
165 | UDEBUG_EM_STOP = UDEBUG_EVMASK(UDEBUG_EVENT_STOP), |
166 | UDEBUG_EM_STOP = UDEBUG_EVMASK(UDEBUG_EVENT_STOP), |
166 | UDEBUG_EM_SYSCALL_B = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B), |
167 | UDEBUG_EM_SYSCALL_B = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B), |
167 | UDEBUG_EM_SYSCALL_E = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E), |
168 | UDEBUG_EM_SYSCALL_E = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E), |
- | 169 | UDEBUG_EM_THREAD_B = UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_B), |
|
168 | UDEBUG_EM_NEW_THREAD = UDEBUG_EVMASK(UDEBUG_EVENT_NEW_THREAD), |
170 | UDEBUG_EM_THREAD_E = UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_E), |
169 | UDEBUG_EM_ALL = |
171 | UDEBUG_EM_ALL = |
170 | UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED) | |
172 | UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED) | |
171 | UDEBUG_EVMASK(UDEBUG_EVENT_STOP) | |
173 | UDEBUG_EVMASK(UDEBUG_EVENT_STOP) | |
172 | UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B) | |
174 | UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B) | |
173 | UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E) | |
175 | UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E) | |
- | 176 | UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_B) | |
|
174 | UDEBUG_EVMASK(UDEBUG_EVENT_NEW_THREAD) |
177 | UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_E) |
175 | } udebug_evmask_t; |
178 | } udebug_evmask_t; |
176 | 179 | ||
177 | #ifdef KERNEL |
180 | #ifdef KERNEL |
178 | 181 | ||
179 | typedef enum { |
182 | typedef enum { |
Line 191... | Line 194... | ||
191 | struct thread; |
194 | struct thread; |
192 | 195 | ||
193 | void udebug_syscall_event(unative_t a1, unative_t a2, unative_t a3, |
196 | void udebug_syscall_event(unative_t a1, unative_t a2, unative_t a3, |
194 | unative_t a4, unative_t a5, unative_t a6, unative_t id, unative_t rc, |
197 | unative_t a4, unative_t a5, unative_t a6, unative_t id, unative_t rc, |
195 | bool end_variant); |
198 | bool end_variant); |
- | 199 | ||
196 | void udebug_new_thread_event(struct thread *t); |
200 | void udebug_thread_b_event(struct thread *t); |
- | 201 | void udebug_thread_e_event(void); |
|
197 | 202 | ||
198 | void udebug_stoppable_begin(void); |
203 | void udebug_stoppable_begin(void); |
199 | void udebug_stoppable_end(void); |
204 | void udebug_stoppable_end(void); |
200 | 205 | ||
201 | int udebug_task_cleanup(struct task *ta); |
206 | int udebug_task_cleanup(struct task *ta); |