/trunk/kernel/arch/mips32/src/exception.c |
---|
46,10 → 46,7 |
#include <func.h> |
#include <ddi/irq.h> |
#include <arch/debugger.h> |
#ifdef CONFIG_SYMTAB |
#include <symtab.h> |
#endif |
static char * exctable[] = { |
"Interrupt", |
76,19 → 73,13 |
static void print_regdump(istate_t *istate) |
{ |
char *pcsymbol = ""; |
char *rasymbol = ""; |
char *pcsymbol, *rasymbol; |
#ifdef CONFIG_SYMTAB |
char *s = get_symtab_entry(istate->epc); |
if (s) |
pcsymbol = s; |
s = get_symtab_entry(istate->ra); |
if (s) |
rasymbol = s; |
#endif |
printf("PC: %#x(%s) RA: %#x(%s), SP(%p)\n", istate->epc, pcsymbol, istate->ra, rasymbol, istate->sp); |
pcsymbol = symtab_fmt_name_lookup(istate->epc); |
rasymbol = symtab_fmt_name_lookup(istate->ra); |
printf("PC: %#x(%s) RA: %#x(%s), SP(%p)\n", istate->epc, pcsymbol, |
istate->ra, rasymbol, istate->sp); |
} |
static void unhandled_exception(int n, istate_t *istate) |
/trunk/kernel/arch/mips32/src/debugger.c |
---|
42,10 → 42,7 |
#include <arch.h> |
#include <arch/cp0.h> |
#include <func.h> |
#ifdef CONFIG_SYMTAB |
#include <symtab.h> |
#endif |
bpinfo_t breakpoints[BKPOINTS_MAX]; |
SPINLOCK_INITIALIZE(bkpoint_lock); |
262,12 → 259,9 |
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 |
symbol = symtab_fmt_name_lookup( |
breakpoints[i].address); |
printf("%-2u %-5d %#10zx %-6s %-7s %-8s %s\n", i, |
breakpoints[i].counter, breakpoints[i].address, |
((breakpoints[i].flags & BKPOINT_INPROG) ? "true" : |
356,12 → 350,8 |
printf("Warning: breakpoint recursion\n"); |
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 |
symtab_fmt_name_lookup(istate->epc)); |
} |
/* Return first instruction back */ |
375,12 → 365,9 |
} |
cur->flags |= BKPOINT_INPROG; |
} else { |
#ifdef CONFIG_SYMTAB |
printf("***Breakpoint %p in %s.\n", fireaddr, |
get_symtab_entry(fireaddr)); |
#else |
printf("***Breakpoint %p.\n", fireaddr); |
#endif |
printf("***Breakpoint %d: %p in %s.\n", i, fireaddr, |
symtab_fmt_name_lookup(fireaddr)); |
/* Move on to next instruction */ |
istate->epc += 4; |
} |
/trunk/kernel/arch/mips32/src/mm/tlb.c |
---|
45,10 → 45,7 |
#include <debug.h> |
#include <align.h> |
#include <interrupt.h> |
#ifdef CONFIG_SYMTAB |
#include <symtab.h> |
#endif |
static void tlb_refill_fail(istate_t *); |
static void tlb_invalid_fail(istate_t *); |
323,21 → 320,14 |
void tlb_refill_fail(istate_t *istate) |
{ |
char *symbol = ""; |
char *sym2 = ""; |
char *symbol, *sym2; |
#ifdef CONFIG_SYMTAB |
char *s = get_symtab_entry(istate->epc); |
if (s) |
symbol = s; |
s = get_symtab_entry(istate->ra); |
if (s) |
sym2 = s; |
#endif |
symbol = symtab_fmt_name_lookup(istate->epc); |
sym2 = symtab_fmt_name_lookup(istate->ra); |
fault_if_from_uspace(istate, "TLB Refill Exception on %p.", |
cp0_badvaddr_read()); |
panic("%x: TLB Refill Exception at %x(%s<-%s).", cp0_badvaddr_read(), |
panic("%x: TLB Refill Exception at %x (%s<-%s).", cp0_badvaddr_read(), |
istate->epc, symbol, sym2); |
} |
344,33 → 334,25 |
void tlb_invalid_fail(istate_t *istate) |
{ |
char *symbol = ""; |
char *symbol; |
#ifdef CONFIG_SYMTAB |
char *s = get_symtab_entry(istate->epc); |
if (s) |
symbol = s; |
#endif |
symbol = symtab_fmt_name_lookup(istate->epc); |
fault_if_from_uspace(istate, "TLB Invalid Exception on %p.", |
cp0_badvaddr_read()); |
panic("%x: TLB Invalid Exception at %x(%s).", cp0_badvaddr_read(), |
panic("%x: TLB Invalid Exception at %x (%s).", cp0_badvaddr_read(), |
istate->epc, symbol); |
} |
void tlb_modified_fail(istate_t *istate) |
{ |
char *symbol = ""; |
char *symbol; |
#ifdef CONFIG_SYMTAB |
char *s = get_symtab_entry(istate->epc); |
if (s) |
symbol = s; |
#endif |
symbol = symtab_fmt_name_lookup(istate->epc); |
fault_if_from_uspace(istate, "TLB Modified Exception on %p.", |
cp0_badvaddr_read()); |
panic("%x: TLB Modified Exception at %x(%s).", cp0_badvaddr_read(), |
panic("%x: TLB Modified Exception at %x (%s).", cp0_badvaddr_read(), |
istate->epc, symbol); |
} |