39,22 → 39,12 |
#include <arch/asm.h> |
#include <debug.h> |
#include <typedefs.h> |
#include <symtab.h> |
#include <print.h> |
|
void dump_istate(istate_t *istate) |
{ |
printf("TSTATE=%#llx\n", istate->tstate); |
printf("TPC=%#llx (%s)\n", istate->tpc, get_symtab_entry(istate->tpc)); |
printf("TNPC=%#llx (%s)\n", istate->tnpc, get_symtab_entry(istate->tnpc)); |
} |
|
/** Handle instruction_access_exception. (0x8) */ |
void instruction_access_exception(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s at %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** Handle instruction_access_error. (0xa) */ |
61,8 → 51,7 |
void instruction_access_error(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s at %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** Handle illegal_instruction. (0x10) */ |
69,8 → 58,7 |
void illegal_instruction(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s at %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** Handle privileged_opcode. (0x11) */ |
77,8 → 65,7 |
void privileged_opcode(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s at %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** Handle division_by_zero. (0x28) */ |
85,8 → 72,7 |
void division_by_zero(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s at %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** Handle data_access_exception. (0x30) */ |
93,8 → 79,7 |
void data_access_exception(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s from %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** Handle data_access_error. (0x32) */ |
101,8 → 86,7 |
void data_access_error(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s from %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** Handle mem_address_not_aligned. (0x34) */ |
109,8 → 93,7 |
void mem_address_not_aligned(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s from %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** Handle privileged_action. (0x37) */ |
117,8 → 100,7 |
void privileged_action(int n, istate_t *istate) |
{ |
fault_if_from_uspace(istate, "%s\n", __FUNCTION__); |
dump_istate(istate); |
panic("%s\n", __FUNCTION__); |
panic("%s at %p.\n", __FUNCTION__, istate->tpc); |
} |
|
/** @} |