37,7 → 37,6 |
#include <memstr.h> |
#include <console/kconsole.h> |
#include <console/cmd.h> |
#include <symtab.h> |
#include <print.h> |
#include <panic.h> |
#include <arch.h> |
44,6 → 43,10 |
#include <arch/cp0.h> |
#include <func.h> |
|
#ifdef CONFIG_SYMTAB |
#include <symtab.h> |
#endif |
|
bpinfo_t breakpoints[BKPOINTS_MAX]; |
SPINLOCK_INITIALIZE(bkpoint_lock); |
|
259,7 → 262,11 |
|
for (i = 0; i < BKPOINTS_MAX; i++) |
if (breakpoints[i].address) { |
#ifdef CONFIG_SYMTAB |
symbol = get_symtab_entry(breakpoints[i].address); |
#else |
symbol = "n/a"; |
#endif |
|
printf("%-2u %-5d %#10zx %-6s %-7s %-8s %s\n", i, |
breakpoints[i].counter, breakpoints[i].address, |
348,9 → 355,14 |
if (cur->flags & BKPOINT_INPROG) |
printf("Warning: breakpoint recursion\n"); |
|
if (!(cur->flags & BKPOINT_FUNCCALL)) |
if (!(cur->flags & BKPOINT_FUNCCALL)) { |
#ifdef CONFIG_SYMTAB |
printf("***Breakpoint %d: %p in %s.\n", i, fireaddr, |
get_symtab_entry(istate->epc)); |
#else |
printf("***Breakpoint %d: %p.\n", i, fireaddr); |
#endif |
} |
|
/* Return first instruction back */ |
((uint32_t *)cur->address)[0] = cur->instruction; |
363,8 → 375,12 |
} |
cur->flags |= BKPOINT_INPROG; |
} else { |
printf("***Breakpoint %p in %s.\n", fireaddr, |
#ifdef CONFIG_SYMTAB |
printf("***Breakpoint %p in %s.\n", fireaddr, |
get_symtab_entry(fireaddr)); |
#else |
printf("***Breakpoint %p.\n", fireaddr); |
#endif |
/* Move on to next instruction */ |
istate->epc += 4; |
} |