1// SPDX-License-Identifier: GPL-2.0
2static 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

source code of linux/arch/arm/mm/fsr-3level.c