Subversion Repositories HelenOS

Rev

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