Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 613 → Rev 614

/kernel/trunk/arch/mips32/src/exception.c
39,6 → 39,7
#include <interrupt.h>
#include <func.h>
#include <console/kconsole.h>
#include <arch/debugger.h>
 
static char * exctable[] = {
"Interrupt","TLB Modified","TLB Invalid","TLB Invalid Store",
87,21 → 88,15
static void breakpoint_exception(int n, void *data)
{
struct exception_regdump *pstate = (struct exception_regdump *)data;
char *symbol = get_symtab_entry(pstate->epc);
 
#ifdef CONFIG_DEBUG
printf("***Breakpoint %p in %s.\n", pstate->epc, symbol);
printf("***Type 'exit' to exit kconsole.\n");
/* Umm..we should rather set some 'debugstate' here */
haltstate = 1;
kconsole("debug");
haltstate = 0;
#endif
 
#ifdef CONFIG_DEBUG
debugger_bpoint(pstate);
#else
/* it is necessary to not re-execute BREAK instruction after
returning from Exception handler
(see page 138 in R4000 Manual for more information) */
pstate->epc += 4;
#endif
}
 
static void tlbmod_exception(int n, void *data)