2011-11-23 01:30:31 +08:00
|
|
|
static struct fsr_info fsr_info[] = {
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 0" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 1" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 2" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 3" },
|
|
|
|
{ do_bad, SIGBUS, 0, "reserved translation fault" },
|
|
|
|
{ do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 1 translation fault" },
|
|
|
|
{ do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 2 translation fault" },
|
|
|
|
{ do_page_fault, SIGSEGV, SEGV_MAPERR, "level 3 translation fault" },
|
|
|
|
{ do_bad, SIGBUS, 0, "reserved access flag fault" },
|
|
|
|
{ do_bad, SIGSEGV, SEGV_ACCERR, "level 1 access flag fault" },
|
|
|
|
{ do_bad, SIGSEGV, SEGV_ACCERR, "level 2 access flag fault" },
|
|
|
|
{ do_page_fault, SIGSEGV, SEGV_ACCERR, "level 3 access flag fault" },
|
|
|
|
{ do_bad, SIGBUS, 0, "reserved permission fault" },
|
|
|
|
{ do_bad, SIGSEGV, SEGV_ACCERR, "level 1 permission fault" },
|
2012-07-25 21:32:38 +08:00
|
|
|
{ do_page_fault, SIGSEGV, SEGV_ACCERR, "level 2 permission fault" },
|
2011-11-23 01:30:31 +08:00
|
|
|
{ do_page_fault, SIGSEGV, SEGV_ACCERR, "level 3 permission fault" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous external abort" },
|
|
|
|
{ do_bad, SIGBUS, 0, "asynchronous external abort" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 18" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 19" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous abort (translation table walk)" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous abort (translation table walk)" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous abort (translation table walk)" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous abort (translation table walk)" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous parity error" },
|
|
|
|
{ do_bad, SIGBUS, 0, "asynchronous parity error" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 26" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 27" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" },
|
|
|
|
{ do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 32" },
|
|
|
|
{ do_bad, SIGBUS, BUS_ADRALN, "alignment fault" },
|
|
|
|
{ do_bad, SIGBUS, 0, "debug event" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 35" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 36" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 37" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 38" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 39" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 40" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 41" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 42" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 43" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 44" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 45" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 46" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 47" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 48" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 49" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 50" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 51" },
|
|
|
|
{ do_bad, SIGBUS, 0, "implementation fault (lockdown abort)" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 53" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 54" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 55" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 56" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 57" },
|
|
|
|
{ do_bad, SIGBUS, 0, "implementation fault (coprocessor abort)" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 59" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 60" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 61" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 62" },
|
|
|
|
{ do_bad, SIGBUS, 0, "unknown 63" },
|
|
|
|
};
|
|
|
|
|
|
|
|
#define ifsr_info fsr_info
|