1 // SPDX-License-Identifier: GPL-2.0 2 static struct fsr_info fsr_info[] = { 3 { do_bad, SIGBUS, 0, "unknown 0" }, 4 { do_bad, SIGBUS, 0, "unknown 1" }, 5 { do_bad, SIGBUS, 0, "unknown 2" }, 6 { do_bad, SIGBUS, 0, "unknown 3" }, 7 { do_bad, SIGBUS, 0, "reserved translation fault" }, 8 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 1 translation fault" }, 9 { do_translation_fault, SIGSEGV, SEGV_MAPERR, "level 2 translation fault" }, 10 { do_page_fault, SIGSEGV, SEGV_MAPERR, "level 3 translation fault" }, 11 { do_bad, SIGBUS, 0, "reserved access flag fault" }, 12 { do_bad, SIGSEGV, SEGV_ACCERR, "level 1 access flag fault" }, 13 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 2 access flag fault" }, 14 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 3 access flag fault" }, 15 { do_bad, SIGBUS, 0, "reserved permission fault" }, 16 { do_bad, SIGSEGV, SEGV_ACCERR, "level 1 permission fault" }, 17 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 2 permission fault" }, 18 { do_page_fault, SIGSEGV, SEGV_ACCERR, "level 3 permission fault" }, 19 { do_bad, SIGBUS, 0, "synchronous external abort" }, 20 { do_bad, SIGBUS, 0, "asynchronous external abort" }, 21 { do_bad, SIGBUS, 0, "unknown 18" }, 22 { do_bad, SIGBUS, 0, "unknown 19" }, 23 { do_bad, SIGBUS, 0, "synchronous abort (translation table walk)" }, 24 { do_bad, SIGBUS, 0, "synchronous abort (translation table walk)" }, 25 { do_bad, SIGBUS, 0, "synchronous abort (translation table walk)" }, 26 { do_bad, SIGBUS, 0, "synchronous abort (translation table walk)" }, 27 { do_bad, SIGBUS, 0, "synchronous parity error" }, 28 { do_bad, SIGBUS, 0, "asynchronous parity error" }, 29 { do_bad, SIGBUS, 0, "unknown 26" }, 30 { do_bad, SIGBUS, 0, "unknown 27" }, 31 { do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" }, 32 { do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" }, 33 { do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" }, 34 { do_bad, SIGBUS, 0, "synchronous parity error (translation table walk" }, 35 { do_bad, SIGBUS, 0, "unknown 32" }, 36 { do_bad, SIGBUS, BUS_ADRALN, "alignment fault" }, 37 { do_bad, SIGBUS, 0, "debug event" }, 38 { do_bad, SIGBUS, 0, "unknown 35" }, 39 { do_bad, SIGBUS, 0, "unknown 36" }, 40 { do_bad, SIGBUS, 0, "unknown 37" }, 41 { do_bad, SIGBUS, 0, "unknown 38" }, 42 { do_bad, SIGBUS, 0, "unknown 39" }, 43 { do_bad, SIGBUS, 0, "unknown 40" }, 44 { do_bad, SIGBUS, 0, "unknown 41" }, 45 { do_bad, SIGBUS, 0, "unknown 42" }, 46 { do_bad, SIGBUS, 0, "unknown 43" }, 47 { do_bad, SIGBUS, 0, "unknown 44" }, 48 { do_bad, SIGBUS, 0, "unknown 45" }, 49 { do_bad, SIGBUS, 0, "unknown 46" }, 50 { do_bad, SIGBUS, 0, "unknown 47" }, 51 { do_bad, SIGBUS, 0, "unknown 48" }, 52 { do_bad, SIGBUS, 0, "unknown 49" }, 53 { do_bad, SIGBUS, 0, "unknown 50" }, 54 { do_bad, SIGBUS, 0, "unknown 51" }, 55 { do_bad, SIGBUS, 0, "implementation fault (lockdown abort)" }, 56 { do_bad, SIGBUS, 0, "unknown 53" }, 57 { do_bad, SIGBUS, 0, "unknown 54" }, 58 { do_bad, SIGBUS, 0, "unknown 55" }, 59 { do_bad, SIGBUS, 0, "unknown 56" }, 60 { do_bad, SIGBUS, 0, "unknown 57" }, 61 { do_bad, SIGBUS, 0, "implementation fault (coprocessor abort)" }, 62 { do_bad, SIGBUS, 0, "unknown 59" }, 63 { do_bad, SIGBUS, 0, "unknown 60" }, 64 { do_bad, SIGBUS, 0, "unknown 61" }, 65 { do_bad, SIGBUS, 0, "unknown 62" }, 66 { do_bad, SIGBUS, 0, "unknown 63" }, 67 }; 68 69 #define ifsr_info fsr_info 70