Subversion Repositories HelenOS

Rev

Rev 2903 | Rev 2919 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2903 Rev 2918
Line 155... Line 155...
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_THREAD_B,      /**< 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_THREAD_E,      /**< A thread exited */
-
 
160
    UDEBUG_EVENT_BREAKPOINT     /**< Breakpoint instruction executed */
160
} udebug_event_t;
161
} udebug_event_t;
161
 
162
 
162
#define UDEBUG_EVMASK(event) (1 << ((event) - 1))
163
#define UDEBUG_EVMASK(event) (1 << ((event) - 1))
163
 
164
 
164
typedef enum {
165
typedef enum {
Line 166... Line 167...
166
    UDEBUG_EM_STOP      = UDEBUG_EVMASK(UDEBUG_EVENT_STOP),
167
    UDEBUG_EM_STOP      = UDEBUG_EVMASK(UDEBUG_EVENT_STOP),
167
    UDEBUG_EM_SYSCALL_B = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B),
168
    UDEBUG_EM_SYSCALL_B = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B),
168
    UDEBUG_EM_SYSCALL_E = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E),
169
    UDEBUG_EM_SYSCALL_E = UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E),
169
    UDEBUG_EM_THREAD_B  = UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_B),
170
    UDEBUG_EM_THREAD_B  = UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_B),
170
    UDEBUG_EM_THREAD_E  = UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_E),
171
    UDEBUG_EM_THREAD_E  = UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_E),
-
 
172
    UDEBUG_EM_BREAKPOINT    = UDEBUG_EVMASK(UDEBUG_EVENT_BREAKPOINT),
171
    UDEBUG_EM_ALL       =
173
    UDEBUG_EM_ALL       =
172
        UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED) |
174
        UDEBUG_EVMASK(UDEBUG_EVENT_FINISHED) |
173
        UDEBUG_EVMASK(UDEBUG_EVENT_STOP) |
175
        UDEBUG_EVMASK(UDEBUG_EVENT_STOP) |
174
        UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B) |
176
        UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_B) |
175
        UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E) |
177
        UDEBUG_EVMASK(UDEBUG_EVENT_SYSCALL_E) |
176
        UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_B) |
178
        UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_B) |
177
        UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_E)
179
        UDEBUG_EVMASK(UDEBUG_EVENT_THREAD_E) |
-
 
180
        UDEBUG_EVMASK(UDEBUG_EVENT_BREAKPOINT)
178
} udebug_evmask_t;
181
} udebug_evmask_t;
179
 
182
 
180
#ifdef KERNEL
183
#ifdef KERNEL
181
 
184
 
182
typedef enum {
185
typedef enum {
Line 201... Line 204...
201
void udebug_thread_e_event(void);
204
void udebug_thread_e_event(void);
202
 
205
 
203
void udebug_stoppable_begin(void);
206
void udebug_stoppable_begin(void);
204
void udebug_stoppable_end(void);
207
void udebug_stoppable_end(void);
205
 
208
 
-
 
209
void udebug_breakpoint_event(uintptr_t addr);
-
 
210
 
206
int udebug_task_cleanup(struct task *ta);
211
int udebug_task_cleanup(struct task *ta);
207
 
212
 
208
#endif
213
#endif
209
 
214
 
210
#endif
215
#endif