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 | |