48,10 → 48,11 |
static void cmd_break(int argc, char *argv[]); |
static void cmd_ct(int argc, char *argv[]); |
static void cmd_go(int argc, char *argv[]); |
static void cmd_istep(int argc, char *argv[]); |
void cmd_help(int argc, char *argv[]); |
static void cmd_pwt(int argc, char *argv[]); |
static void cmd_read(int argc, char *argv[]); |
static void cmd_step(int argc, char *argv[]); |
static void cmd_stop(int argc, char *argv[]); |
static void cmd_threads(int argc, char *argv[]); |
static void cmd_quit(int argc, char *argv[]); |
|
64,6 → 65,8 |
{ 0, "help", cmd_help }, |
{ 0, "pwt", cmd_pwt }, |
{ 2, "read", cmd_read }, |
{ 0 , "stop", cmd_stop }, |
{ 0, "istep", cmd_istep }, |
{ 0, "threads", cmd_threads }, |
{ 0, "quit", cmd_quit }, |
{ -1, NULL, NULL } |
108,7 → 111,16 |
|
void cmd_go(int argc, char *argv[]) |
{ |
fcv_broadcast(&go_cv); |
link_t *cur; |
dthread_t *dt; |
|
(void)argc; (void)argv; |
|
dt = NULL; |
for (cur = dthreads.next; cur != &dthreads; cur = cur->next) { |
dt = list_get_instance(cur, dthread_t, link); |
dthread_resume(dt); |
} |
} |
|
void cmd_help(int argc, char *argv[]) |
123,6 → 135,19 |
} |
} |
|
void cmd_istep(int argc, char *argv[]) |
{ |
(void)argc; (void)argv; |
/*TODO*/ |
} |
|
void cmd_pwt(int argc, char *argv[]) |
{ |
(void)argc; (void)argv; |
|
cons_printf("working thread: %d [hash 0x%x]\n", cwt->id, cwt->hash); |
} |
|
#define BYTES_PER_LINE 16 |
|
static void cmd_read(int argc, char *argv[]) |
169,18 → 194,29 |
} |
} |
|
void cmd_step(int argc, char *argv[]) |
|
|
void cmd_stop(int argc, char *argv[]) |
{ |
fcv_broadcast(&go_cv); |
} |
link_t *cur; |
dthread_t *dt; |
int rc; |
|
void cmd_pwt(int argc, char *argv[]) |
{ |
(void)argc; (void)argv; |
|
cons_printf("working thread: %d [hash 0x%x]\n", cwt->id, cwt->hash); |
dt = NULL; |
for (cur = dthreads.next; cur != &dthreads; cur = cur->next) { |
dt = list_get_instance(cur, dthread_t, link); |
if (!dt->stopped) { |
rc = udebug_stop(app_phone, dt->hash); |
if (rc < 0) { |
printf("failed halting thread %d\n", dt->id); |
} |
} |
} |
} |
|
|
void cmd_threads(int argc, char *argv[]) |
{ |
link_t *cur; |