Rev 4342 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4342 | Rev 4343 | ||
---|---|---|---|
Line 62... | Line 62... | ||
62 | .description = "Print breakpoint table.", |
62 | .description = "Print breakpoint table.", |
63 | .func = cmd_print_breakpoints, |
63 | .func = cmd_print_breakpoints, |
64 | .argc = 0, |
64 | .argc = 0, |
65 | }; |
65 | }; |
66 | 66 | ||
67 | #ifndef CONFIG_DEBUG_AS_WATCHPOINT |
- | |
68 | - | ||
69 | static int cmd_del_breakpoint(cmd_arg_t *argv); |
67 | static int cmd_del_breakpoint(cmd_arg_t *argv); |
70 | static cmd_arg_t del_argv = { |
68 | static cmd_arg_t del_argv = { |
71 | .type = ARG_TYPE_INT |
69 | .type = ARG_TYPE_INT |
72 | }; |
70 | }; |
73 | static cmd_info_t delbkpt_info = { |
71 | static cmd_info_t delbkpt_info = { |
Line 99... | Line 97... | ||
99 | .func = cmd_add_breakpoint, |
97 | .func = cmd_add_breakpoint, |
100 | .argc = 1, |
98 | .argc = 1, |
101 | .argv = &addw_argv |
99 | .argv = &addw_argv |
102 | }; |
100 | }; |
103 | 101 | ||
104 | #endif /* CONFIG_DEBUG_AS_WATCHPOINT */ |
- | |
105 | #endif /* CONFIG_KCONSOLE */ |
102 | #endif /* CONFIG_KCONSOLE */ |
106 | 103 | ||
107 | /* Setup DR register according to table */ |
104 | /* Setup DR register according to table */ |
108 | static void setup_dr(int curidx) |
105 | static void setup_dr(int curidx) |
109 | { |
106 | { |
Line 318... | Line 315... | ||
318 | #ifdef CONFIG_KCONSOLE |
315 | #ifdef CONFIG_KCONSOLE |
319 | cmd_initialize(&bkpts_info); |
316 | cmd_initialize(&bkpts_info); |
320 | if (!cmd_register(&bkpts_info)) |
317 | if (!cmd_register(&bkpts_info)) |
321 | printf("Cannot register command %s\n", bkpts_info.name); |
318 | printf("Cannot register command %s\n", bkpts_info.name); |
322 | 319 | ||
323 | #ifndef CONFIG_DEBUG_AS_WATCHPOINT |
- | |
324 | cmd_initialize(&delbkpt_info); |
320 | cmd_initialize(&delbkpt_info); |
325 | if (!cmd_register(&delbkpt_info)) |
321 | if (!cmd_register(&delbkpt_info)) |
326 | printf("Cannot register command %s\n", delbkpt_info.name); |
322 | printf("Cannot register command %s\n", delbkpt_info.name); |
327 | 323 | ||
328 | cmd_initialize(&addbkpt_info); |
324 | cmd_initialize(&addbkpt_info); |
Line 330... | Line 326... | ||
330 | printf("Cannot register command %s\n", addbkpt_info.name); |
326 | printf("Cannot register command %s\n", addbkpt_info.name); |
331 | 327 | ||
332 | cmd_initialize(&addwatchp_info); |
328 | cmd_initialize(&addwatchp_info); |
333 | if (!cmd_register(&addwatchp_info)) |
329 | if (!cmd_register(&addwatchp_info)) |
334 | printf("Cannot register command %s\n", addwatchp_info.name); |
330 | printf("Cannot register command %s\n", addwatchp_info.name); |
335 | #endif /* CONFIG_DEBUG_AS_WATCHPOINT */ |
- | |
336 | #endif /* CONFIG_KCONSOLE */ |
331 | #endif /* CONFIG_KCONSOLE */ |
337 | 332 | ||
338 | exc_register(VECTOR_DEBUG, "debugger", debug_exception); |
333 | exc_register(VECTOR_DEBUG, "debugger", debug_exception); |
339 | #ifdef CONFIG_SMP |
334 | #ifdef CONFIG_SMP |
340 | exc_register(VECTOR_DEBUG_IPI, "debugger_smp", debug_ipi); |
335 | exc_register(VECTOR_DEBUG_IPI, "debugger_smp", debug_ipi); |
Line 376... | Line 371... | ||
376 | 371 | ||
377 | } |
372 | } |
378 | return 1; |
373 | return 1; |
379 | } |
374 | } |
380 | 375 | ||
381 | #ifndef CONFIG_DEBUG_AS_WATCHPOINT |
- | |
382 | - | ||
383 | /** Remove breakpoint from table */ |
376 | /** Remove breakpoint from table */ |
384 | int cmd_del_breakpoint(cmd_arg_t *argv) |
377 | int cmd_del_breakpoint(cmd_arg_t *argv) |
385 | { |
378 | { |
386 | unative_t bpno = argv->intval; |
379 | unative_t bpno = argv->intval; |
387 | if (bpno > BKPOINTS_MAX) { |
380 | if (bpno > BKPOINTS_MAX) { |
Line 410... | Line 403... | ||
410 | else |
403 | else |
411 | printf("Added breakpoint %d.\n", id); |
404 | printf("Added breakpoint %d.\n", id); |
412 | 405 | ||
413 | return 1; |
406 | return 1; |
414 | } |
407 | } |
415 | #endif /* CONFIG_DEBUG_AS_WATCHPOINT */ |
- | |
416 | #endif /* CONFIG_KCONSOLE */ |
408 | #endif /* CONFIG_KCONSOLE */ |
417 | 409 | ||
418 | /** @} |
410 | /** @} |
419 | */ |
411 | */ |